How Embracing Imperfection Makes Indie Game Development Easier
What pushed Undertale, Citizen Sleeper, and A Short Hike to stardom? It wasn't just their emotional storytelling and satisfying gameplay loop. It was everything else that supported it.
Other indie games merit the same attention and acclaim that these exceptional projects received. However, these three games, which gained such popularity and are most considered instant cult classics in this space, will benefit from today’s discussion of narrative design in independent game development.
What made these games garner such admiration and praise? Was it their consistency in tone? Was it their satisfying gameplay loop? I can confirm that these are all true, but it wasn’t their niche stories, genres, or themes that exploded into positive acclaim either. It was their passion, determination, and skill.
Is measuring “passion” and “determination” in a game even possible? No, which is why we’ll dive into the high-level behind-the-scenes of independent game development and explore the importance of using your strengths, weaknesses, and limitations to build the foundation of your next project.
This article is a starting point for solo developers to learn about preparation and project management, and avoid certain pitfalls that may spiral into frustration. If you are starting a new project, consider these questions…
What are you good at?
The question serves as a legitimate boundary, giving shape to the malleable circle from within, whether you want to push or pull to make a square or, perhaps, a triangle. However, sometimes, pushing or pulling is not enough. What shape can you make?
We may know about certain systems, or engines, like Unity, dialogue, quests, or player movement, but do we have the experience to create these without obstacles or barriers? If you’re an aspiring developer, you may want to experiment and learn from them. As an experienced developer, what systems, or skills, are you most comfortable with?
The answer to the last question should be your guiding star, one of the main pillars holding your foundation. This is where the three games in question come into play. Let’s start with Undertale.
Undertale is a pixelated RPG with bullet-hell-like combat mechanics that serves as a “tool” to communicate with “monsters.” We can agree that Undertale’s unique, duotone, take in combat is a fascinating, ludonarrative system that encapsulates the essence of the game. Yet, it’s simple and not the first game that does this. Why did it succeed? The music, dialogue, and characters.
Solo developer Toby Fox is a composer and game developer who loves JRPG music, such as Final Fantasy and Earthbound. He composes original renditions of his favorite games and creates mods out of pure inspiration and passion.
In Undertale, we can appreciate each character through their music and dialogue, matching the rhythm and style in each combat encounter, and engaging players further. The gameplay loop and art style are simple and abstract enough for players to understand the general shape that Toby Fox was trying to push and pull.
In conclusion, whether unintentionally or implicitly, Toby Fox enhanced the player’s experience with music even further through gameplay and bespoke characters, fleshing them through dialogue, rhythm, and unique combat encounters. The tension of weaving in and out of danger confirms the intention behind the player’s actions, motivating players to continue with emotionally driven music.
The focus was always the music, and several characters proved Toby Fox’s philosophy and passion: Undyne and Sans for “genocide” runs, and Mettaton and Flowey for “pacifist” runs.
Here’s a follow-up question: What other system or pillar supports your preferred or main pillar? Multiple pillars are established to stabilize your foundation, complementing one another and providing equal support. Once your foundation is set, the next question to ask yourself is…
How much time do you have?
The question refers to resource management and how much you’re willing to use for your new project, whether the resource is time, money, or space (digitally and physically). This is also referred to as scope.
The project scope includes everything needed to complete a project, including tasks, time, and resources. As a solo developer, listing every task and resource is unnecessary. However, sketching out your high-level ideas, pillars, major tasks, and scope is necessary to complete your game.
A good rule of thumb to avoid burnout is to focus on one or two major gameplay systems. These include dialogue, exploration, combat, customization, etc. Gameplay systems aren’t the only resource needed to complete a project; art, music, and animation are also major contributors to the scope. So, what do you focus on?
In Undertale, Toby Fox excelled at music and dialogue, which he focused on implementing alongside combat using GameMaker. Third-party artists created all visual assets, such as characters and animations. Completing the project required programming and R&D resources, which he did not excel at. Therefore, GameMaker is a good choice as the primary engine because it is accessible and easy to use. It took Toby Fox almost three years to complete Undertale.
Let’s look at another example: Citizen Sleeper. How was this game completed in just two years? As new tools, like Ink, are published for the public, easier processes are being developed for small teams and solo developers.
Citizen Sleeper is a dice-driven RPG inspired by board games and Tabletop RPGs. Its narrative-driven gameplay loop is the foundation of several pillars that rely on dialogue, dice mechanics, and TTRPG elements. For players who enjoy complex characters, emotional stories, and chance, Citizen Sleeper is a simple yet impactful experience.
Solo developer Gareth Damian Martin is a writer and artist with educational and professional experience in editorial writing, game analysis, and graphic design. Before game development, they wrote an article about The Division for Killscreen, exploring societal dynamics in an apocalyptic New York City.
In Citizen Sleeper, we can follow a similar line where Sleepers, corporate executives, and poverty-stricken families interact in a dystopian society full of lesser evil choices that bloom into what-ifs and empathy. These are themes that are familiar to Gareth. The visual representation of these themes falls into beautiful character portraits, simple 3D environmental models, and text. How was all of this accomplished in two years? We’ve answered the question of what are we good at, now it’s knowing what resources we’re willing to sacrifice.
Gareth is a writer and graphic designer; they know their way around Photoshop and understand the fundamentals of clear visual design. However, character concept art and music were not their forte. Gareth hired third-party artists and musicians for this part of the project. They used Ink, a writer-friendly scripting language for Unity and Unreal Engine, for dialogue and familiar graphic editors for UI/UX designs, like Photoshop.
Using their strengths, weaknesses, and limitations, let them streamline a repeatable process of branching dialogue, encounters, and exploration. If they were to choose Unreal Engine’s Blueprints as their primary engine for Citizen Sleeper, what would’ve been the difference in resources? It would’ve required bespoke tooling for specific systems like dialogue and UI menus. If you’re not a programmer, or unfamiliar with Blueprints, this project would’ve taken another year of R&D and trial-and-error.
Choosing a development style, engine, project, scope, and financial boundaries all play into the question: How much time do you have? Using your strengths will significantly reduce the time of R&D, taking advantage of the creative process rather than taking time to learn and iterate. Your weaknesses will fall into your limitations—what is your budget, and how much time do you have to learn a specific skill? Even when you have all the required knowledge to complete this project…
Are you ready now?
A simple yes or no question. Yet, it’s a list of multiple yes or no questions that span all facets of your project, alternating from yes to no and vice versa. Are you certain of the engine you’ve chosen? Are you ok spending on assets or freelancers? Do you need help with weak areas of your project?
If certain limitations hinder your decision-making process, a design or scope change is required. More likely, it’s going to be a design change. This is when prototyping starts, which can help you answer these yes or no questions.
Prototyping, or rapid prototyping, is a process that allows developers to test systems quickly using very cheap resources. This is an essential, and necessary, step in developing your project. There are countless ways to create prototypes—paper, cardboard, Unity, Unreal Engine, Twine, etc. Choosing a method will depend on your project, skills, and experience. How do you know which to use?
In Citizen Sleeper, Gareth prototyped his project as a TTRPG, specifically Blades In The Dark. This required no programming or in-engine use; it was all paper, dice, and pens. An alternative would’ve been Tabletop Simulator, an independent game that allows players to create tabletop games in a multiplayer physics sandbox. Although it’s simple to use, it requires some time to learn its mechanics and functions.
Pen and paper can be used to prototype any game that doesn’t require second-by-second precision, especially card and adventure games; the benefits and accessibility outweigh its limitations, which economizes resources needed for your project. Prototyping in engines has benefits, more so if you have the required experience. Let’s look at one last example, A Short Hike, and see how they developed their project while prototyping using Unity.
A Short Hike is an open-world exploration game where players must hike, climb, and soar through Hawk Peak Provincial Park to get to the summit for phone reception. One aspect that stands out from this game is its modern take on retro-style 3D graphics in an isometric view, combined with a peaceful exploration loop that engages the player with its environment and characters.
Solo developer Adam Robinson-Yu is a software engineer turned game developer experienced in Unity. Before A Short Hike, Adam worked on a side project for an RPG that was abandoned because it lacked direction and meaningful dialogue. He then experimented with another project with less dialogue and fewer systems, focusing more on fundamental mechanics like movement, exploration, and art.
He ultimately chose the one prototype that ended up being A Short Hike. He iterated on systems that defined his project's core while establishing the art style, which he considered his main pillar. Since his experiences stem from software engineering, he utilized his coding knowledge and experimented with the style, coloring, and tone of the environment and characters. It was a process of trial and error which was only accomplished by Unity’s capabilities and Adam’s expertise.
Adam's philosophy emphasized simplicity, short playtimes, and visual representation. He answered all these yes-or-no questions by repeating, iterating, testing, and establishing goals, taking into account his available resources and maximizing time with reusable knowledge. Prototyping using an engine can significantly shorten development time and boost quality. However, it’s only beneficial if you have the appropriate experience and the project merits such demands.
If you’re unsure how to proceed with your project, ask yourself: What are you good at? How much time do you have? Once you have an idea or prototype, ask again and again: Are you ready now? Do your core pillars coincide with your vision?
Conclusion
What are you passionate about? Are you determined to go down this road for the next two months or three years? Are you willing to have others help you, whether for QA, music, art, writing, or programming? Solo development is a process of self-reflection, internalizing the repetitive flow of choosing and following a path.
If you realize there are certain systems, engines, or tools, you’re not as experienced in, experiment—practice, practice, practice! Do not go head first with a long-term project with unfamiliar tools you plan to use. The underlying message is to avoid burnout and discouragement. Always start small and work your way until you feel comfortable. This doesn’t exclude creative skills like game design, level design, etc. If you’re a writer, and a great one, use that skill and create something amazing.
If your passion lies in visual novels or choose-your-own-adventure games, this is your guiding star. Don’t get intimidated, or discouraged, from other games in the space. Create something of your own, and create something that screams your passion, love, and skill. Always seek help, opinions, and feedback. Always learn from others, and create a development system you believe in. Just create and don’t stop.
References
Twine Narrative Tool: https://twinery.org/
Tabletop Simulator Game: https://www.tabletopsimulator.com/
How To Define a Project Scope: https://www.atlassian.com/work-management/project-management/project-scope
Point N’ Think Interview: Gareth Damian Martin: https://www.pointnthink.fr/en/interview-gareth-damian-martin-2/
Ink - Inkle’s Narrative Scripting Language: https://www.inklestudios.com/ink/
YarnSpinner Narrative Tool: https://www.yarnspinner.dev/
GDC 2020 Adam’s Talk: Crafting A Tiny Open World: A Short Hike Postmortem
Words of wisdom! Will definitely look into Ink. Thanks for highlighting this tool up here.
I am currently looking into tools that can help me develop. I do have a vision, but lack skills in pretty much anything 😆 at least that is required to start... like the lots of coding needed to implement what i envision into a new project.
Loved A Short Hike, cool to see how it was developed from just the dev prototyping.
Keep up the good work!
Yup - 1 year after starting and on the first Steam release, I'm using all my chops to keep the marathon onwards. I realized now how meaningful and difficult any artistic endeavors can be, given that you really try!