hundredrabbits/Verreciel

To Do: goal-based progression (walkthrough, missions, game saving)

Rezmason opened this issue · 0 comments

Verreciel's game progression is brittle. We make the missions list, the game saves and the walkthrough by hand, and they can all become invalid if we make a change to the universe, the items or the recipes.

Also, the current game progression can't distinguish between the times when a player is starting a task and when they're working on a task. For instance, if the player needs to make a combined item to trade at a location, the game will sometimes tell them to go to that location while they're combining the item.

Here's a proposed new architecture for game progression.

  • A system that consumes the universe(!!), items and recipes, and finds all the ways to complete the game (and to get every item at least once)

    • This is a dependency graph- a directed, acyclic graph. If we've made the game cyclic by mistake, the system can warn us! And it can spit out a map of possibilities!
    • The actions a player can perform in-game can be low-level (use thruster, radar and pilot to reach a destination) or high-level (Get glass for shield). Verreciel is partly a game about accomplishing higher level goals, so we should model them all.
  • The ghost performs the low level tasks necessary to reach the completion of the game. The ghost can accomplish other goals, such as playing a record, and this can be randomly decided when the ghost activates.

  • The mission agent tells the player the next thing they need to do that they don't know.

    • For instance, if the player needs to combine key fragments, the mission agent will tell a new player to go to a horadric and step them through it
    • But a player who already knows how to use a horadric will only be told to reach the portal the combined key takes them to.
  • The number of mission chapters and their names are similarly derived from the higher level goals on the player's journey

    • We can even recalculate how many chapters the player's already completed, if we change one of those
  • Game saves become the following

    • Where the player is
    • Where the non-currency items are
    • What the player has installed
    • What the player knows
  • Fix ghost animation so it's not laggy when the game's sped up