(May 2023) Monthly WIP Screenshot Thread

Clean separation between game mechanics and graphics …

Each screenshot was captured from a different version of the Fuze Creek Game:

  1. FCConsole, which renders the game using “ASCII graphics” (very retro!)
  2. FC2D, using top-down 2-D graphics
  3. FC3D, which renders the game in 3-D with perspective, shading, animated clouds, reflective water, animated ripples, and fog

Note: all 3 games are in the exact same state.

Isolating game mechanics from graphics (i.e., the scene graph) has many advantages:

  1. Mechanics and graphics can be debugged independently.
  2. It simplifies saving/restoring game state at runtime.
  3. State updates can be asynchronous: they need not take place on the render thread.
  4. It simplifies implementing multiple views, such as for a mini map or radar display.
  5. It simplifies conversion to a client-server and/or multi-player game.
  6. It simplifies porting games between engines.