Fruitland, a hundred islands later
On 11 October Fruitland was a phone game with six islands, which an agent had built overnight from one line in my idea list. A day later it stopped being a phone game:
ok never mind. fruitland is also a full-on VR game. […] let's convert this all into a VR / MR game. […] it was SO much more fun in VR than on mobile.
In the Quest 3 the island is a diorama standing a step in front of you, and Pip is about as tall as your hand. The reason I gave that evening still holds:
there is something about platformers that is perfect for VR cause there's usually no dungeons, no hidden areas, all is in plain sight.
Quality through quantity
The next day I stopped asking for polish:
ok let's just keep building levels for now... explore different designs etc... quality through quantity.
From 16 October, builder agents worked in parallel, each in its own copy of the repo, and more than twenty of their branches have been merged. Each island got one new mechanic or one new place. Some islands are labs: an open field for testing a single idea, with no route to follow. The first lab came from me:
next island idea: pip pulls out a giant hammer like in a comic. he can do some massive damage.
A few didn't work and were replaced (“crystals growing in realtime just didnt make sense”). To keep track of everything else, the pause menu gained a heart for a great level and a bin for one to delete. I laid one screenshot per island out on a board and sorted them by hand into eight rough worlds. The title screen now looks like this:
The design interview
Just after one in the morning on 17 October I asked to be interviewed:
now it's time for the coaching. e.g. one of my favorite mechanics is the one spontaneous idea I had with the hammer. so... just interview me about the game and let's design it together.
The interview has run 22 rounds so far. Each round is a few numbered questions; I answer them between play sessions, and the answers go into the project's notes and usually into the next build. Some answers turned into rules:
I personally love short indie games because I can play them without having to spend hours learning the game first. let's aim for 2 to 6 hours of gameplay
Some changed the hero:
no one knows what a strawberry seed looks like. But watermelon seeds everyone knows and they are kinda annoying so it would be fun to anthropomorphize them
And some were simply about how it feels:
it feels great doing a great drop from a Pusteblume scoring 5 or 6 fruits at once and you can literally feel your stomach sink as if you were really that high up.
I think the best levels have a great mechanic, a great world, a great little narrative with NPCs (mochi, sushi), and one small cutscene.
A score from the public domain
On 15 October, in the middle of a round, I wrote that I was listening to Rachmaninoff's Prelude in C sharp minor and wanted a boss fight to feel that epic. Three nights later:
are there any old classical orchestra recordings that have entered pubic domain? I mean there must have been recordings in the 20s and 30s that are public domain now, right?
There are. In the US, recordings published before 1926 are public domain. So is anything recorded by a US military band, and some modern orchestras put their concerts on YouTube under a Creative Commons licence. An agent searched Wikimedia Commons, the Internet Archive, IMSLP and YouTube, checked each licence, levelled the files and logged the source of every one. One of the finds:
woooow die 4 jahreszeiten as public domain? that is GOLD! […] the rachmaninov fits like a glove again... the crackly sound makes it even better
The Rachmaninoff on the island called the Mould is Rachmaninoff himself, at the piano for Edison on 24 April 1919. The opening storm plays the Ride of the Valkyries, and the morning after it plays Grieg. A recording can also be dropped for a single cough: “someone coughs in the recording so it's a no-no”.
- islands
- 121: nine worlds, from Citrus Coast to The Darkness, plus Boss Labs, Experiments and an archive of five
- recordings
- 44, of which 29 play somewhere in the game; every source and licence is listed in the repo
- made of
- plain JavaScript and WebGL 2 with WebXR, 39,647 lines (3,626 on 11 October), no engine, no build step
- since the first post
- 258 commits, version 2.106.0
- my first runs
- 80 minutes over 60 islands, timed by the game; the target is an hour and a half for the campaign
- runs on
- the Quest 3's browser, at 120 Hz
Frames before graphics
Since 19 October the headset has been sending its frame rate back to a small log after each island. On 18 October I wrote:
I feel that 120fps and full res should be prioritized over fancy graphics, because I think basic graphics at high fps and resolution will look better than fancy graphics at default res and 60hz
The first readings held 120 frames a second on every island I had played. Turning up the resolution dropped that to about 95, so the graphics card is the limit. Profiling found every frame being drawn as two passes; fixing that took Cocoa Lake from 13 to 8 milliseconds a frame. The verdict that night:
when it's full 120fps it DOES actually feel amazing because it's a rare experience on any device really.
Still rough
It's a headset game now and nothing else. On 20 October I asked to remove “all remnants of desktop or mobile play”, and mixed reality went with them. On a laptop the page still opens and the islands can be walked with the keyboard, but that's the test bench. All figures here were taken that way, flat in a desktop browser: none is the view in the headset.
Most of the 121 islands were built by agents. I said on 17 October that I hadn't gotten to testing all of them, and I'm still behind. The game froze three times in the headset on 20 October; a fix is deployed but hasn't been tested over a long session yet. The faster frames came at a cost: the shadows got too pixelated and the edges of the picture too blurry, so those are next. The story is half there. The siblings, the seals and a small love thread are written down, but the ending still only plays a march. A native shell for the Quest is planned and doesn't exist yet.