A quest guide that never goes silent
· 4 min read · game-design, game-dev, cozy-game, quests
A quest guide has a hard job in a cozy game. It has to help a player who is lost without telling a player who is exploring what to do. And it has one failure mode that is worse than any other: the day it says nothing, and the player has no idea if the game is broken or finished.
In Lantern Valley the guide is the character's lantern. Press H and it points at the next thing. This post is about the decisions behind it, which I wrote after three things showed up while playing the end of the first chapter.
The three problems #
- With everything done, H only said that the lantern was calm, even though there were islands left.
- With several quests open, there was no way to choose which one the lantern and the marker should follow.
- The map only showed the valley, so a new player assumed the world was that one island.
Rule zero: the lantern is never silent while there is something to do #
It says "calm" only when there is truly nothing left. In every other state it does one of four things: it points at a place, it leads to a request waiting for the player, it crosses the sea, or it says the step in words.
That last one is the one I would copy. Some steps have nowhere to point: the riddle letters, where the riddle is the guide, a night on a bench, or the hum that leads to the queen bee. For those, the lantern does not send the character somewhere else. It says the step, with the same text as the line at the top of the screen, or whispers where the queen sleeps.
The rules, in order #
guiding.js is a pure function that decides what the lantern can point at, in this order:
- If the player is following an unmade request, it leads to whoever makes it.
- If the player is following an active quest, it considers only that quest's objectives, or the one goal that was chosen. If the step has no place to point, it says the step in words.
- If the player follows nothing, it considers everything that is active, nearest first. When several quests are open at once, which the Tide Atoll does with ten, the lantern's card names the quest, so the player knows which one H is taking them to.
- If there is nothing at all to point at, it uses a request waiting for the player and, if there is none, a compass: a list of data with one entry per island.
Before step 3 there is one more idea: the quest of the moment, the last one the player advanced. It is not saved, and it only applies if it is still in progress. It means the lantern follows what you were doing, without asking.
Pinning a quest, or one goal inside it #
In the journal, every quest in progress has a Follow pin, and pressing it again stops following. When a step has several goals, such as the planks, the rope and the sail of the boat, or the three fish of the soup, each goal appears as a line that can be followed by itself. That is the "sub-quest" of the request.
The choice holds while the goal is not done and the step is the same. After that, the lantern goes back to looking at the whole step.
The journal also lists requests out there: the quests that are available and nobody has offered yet, the "!" over someone's head, and the favors that start without a conversation. Each one says whom to talk to or what to look at, and has its own pin.
The compass is data #
The compass is one entry per island, with a condition, a marker, a text and a line for the HUD. The Orchard, for example, has one for the moment when the beam has opened the island, the boat is ready and the player has not yet been there: the lantern leads to the orchard's pier and says that the beam opened the mist and the orchard is waiting across the sea.
An island whose first quest starts by itself needs no entry. The compass is only for the moment when the quest still cannot open.
What I left out, on purpose #
- an automatic "next suggested step" of the main story, because the valley's spine is the hunt for the Sparks and the rest are requests,
- an approximate marker that points at a region and not a spot, which would suit a search quest like the duckling,
- following more than one quest at a time. One is the standard of the genre, and it avoids clutter on the screen.
The guide has tests for the rules and for the texts in both languages. The card itself can only be judged in the game, and I checked it once, in a browser, at a start point with ten quests open.
You can try it at lanternvalley.vercel.app.
Related projects
- Lantern Valley — Cozy adventure game for the browser