Mināatoa Station Post Mortem
Mināatoa Station, my 6-month capstone project for my Game Development course at Yoobee Colleges, in which I fall down a rabbit hole, drown in a pool of tears and learn to make magic.Ā Or, less poetically, scope too big, lose and remake multiple assets multiple times, and launch a game that falls well short of my goal - yet shows a glimpse of a potentially amazing experience.Ā
My aim was a linear 3D narrative game - think Gone Home in a Myst type setting with a terrorist theme.. I reckon I got halfway, so thereās only 90% left to go.Ā
Tutors urged us to push our boundaries, and in my Goodest Boi team I stretched my wings into new areas and thrived. In other teams (whether real or not) Iād felt held back by low expectations. My mantra was āplay bigā. I love to learn, and that means embracing looking stupid, stumbling before you can walk. I chose a solo project, so Iād be propelled to shine, and I was pleased I did. The gasps of surprise from the class even at my prototype were validating. A teacher once said more learners rust out than burn out - having a tutor that believed in me created its own empowerment magic.
A new game, designed for addictive game-play loops, replayability, marketing hooks, commercialĀ
Mināatoa - unknown market, unproven gameplay, not replayable, huge scope, high risk.Ā
The gamedev mantra ākill your darlingsā echoed in my head. I brainstormed great alternatives that I loved. And yet, YOLO, carpe diem. I left aĀ āsafeā life doing what I was told for this. The window was open - now or never.Ā Iād never āfinishā Mināatoa left to my own devices. It needed a structure for existence - the force-field of deadlines, accountability, of expert help. I knew it was too big, so I āmaimedā my darling - reduce scope, use existing assets, basic textures, no puzzles - just a story game. That seemed do-able (cue evil laughter).Ā So I talked myself into āstory-only-Mināatoa.ā Call me crazy, but I donāt regret it.
I got overwhelmed.comparing narrative tools: Inkle, Twine, Yarnspinner, RenāPy, Ink. Prairie, Fungus, Novel-software, Scrivener. My author friend Peter cut through my angst by wryly observing that Shakespeare used a quill pen. For my Myst-type story - linear, non-branching, no dialogue - Google docs was fine!Ā Ā
Although I had a plot, I couldnāt start. Tutor Matt P got me to put story beats in linear time order, then rearrange them into the order the story needed. Write shortĀ āmemory joggersā of each plot movement onto Post-It notes. This simple process broke the writerās block.Ā
Later, I found myself blocked again, and dedicated an entire week turning these brief notes into strings of story.
Player autonomy is a key feature of game design. In game writing, each story elements has to stand on its own in whatever order players come across them, and the plot still has to make sense.Ā So story games build artificial āgatesā to order key story elements (eg in locked rooms), to achieve greater dramatic tension and plot cohesion, Ā
I fit the plot into the gameās natural gates: portal, balcony, room, and controller balcony, and Arrivals (and later,,Departures) desk drawers; Doors opened with buttons, and crystal docks.. I felt clever making drawer locks, and hiding keys and crystals. The gates were not infallible, but āgood enoughā in playtesting.Ā
The downside was, the story game became a puzzle game. It changed how players played, from a slow pace that encouraged reading, to active, testing interactable objects to see what they did. In retrospect, i wish Iād deliberately designed for the slower game feel of Gone Home, where players interact with passive objects whose function was to add atmosphere.
There were 25 notices and 21 letters, each with two gameObjects - players click on a 3D object in the scene, to bring up UI with its matching 2D readable. This meant 92 assets whose materials change when I edit their words. A simple workflow was essential.Ā
Playtesters noted the 25 notices were easily legible; that removed 25 UI assets.Ā
For the 21 letters, I felt clever about my idea of stationery. I made stationery (paper, design and font) for each character (Tris, Sātiel, Priestess and Council). Each in-game letter automatically populated its UI stationery with a text string. Instead of 21 UI assets, I only needed four.
I was smug about this at first - Iād polish text; and the UI automatically updated. But for beta, for the first time I had to have textures on all 46 3D documents. It was an awful workflow. Iād play through, click on each letter or notice, bring up UI stationery with its unique string, snip it, create 46 materials from the snips, and tile these to fit each gameObject.Ā
It was so tedious to change materials, it created a mental barrier to improving the text, even if it was way too long, or made me cringe. I deleted eight noticeboard posters that were too embarrassing. I left āLorem Ipsumā text on most letters. I wish Iād fixed these. I did find ways to automate this process, but events overtook (see refactoring section) so I didnāt get time to code this.Ā Ā
The more words, the more difficult and expensive is localisation, reducing the potential market, if I were doing it again, I would aim toĀ
reduce word count dramatically, and use more images
have illegible 3D textures (see for example Zelda, Breath of the Wild) or develop an alien text / symbols
retain the process of populating 2D UI assets with strings, so that it would be easy to populate strings in different languages.
Prioritise Your Intuition
Sam Fleury, Runaway Play gave an NZGDC talk on prioritising your intuition to reduce burnout and improve personal effectiveness. He noted that our tendency to try to āpush throughā a wall was often driven by feeling unworthy. It often led to bad code (or other work) that had to be redone.Ā
When I noticed my brain clearly saw the chains of logic, I coded quickly and cleanly When my āprogramming mindā lost itās edge, went āfuzzyā, if I continued to push I wrote bad code, and felt burnt out. I found it took an active decision to resist theĀ āimposter syndromeā urge to push on. Iād step back, take a rest, or pivot to a task that used another part of the brain (art or story).Ā Ā
I took note of sunshine, various foods, coffee and rest affected my focus and set up the right environment. Dancing barefoot on the grass is great therapy.
More often than not, when I came back Iād see a bigger picture, and pivot to a different priority, or to a fresh, cleaner approach. Iād never pivot when I was nose to the grindstone.Ā
I heartily recommend this practice. It was vital for a solo dev on a big scope game.Ā Pacing myself was not costly, I wrote better code in less time with less stress. And it might seem obvious, but burnt out, tired devs donāt make games that are fun, intriguing, and delightful,
I wanted assets that left the option open to allow commercial use. This hugely limited choice for the gameās many imported assets: ~20 sound effects, music,Ā five fonts, five paper textures and plugins, .Ā
I recommend designing a good filing system for attributions. I did record them as I went, but not in one place. Finding them months later cost time Iād rather spend on my game.Ā
Brian and I made most of the images and icons from scratch. But right at the end I realised an image used fan art Iād made for #Myst25 from Riven, a game by Cyan Worlds,Ā Commercial use violated their very generous terms for fan art.
I wrote to Cyan, saying Iād remove it, but itād be a lovely Easter egg for Myst fans. Hannah Gamiel, Director of Development, Cyan Inc immediately wrote back to give permission to use it, which was typical of the lovely Cyan approach to their fans.Ā
Weād planned for Brian being away for 3 months OE, but didnāt factor in a month to reinstate his melted server and hospital with pneumonia. Since Yoobee had only Unity 2018, Iād coded the prototype, Sabotage, from scratch in 3 weeks.Ā
Once Yoobee got Unity 2019, I reverted to Mināatoa with Brianās code, which wasĀ robust and elegantly effective, But since we were both new to Unity it used unusual approaches - event signals, listeners via parented assets, and master controllers with enums. After painfully watching me struggle, my tutor Woody spelt out the stark choice: strip out Brianās code and heād help me rebuild it, or struggle on alone.Ā
I chose to strip it out. I really wanted to step up at coding, and Woody was brilliant at it. Although Mināatoa would not be finished to the level I wanted in other areas, I could do the writing and art later.Ā Ā
Deleting two years of scripts left 416 fatal errors; removing āmissing scriptsā from assets took hours. It would be an enormous task to rebuild. I brutally trimmed my asset list of Brianās features (a fully functional inventory, and putting items down). and features Iād planned (writing, art, animations, codes and puzzles).Ā
Then I got intensive tutoring from Woody. I learned:Ā
keep it simple - add complexity only as requiredĀ
use prefabs - get one asset completely right, then 20 others workĀ
get the essentials (story gates) working - doors, drawers, lifts and locks. ..Ā
Within a month, most of the functions worked again. My crowning achievement was replacing Brianās inventory with a scroll-selectable list that appears on hover (over a lock that takes multiple items) and shows what carried items fit in.Ā
I was also pleased to get different endings working (including one that pivots the whole scene).Ā Iāll never know what Mināatoa would be if Iād made the other decision, but I do know I would not have learned as much as I did.
The biggest code drawback was no inventory for the 21 letters,theyāre just lost . The player canāt refer back to any letter theyād collected. Woody had shown me how to do it, but I spent the remaining time fixing bugs I had, and improving art and gameplay. This is such a major drawback that if I get time, Iād like to issue a patch for it, and I (think) I now know enough to do it. .Ā
I launched a game that I have mixed feelings about. On one hand, I have another game in my public itch.io portfolio. Overall, for pretty much a solo game made in a limited time, it showcases my capabilities and adds to my credibility as a Ā game developer.Ā
On the other hand, I wish it were more fun, that the story was better, the puzzles more difficult, the game design was more complete.Ā The main failing with the game was the story. I have so much to learn and I plan to fully engage with expert writing mentors next year to learn to
create empathy and connection with the main charactersĀ
reveal through whatās not said, rather than tell
reduce word count (strict 140 character limit per item)Ā
use environmental storytelling.
Given the need to limit scope, I only included very basic puzzles, that were not at the level of complexity or engagement of good competitors, like Aporia or Eastshade. Brian and I had designed more complex puzzles, but specifically removed those for scope reasons. If I were to do it again, I would prioritise adding to the puzzle component in simple ways such as:
embed hidden clues, codes and hints
add images, sketches and drawings .Ā
Not having clues to choose different endings is a major omission. For much of the development, I placed puzzle items to make life easy for me, rather than for the playerās satisfaction, The player finds them in obvious places, one after the other repetitively, instead of having to use deductive reasoning.
I would put more time into thinking about how to make it fun for the player to discover hidden items, work out lore-logical places for them, and hint at their location rather than make it so obvious.Ā
There are definitely things I want to improve in Mināatoa Station, but for now, the game is out āas isā.Ā
Next time Iād invest time early to āfind the funā. Find the fun in the story, puzzles, and gameplay from the playerās perspective as early as possible and build from a solid base of a proven enjoyable gameplay experience.Ā
At the end, my measure is not even the game. but instead what I have learned. I'm a person with new skills. Looking back my progress seems humbling and miraculous. In 2017, I first clumsily opened Photoshop, my first ever digital tool. In 2019, I made Mināatoa Station, a credible 3D game. Without diminishing Brianās enormous contribution, or that of my tutors, it was āmy gameā. I designed the world, characters, story, gameplay, modeled and textured 3D assets, 2D assets, the menus, animations, lighting, audio, did the voice acting,Ā used many plugins and more..I ended up coding everything, I listened and learnt, I asked for help and got lots, I struggled and fought and.. Lo.Ā
As I reflect on the end of my time at Yoobee, my journey as a game developer has been, and I hope will continue to be, intense and exhilarating. To me, itās been an incredible privilege to learn to make worlds from my imagination come to life.Ā