Skip to content

TODO list

garrison hinson-hasty edited this page May 31, 2021 · 16 revisions

first priorities

  • first drafts of systems
    • natural world
      • agriculture
    • tools
      • block breaking, holding, placing
  • procedural generation
    • as concrete as possible
      • no "biome" artificial construct, things should be gradients
        • different blocks are generated at different temperature/moisture/??? values
        • temperature
        • moisture
          • water would require some kind of fluid simulation, maybe model off of dwarf fortress?
          • ground moisture for plants
      • natural features
        • multi-block objects
          • though it is a voxel system, not everything should be a voxel - think large rocks, trees that fall down when cut, etc
  • smart entities
    • hierarchical state machines are probably the way to go for AI

second priorities and maybes

  • gui + interactivity
    • kind of bundled into one. a goal for this project is avoiding overwhelming, confusing UI in other sandbox games like dwarf fortress, factorio, even minecraft's ui can be confusing at times
      • this means minimalism, but not hiding information
      • a factor in game design decisions should be avoiding the need for a new menu or UI element in the first place
    • a big part of the game I'm envisioning is AI which can interact with the world in the same way the player can, and vice versa
      • this means believable, well-defined, predictable, interesting systems
      • this also means actions need to take place visually, within the world, rather than inside a GUI
    • this is a second priority because I want to create a convincing world before all else.
  • animation FSMs
  • ramps redo
    • IDEA: use 2 parameters, 6-way direction (one of -x, +x, ... +z) and 4 corners values in range [0.0, 1.0]. then you can check bbox collide and LERP entity position to determine collision!
    • art for this is problematic, solve art issue before implementing
  • 'knowledge and skill' system rather than some kind of tech tree
    • reading books, observing someone complete a task, being taught, etc. will give you knowledge in a task
  • reputation and impressions instead of directly choosing roles
    • NPCs remember how you have interacted in the past
    • how you present yourself has an impact on how you are viewed by NPCs
Clone this wiki locally