Overview
Onkalo is a narrative visual novel with RPG mechanics, roughly based on the idea of an "Atomic Priesthood," made in 72 hours for Ludum Dare 57. The team consisted of 1 writer / narrative designer, 1 sound designer / composer, 2 artists, and 1 programmer (me).
This was one of the most fun projects I have ever worked on. I had the chance to work with a passionate international team that pushed me to do better work, and the whole project reminded me why I like making games with other people. Everyone was making great work extremely quickly, so my job was not just to write code, but to build systems that helped the rest of the team actually get that work into the game before the deadline.
My Contributions
I was the sole programmer on the project and wrote every line of code. I was responsible for the narrative system, the RPG combat system, the basic inventory logic, the Unity implementation pipeline, and roughly half of the final content integration.
As the only team member familiar with Unity, I knew content implementation was going to be one of our biggest bottlenecks. Every piece of writing, art, music, and sound had to make it into the game somehow, and I still had to build the actual gameplay systems on a 72-hour timeline. If we were going to ship, we needed tooling that was simple enough for non-programmers to use.
The biggest system I built was a branching narrative tool using Unity's Scriptable Objects. Each part of the story was represented as a node asset, and each node could link to the next node through an inspector-exposed reference. I used a shared base node class, then split specific behavior into different node types. Some nodes displayed text, some changed the background and music, some presented branching choices, and every node could optionally play a sound effect.
I also connected the narrative system to a small inventory system. Certain choices could give or remove items, and some options only appeared if the player had a required item. It was a very basic inventory system, but it gave the writer and narrative designer a way to make earlier choices matter later in the story. One "item" players particularly liked was the cat. The cat could be acquired at the very start of the game, then stayed with you and helped look for secret items. Players really enjoyed the added companionship and little cozy flair to the otherwise eerie atmosphere.
Near the end of the jam, we were running low on time to implement all the content the team had created. Instead of trying to route everything through me, I taught the rest of the team enough Unity to create Scriptable Object nodes directly and connect them together. They picked it up really quickly, which says a lot about how strong the team was, but also showed that the tool was intuitive enough to use under jam pressure. That system ended up being a huge part of why we were able to ship.
For combat, I implemented a simple timer-based combat system inspired by Final Fantasy IV's Active Time Battle system. The attack and heal actions filled over time, and the player could use some of the consumable items picked up during the narrative sections. The combat was intentionally small in scope, but it gave the visual novel a mechanical break and helped the game feel more like an RPG than a purely linear story.
Reception
Onkalo received a 3.7 / 5 rating on Ludum Dare, with players consistently calling out the art, music, atmosphere, writing, and surprising RPG mechanics. I was happy to see players respond positively to the combat system and the inventory-based choices, which people felt helped the game feel more interactive than a standard visual novel.
For a 72-hour project, I am proud of how much we were able to ship. Some feedback pointed toward places we could expand with more time, especially player agency, combat depth, and a few dialogue issues, but the overall response was very encouraging. The game felt cohesive, players understood the mood we were aiming for, and the systems I built helped the team get a large amount of content into the final build.
Lessons Learned
The biggest lesson I took from Onkalo was how much good tooling matters on a small team. I have always known tools are important, but this project made that lesson feel very real. The narrative system did not need to be complicated or technically flashy. It just needed to solve the right problem, stay understandable, and let the team move faster.
This project also taught me a lot about trusting teammates and building systems for them instead of only building systems for myself. Once the rest of the team could add and connect content directly, the project started moving much faster. That is the kind of development environment I want to keep working in, passionate people making things together, with tools and systems that help everyone do their best work.
Onkalo is still one of my favorite projects because it felt like the whole team was pulling in the same direction. I was proud of the code I wrote, but I was even more proud that the code helped the team ship something that felt cohesive, atmospheric, and much bigger than what we should have been able to make in one weekend.