Scoping out the code

Here’s how it’ll work:

  • Main menu for starting a new game or loading a game, possibly for adjusting options
  • Pause menu for saving your game and exiting
  • “Cinematic” screen for the “here take this!” and possibly other interludes (like YOU WIN or YOU DIE), sometimes with text at the bottom that allows you to say “yes” or “no”
  • Randomly generated main play tile area with grass, stone, river, lakes, trees, plants. Should be pretty big. Scrolls as you move around like the SNES zelda
  • Tiles can have objects on top of them such as entities or objects
  • Entities can carry objects
  • Entities can place carried objects on the tile in front of them
  • Entities can move in 4 directions and play a simple move animation
  • Entities can play other simple animations consisting of a few frames
  • A HUD displays resources (plus drains) and the current king’s quest and the day and time of day
  • Entities can attack, attacked things get hurt until they die
  • Upon death, the entity changes to an object or goes away
  • Upon the death of an object, the object can change to one of any random number of things, or can be impervious, or go away, or can change to something that depends on who hit it or what weapon they were using when they hit it
  • Entities need behavior tracking (simple state machine prob?), pathing (A* plus steering?)
  • Some kind of director to spawn resources and enemies and wild animals and friendlies
  • You need a simple set of tools (weapons, building tools) that you can switch between
  • Projectiles (for archers/hunters)?