[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)