Skip to content

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

@Rezmason

Description

@Rezmason

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions