gai-ca2/doc/planning.md

2.2 KiB

Todo

  • Sprites (Dome)
    • camp (multiple textures)
    • boat
    • see DC
  • Design a tilemap for the game (Dome)
  • Navigation v3 (Yan)
    • Player: function to walk up to a tile, not onto the tile (trees, etc.)
    • Visualization: Current navigation path
  • Interactive and Non-Interactive Items
    • Add all the items needed to build the game (bushes, trees, etc.)
    • Add logic regarding the objects, like taking branches, etc.
    • Camp, chest (inventory slots, array of items, Interactions)
  • Implement Behaviours
    • Implement all kinds of Behaviours, see document
  • UI, Visualization, make the simulation understandable (Luca, Colin)
    • GraphEdit
    • GraphEdit toggle (key)
    • Inventory
    • Player Stats
    • Temperature layer toggle (key)
    • etc.

Done

  • Sprites (Dome)
    • Ground
    • Berry bush (filled, empty)
    • Tree (filled, empty)
    • Ship parts
  • Initialize Tilemap (Yan)
    • Script --> World (manages access to tilemap)
    • Player is on tilemap
    • Multiple layers
      • Ground (Water, Ground) --> custom data (Walkable, Weight = 1)
      • Obstacles (Stone, ...)
      • Pickup (Berries, Trees, Boat parts) --> custom data (Type of collectable "tree", "berry", "boat")
      • Temperature layer (normal and different levels of coldness, transparent solid color)
  • Decision Tree (Classes, etc.) (Yan)
    • Reference Food Gatherer for implementation
    • Child of player, serves as controller
    • Script needs access to the scene, player and other objects/data
  • Navigation
    • Use tilemap layers to compute route
    • Support obstacles
    • Result must be an array of tile coordinates, length (array length) and the total cost (sum of weights)
  • Player
    • Stats (see document)
    • As a layer in the tilemap
    • Implemented in the PlayerManager
    • Inventory
      • with one slot
      • can pick up items from tilemap (Pickup)
      • can drop items back onto tilemap (Pickup)
  • Navigation v2 (Yan)
    • Support walkable attribute on interactive/non-interactive tilemap items (is_walkable)
    • fix pathfinding for unreachable cells
    • add search radius (max distance) before canceling
    • improve performance (or rather, check performance first)