[HN Gopher] Foundations of Game Engine Development
___________________________________________________________________
Foundations of Game Engine Development
Author : cpp_frog
Score : 23 points
Date : 2022-05-18 20:49 UTC (2 hours ago)
(HTM) web link (foundationsofgameenginedev.com)
(TXT) w3m dump (foundationsofgameenginedev.com)
| Animats wrote:
| There's plenty of material on those topics already. In fact,
| another big book about graphics was discussed on HN yesterday.
|
| The areas where we need new books relate to multi-user games and
| scaling. How do you build a really big world? How do you manage
| terabytes, or even petabytes, of remotely stored content? How do
| you deal with client/server lag? How do you deal with content
| loading during fast motion? How do you do automated level of
| detail generation and impostoring? In worlds with user-generated
| content, how do you do quality control? How do you deal with
| overload due to excessively detailed content? How do you make a
| modern layered clothing system? How do you deal with too many
| players in the same area?
| _gabe_ wrote:
| There is plenty of material on this topic already, and as other
| people pointed out the topics that you've mentioned would
| require some very specific experience that likely only a
| handful of people around the world have.
|
| It's great to have a plethora of authors to choose from though,
| even when it comes to foundational material. For instance, I
| would have never learned as much as I have about programming
| language design and implementation if Bob Nystrom hadn't
| written crafting interpreters. There's plenty of material
| already about the foundations of programming language design,
| but he wrote the book anyways and I'm very glad he did.
|
| I like going through foundational material in these types of
| books even if I'm already familiar with a lot of it. Most of
| the time I'll find a couple of nuggets of information that I
| never knew about before. So I agree that specialty books would
| be amazing, but I disagree about the notion that we don't need
| anymore books about the fundamentals.
| upupandup wrote:
| Networking falls outside the typical game engine. A game engine
| is largely rendering, physics, controls. The questions you are
| asking is largely design related and solved by existing
| networking state tools. Most of which is proprietary or require
| expertise in networking domain. Seems like your question is
| more of "How do I build an MMO" which is almost certainly a
| solution looking for a problem.
| Animats wrote:
| _Networking falls outside the typical game engine._
|
| The major game engines include networking.
|
| * Unreal Engine, networking section, documentation.[1]
|
| * Unity game engine, networking section, documentation.[2]
|
| My own interest is in metaverse systems, with big, detailed,
| free-play worlds. Wrangling all that content presents a set
| of problems that are not well solved yet. Which is why the
| highly publicized metaverses look so much worse than a
| typical AAA title. They haven't solved content wrangling, so
| they have to limit content complexity so severely it looks
| like 1995. I'm plugging away on that problem. (Demo video:
| [3]). It seems to be quite solveable, but there's not much
| written on the subject and I'm having to re-invent too much.
|
| [1] https://docs.unrealengine.com/5.0/en-US/networking-and-
| multi...
|
| [2] https://docs.unity3d.com/Manual/UNet.html
|
| [3] https://video.hardlimit.com/w/peBesyAgtzfRWS5FnDQQtn
| 2pEXgD0fZ5cF wrote:
| The "big ones" like Unity, Cryengine, Unreal etc. include
| many many things. They are absolutely huge compared to what
| a single game using them actually needs. A game engine is
| just that: an engine for games to run on to seperate engine
| and gameplay programming.
|
| If your team decides to create singleplayer game(s), and
| your own engine as a platform for it, then building full
| networking and netcode into that would be out of scope.
| That would still be a game engine nonetheless.
|
| Can the term _game engine_ include networking? Absolutely.
| Does _game engine_ inherently imply networking? No, I don
| 't think so.
| pphysch wrote:
| Agreed, spending what appear to be 1000+ pages of "foundations"
| before covering networking (if at all) seems to be missing the
| point about what game engine development is in 202X.
|
| Seems like a more germane title would be "foundations of real-
| time 3D physics simulation".
| evilturnip wrote:
| There are a lot fewer people with this expertise, and of those,
| that can communicate it well and have the time to write a book
| I'm sure makes them a relatively small group of people. They
| probably mostly work in AAA studios, since only they have the
| scale and money to encounter and tackle these problems. I do
| wish more of them would, however.
|
| Someone like Pat Wyatt comes to mind:
|
| https://www.youtube.com/watch?v=1faaOrtHJ-A
| gabereiser wrote:
| Huge fan of Eric. I've had several of his books on the shelf over
| the years. His old game engine (C4) was impressive and gave me
| something to aspire to. The architecture was well thought out.
| The math was on point. The performance was good.
|
| I would echo other comments that these subjects have been written
| about ad nauseum. What we, the indy dev community, and engineers
| here would like to see is how to achieve Multiplayer scaling,
| solving state issues, sharing state. Network architectures beyond
| the lobby. Sound architectures beyond the 3D Listener with
| Doppler effect. Graphics architectures for polished rendering
| pipelines in PBR.
|
| Math for games is great. Graphics for games is great. We need
| more meat though.
|
| One of the books on my shelf right now is Game Engine
| Architecture 2nd ed by Jason Gregory (which is excellent, btw)
| that goes into the surface of this stuff.
|
| I don't want a world where our only choices are Unity, Unreal, or
| some small engine. I don't want a world where one company owns
| the experience (Meta, VR). I don't want a world where every
| operating system has their own graphics framework (damn,
| MetalVulkanicDirectGL?).
|
| I still have nothing but love for Eric and will probably buy
| these for the support. Sadly my interest in graphics programing
| died with Apple deprecating OpenGL and introducing Metal.
| armchairhacker wrote:
| 5 - Animation
|
| 6 - AI
|
| 7 - Networking
|
| 8 - Networking (real-time synchronization)
|
| 9 - Networking (many users)
|
| 10 - Serialization and asset management
|
| 11 - GUI and settings
|
| 12 - Custom in-editor tools
|
| 13 - Optimization part 1
|
| 14 - Optimization part 2
|
| 15 - More rendering
|
| 16 - More AI
|
| 17 - ???
|
| You have a lot more 200-page books to go. Also this is just game
| development, you also need design, publishing, promoting, legal,
| etc.
| minsc_and_boo wrote:
| This appears to be good for a game engine, but is there any good
| literature on game design?
| EamonnMR wrote:
| Garfield, Elias, and Gutschera's Characteristics Of Games is a
| good foundation.
| juice_bus wrote:
| I've lost count of how many times I've eagerly started a new game
| engine project - yet I still haven't learned how absolutely
| gargantuan that kind of project is.
| edapiieaway wrote:
| extrememacaroni wrote:
| I have the two books currently sitting next to me. They're very
| very in-depth and math focused (well that's sort of expected for
| the mathematics book at least) - you might want to also look at
| some more lightweight and "fun" tutorials for rendering and going
| in-depth with the rendering book in parallel.
| OnionBlender wrote:
| Is there an ETA for Volume 3? Seems weird to post this on HN if
| there is nothing new since the 2nd volume was published in 2019.
___________________________________________________________________
(page generated 2022-05-18 23:01 UTC)