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