Vokseværk
A calm puzzle game about an oak tree that has to reach the sun before the day is over. Built in six stages, each of which had to prove one thing before the next could begin.
Play the game →- Genre
- Calm puzzle game
- Tech
- Plain JavaScript and canvas, one file
- Method
- Goal-based stages, a playtest after every round
- Built with
- Claude as coding partner
- Status
- Six levels and glimmers to collect. Playable online.
The game
You control an oak tree. Each click lets it grow one square — up, sideways or diagonally. The goal is the sun.
But the sun doesn't stand still. It moves in an arc across the sky, a little with every click, and if it sets before the tree gets there, the day is lost. So you don't aim for where the sun is. You aim for where it will be.
Meanwhile, the world lives its own life. A neighbouring tree grows towards the same light. Clouds drift past and cast shadows where nothing can grow. None of them are enemies. They are simply nature, wanting something too.
Out in the dark, a glimmer flickers, always away from the direct path. You don't know what it is until the tree reaches it, and it only counts if you reach the sun as well. So the question isn't whether the detour is worth it, but whether you can manage both.
Stages
- Stage 1Something runs on screen and responds to clicks.
- Stage 2Free directions and a sun as the goal.
- Stage 3A neighbouring tree as resistance. Too easy on its own.
- Stage 4The sun moves and sets, clouds cast shadows. Still too easy.
- Stage 5Five levels on a difficulty curve. Good dynamics, and the shadows work.
- Stage 6Glimmers to collect, away from the direct path. Built, awaiting testing.
The key decision
The first draft had obstacles: things standing in the way. It felt wrong, and it took a moment to say why. Obstacles are artificial. A tree in a forest doesn't run into walls. It runs into other living things that need light too.
So the resistance became an ecosystem with a will of its own. The neighbouring tree's branches wither after a few clicks and open the path again. The clouds dissolve. That gave the game its core rule: nature should open a new possibility, not just close one. Otherwise the player feels powerless and loses interest.
How I work
I build the game the way I test software: in small steps, with a clear criterion for when something works, and with honest results — including the dull ones.
The code is written by Claude, Anthropic's AI model. The division of work is clear: I own the idea, the design and the decisions. I play every version and describe what should change and why, and Claude turns that into code. Every stage starts with a playtest and an assessment from me.
- Find the fun first. The first stage was the ugliest version that could answer one question: does anything respond to my clicks?
- Goals over dates. Each stage has a success criterion, not a deadline. The energy goes into reaching the goal, not chasing a calendar.
- One thing at a time. Build a little, play it, find the one thing that feels wrong, and fix exactly that.
- Core before polish. Click, the tree grows, nature responds, I adapt. If that loop isn't good on its own, graphics won't save it.
- Park it, don't drop it. A hexagonal grid, 3D and true branching are good ideas, just not now. They sit on a list so they don't get in the way.
What the playtests revealed
- After stage 4, I won 3 out of 3 on both levels. A simple test player that mostly went straight up still won with nine clicks to spare. The problem wasn't too few obstacles. It was too much time.
- The two levels felt the same, because every tweak hit both equally. Difficulty comes from a curve, not from turning every dial at once. Now there are five levels, each introducing one new thing: Morning, The Neighbour, Clouds, Headwind and Solstice.
- A dark shadow on a dark background couldn't be seen. The fix wasn't more darkness, but more light: a faint daylight across the whole scene for the shadows to stand out against.
- When the sun set, the game broke. Losing is part of the game too, and deserves as much design care as winning.
- In one round I tightened three things at once. That broke my own principle, so the next test couldn't tell me what had worked. It's noted, so it doesn't happen again.
- I lost one level twice and won the next on the first try. It looked like a difficulty curve pointing the wrong way, but it wasn't. A handful of rounds is a small sample. A conclusion about difficulty needs a pattern, not a single comparison.
- The first glimmer was a little exciting, but not enough, and sometimes it was obvious I shouldn't go for it. A choice is only interesting when both options are almost equally good. Now you collect the glimmers, and they are placed so you can reach both a glimmer and the sun — but only just.
Small choices, with reasons
- The tree can't grow downwards. A tree growing towards the ground reads as a mistake, not a choice.
- The neighbouring tree's branches fade with age. Without a visible sign, it's luck when a path opens up. With the sign, you can plan — and that's where the puzzle begins.
- There is a Wait button. Sometimes the right move is not to move.
- Each branch gets its own length, curve and leaf shape from a seed. The crown looks random, but doesn't flicker between frames.
Next step
Stage 6 has succeeded when, mid-game, I find myself unsure whether to go for the glimmer. After that comes the first playtest with someone other than me — because I know the secret behind the glimmers, and only someone who doesn't can tell whether they pull you in.