After 20 months of development, I’ve decided to put on hold further work on my non-violent, first-person role-playing game The Dungeon Under My House, what was supposed to be my second Freshly Squeezed Entertainment project.
It’s a decision that makes me both sad and glad. I really liked this project and I enjoyed working on it and the idea of what it could become when it is finished, but as a solo indie game developer who is working very, very part-time, it is taking me too long, and from my very rough estimates that are probably very optimistic, I’d have at least a year of work left.
That’s a long time, and I need to be more prolific if I want to succeed. Maybe in the future if my capacity increases, I’ll return to it. I hope so. I think it was going to be a neat game.
Still, just because the project isn’t going to be finished and released (for now), it doesn’t mean there aren’t lessons that could be learned from it, which is why I’ve decided to write this post-mortem for it!
I hope one day in the not-too-distant future a second post-mortem of the project links back to this one.
EDIT: I have also created a presentation version of the post-mortem.
Information about the Project
The Dungeon Under My House started out as just an idea that I had at the end of October 2022. Now, ideas are a dime a dozen and all, but this idea wouldn’t let me go. I got excited about making a non-violent Wizardry-like first-person dungeon crawler in which you are a child hanging out with friends in your modern day home, only to discover a secret door in your basement that leads to a multilevel dungeon. It turns out that your family comes from a long line of explorers and adventurers.
So each day after school, you pick a subset of your friends (with unique strengths/weaknesses) to go into the dungeon for adventures. Adventures might take multiple days (you are children with bedtimes, after all, so you can only explore for so long), and you can prepare for adventures by raiding the house for supplies.
Encounters require you to use your skills and tools to distract, befriend, scare away, bribe, help, etc the creatures, monsters, or other adventurers you find in the dungeons.
In my head, The Dungeon Under My House would be a cross between Wizardry and The Goonies, in which your friends and your friendships play a huge role. It would also be a Freshly Squeezed Entertainment project, which as a reminder are games meant to be quickly created and given away for free.
The idea behind giving away free games is that I want my games to have as little friction finding their audience as possible, and if enough demand exists for a particular game, perhaps I will create a “deluxe” version for sale. In other words, rather than guess at what random strangers might want based on trends and fads, I’m trying to find and get faster feedback from the people who would be interested in playing the kinds of games I am creating.
I started working on the project in earnest in November of 2022, with the hope that it would be a six month project, but anticipating that it might take me as long as a year.
Ha. Haha.
I don’t know why I was so optimistic. This was a big project, and I’ve never worked on and completed an RPG before, nor did I sit down to scope out the project to figure out how to fit it all within six to 12 months. But more on that later.
What Went Right
- Creating a design document gave the project a North Star
Obviously I’m not a believer in creating 1,000 page tomes as a game design document, but I found that not creating a game design document at all for Toy Factory Fixer resulted in a lot of wasted time.
So I created a document that is mostly based off of Rosa Carbó-Mascarell’s Game Design template, which you can find here: https://rosacarbo.notion.site/Game-design-template-0132383574dd4c2dbff5d14e3a90761c
I found it very helpful to identify the core design pillars, the theme and mood I was looking for, and general activities the player would participate in.
I anticipated that the design might change a bit. For instance, I originally thought the idea of designing your own adventure plans and then executing them was going to be a key part of the game play. I envisioned being at the titular house marking up the map with objectives, then entering the dungeon trying to achieve those objectives. As the project progressed, I could drop this set of features easily as it wasn’t strictly core to what the game needed to be.
But other things stayed the same. The game was always set in a sleepy modern-day suburb, so I never had to waste any time wondering about medieval or fantasy themes fitting in.
And the core pillar of non-violence helped me steer away from having any sense of a threat to the physical safety of the characters in the game. In my document, I wrote:
There should be no attacking or threat of attacks, no abuse, no physical or psychological danger, and no killing.
– So can there be threats that aren’t related to physical/bodily harm?And then I listed out ideas of threats to property (theft, vandalism, etc), relationships (break-ups, loneliness, hurt feelings), and information (secrets, lies, incomplete knowledge).
The document got updated periodically as I needed to jot down parts of the design I hadn’t anticipated, so it wasn’t like I wrote the design once and forgot about it or pretended that I needed to stick strictly to it. It was a living document that I kept open on my computer any time I was working on the game.
And having all of my design notes and decisions in one place definitely helped me know what forward progress looked like.
- Creating cheap prototypes and mock-ups sped up decision-making
The beginning of a project is always exciting, when anything and everything can be possible, but at some point I need to make decisions that take the project in a certain direction and necessarily cut off other options.
The design doc helped make some decisions quite easy as mentioned above, but other decisions involved choices that weren’t necessarily right or wrong for the project.
For instance, knowing that I wanted the game to have a 1st-person view in the dungeon, the question came up: what angle should the camera be at?
A simple solution is: centered! It would be simple, but it might look boring and uninteresting. Having the imaginary camera higher up and looking down more would show more of the current dungeon tile while also giving the impression that the ceiling is lower or that the player is taller. And having the camera lower would maybe be a more appropriate vantage point for the young children who would be the main characters in the game, but it might prevent the player from being able to see as much.
At the time, I was planning on using old-style tiles to simulate the three-dimensionality of the dungeon, so creating mock-up art for each angle sounded quite tedious.
Instead, I used a physical prototype. I took an old shoe box, printed out some dungeon wall image and taped it to the back of the box, then placed some wooden figures in it. Then I took pictures from various angles to get a sense of how it would feel.
It took me only a few minutes to create, and I learned right away which one I liked best.
There were also many ways I could show things on the screen, and even if I didn’t know what might be eventually on the screen in the end, I could at least start somewhere. So I created this mockup:
And I found that doing so helped me figure out where I thought some UI elements would work best. The downside is that I realized very quickly that my mock-up didn’t anticipate the on-screen controls that would be necessary for the mobile version, so I tried another mock-up:
The latest actual in-game shot shows that I tried a combination approach in the end:
One of the next features I would have worked on would have been the in-game map on the HUD, and so I was already anticipating needing to rearrange and resize various controls, but I know exactly where I want that map to live.
- Looking for reference art helped me create a cohesive, “real” world.
I knew I wanted the game to feel light-hearted and family-friendly. I wanted to have stylized, cartoony art, so photorealistic art wasn’t what I wanted at all, nor did I want a gritty and dark theme.
I’m primarily a software developer, but I know enough about art that having good reference material helps a lot.
So I spent time looking into dungeons, sewers, caves, coal mines, and all sorts of things that could act as a dungeon hidden under a sleepy suburb.
I was disappointed to learn that most real world dungeons were not much more than pits to keep prisoners in, but I was delighted to learn that the Paris has a sewer museum! I even learned that here in Iowa the Wastewater Reclamation Authority has a website that describes how their facilities work AND THAT YOU CAN REQUEST A TOUR!
And I was very interested to learn of Derinkuyu, Türkiye’s underground city that was rediscovered when someone found a tunnel behind a wall in his home a few decades ago.
Meanwhile, the other part of the game would take place in the house, so I tried finding art related to various rooms: bathrooms, dining rooms, living rooms. A website about the living rooms of various 90s television sitcoms helped. The living room in my game has a staircase leading up because of course it did: that’s how the rooms on TV look!
When I found a neat cross-view of a house that had a dollhouse look to it, I knew that I wanted that look for my game.
Besides looking for environment art references, I also spent time looking for character art references. Various cartoons, comics, anime, video games, and even clipart examples of children that I thought seemed promising ended up in a large document. I even had some animals, because I hadn’t quite figured out whether or not all of the characters in the game would be human.
And with a game featuring people, I needed them to look distinct. Clothing store websites feature all sorts of child models, so I found quite a few neat looking outfits, which helped inform the clothing customization options that I added to the game.
Now, I could have done whatever I wanted. The existence of games featuring sprawling dungeons despite the lack of a real-world equivalent means that it is already OK not to stick to reality. But having a basis for the “reality” of my game’s environments and characters helps sell the reality better than if I used my untrained artistic abilities to freehand everything with no good rhyme or reason.
Something non-artists might not know: it’s not cheating to use references to inform your art. Use them!
- Planning only one thing upfront to work on each week
This one is kind of a mental health thing for me, but it is a deliberate change from how I ran my previous projects that I think worked out well.
I ran my project on a weekly cadence. Each Sunday, I would write a blog post about the previous week as a development update, then I would plan the coming week’s sprint.
In the past, I would kind of mix up my sprint plan with my larger planning, and so I would pick a collection of features to work on, usually features that I think go well together. That is, once all of these are done, I would feel like a significant piece of the game would be done.
The problem was that sometimes one of those features big quite a lot to work on. Breaking it down into tasks, I’d maybe get a small subset of the tasks done.
So when I would write my weekly devlog blog post, I would report my progress by saying something like the following from the Freshly Squeezed report of Sprint 42 of Toy Factory Fixer:
Sprint 42: Training levels
Planned and Completed:
- Make sewing worker unique
Planned and Incomplete:
- Show tooltips during game based on triggers
- Create floor training levels/tutorial
Imagine weeks of saying “I planned to do X, Y, and Z, and I only did X” and you can see why I said it was kind of a mental health thing for me.
Even if I didn’t mean to say I would get all of these things done in a single week, it still looked like I wasn’t getting things done, and it can be demoralizing.
And of course, it is hard to predict when things would get done if I kept lying to myself. Not finishing these items means I can’t start working on the next items, and if I do this for weeks in a row, then if I was hoping to get the next item after Z finished by a certain date, well, I can’t even promise I’ll have capacity to start it by then.
So for this project, I made sure to only plan one feature. Then, I either finish the feature and start unplanned work next before the end of the sprint, or I have only the planned work that is incomplete.
By and large, it felt better. I no longer felt like I was behind, which is weird because I am my own boss and the feeling came from the accidental promise I was making by listing a bunch of planned work that I wasn’t actually trying to meet. It also helped me avoid deluding myself that a bunch of work would suddenly occur in a single week.
- Creating devlog videos to attract more potential fans
I’ve always written about my game development. This blog started in 2005, after all.
But sharing my weekly devlog blog posts on social media only gets so much traction these days. Adding devlog videos might increase the likelihood that someone finds out about the games I am working on. It’s another opportunity for someone to discover GBGames and TDUMH.
So I started making a weekly devlog video. Here’s my first one, published on October 3rd of 2023:
Oh, that’s rough. You don’t have to watch it.
YouTube said it has 20 views total.
In fact, for the next few months, my videos would get about 6 to 35 views each. That’s not a lot, but you know, YouTube is very algorithm-heavy, there’s a lot of other videos being made continuously, my own videos don’t have amazing production values, etc.
So I spent some time looking into best practices. I started creating custom thumbnails instead of using a random frame from the video that YouTube chose, and I even bought a new microphone to replace the ancient one I’ve had since forever (I think I got it when Windows 95 was the latest thing).
With catchier thumbnails (I refuse to do a “stupid YouTube face” thumbnail no matter how effective) and a less tinny, much sexier voice, my videos started getting a couple hundred views as well as regular comments.
Creating the videos each and every week was hard work, even with the low production values. I would write a script, create some video clips of various new features or progress I’ve made on the project, then record myself talking through the update. In the end, I would produce a video that is only a few minutes long.
While I always tracked how long it took to write a blog post, one day I decided to track how long it took me to create a video from start to end, and I realized that it could take me about 1.5 hours.
Remember how I said that I am working very, very part-time? I don’t have 1.5 hours to create a video each week! It eats into the time to actually make something for me to show off in the video in the first place!
So I cut back to only creating a video once a month or two. One benefit is that I have more to show in a given video. Here’s the most recent one that I published at the beginning of this month, and you can tell that is definitely smoother, as I have gotten into a groove creating them in a consistent way:
And another benefit is that while it takes me longer to make each new video, I feel more comfortable with batching all of that time together once in awhile.
Obviously the videos are not bringing in thousands of customers, but I do think that it has helped me to increase awareness with a few people about what I am doing, much more than my blog and social media posts alone. As a bonus, it gives me practice with using tools such as OBS Studio, and I can also create animated GIFs more easily.
What Went Wrong
- Not creating a real schedule resulted in a non-stop treadmill of development.
Definitely my biggest mistake was not creating a schedule for this project.
When I made Toytles: Leaf Raking, I created a road map. It was an optimistic road map in that I anticipated creating the initial release of the game in three months but the actual release didn’t occur until the eighth month of development.
But the road map was still helpful to create as it helped me nail down as much of the project as I could upfront. I knew that estimates are likely to be way off, but I don’t think I appreciated knowing as much as I did about my project.
When I worked on Toy Factory Fixer, I didn’t create a road map. I think I had read something about how road maps are awkward in modern development because it implies being able to believe in accurate estimates and also believing that you could know exactly what a project would look like at the end from the beginning.
In Agile software development, you expect to be able to adapt to changing market conditions, changing stakeholder demands, and changing realities. The road map is a relic of old-style plans that presume you can nail down requirements up front.
So I skipped the roadmap, and that project lasted a year. What I remember was that it was supposed to be a one month project, and each month I “hoped” that I would finally be finished with it.
In hindsight, I don’t know why I ever expected to be finished each month because I do not remember doing any work to figure out the full scope of the project until near the end. Maybe it was because I believed my feature backlog was exhaustive and was always surprised as I added to it?
For TDUMH, I once again skipped the road map, and I didn’t even pretend my backlog was complete. I basically came up with what I thought was a good first pass, and I fully expected that I would learn about the nature of the project as I worked on it.
I could be responsive, changing and updating my plan regularly.
And frankly? This works just fine. I could work on the project at the pace I am at indefinitely, and eventually the game would be finished.
At the same time, I did nothing to try to figure out how to fit this project into a six month period, which is what I wanted it to be. But merely wanting Toy Factory Fixer to be a one month project wasn’t enough, either.
So I had a conflict that I wasn’t addressing: my business expected me to release games more frequently, and my management of the project had me working as if I could take forever to release the project if I wanted to.
At some point in the last few months I realized that I needed to figure out how much work was left on the project, and with my very rough estimates, I’ve decided what was left was way too long.
And I think if I knew it upfront, I might have tried to make a smaller version of the game.
- Not prioritizing the work well wasted my time.
Even early on I knew that by making the game non-violent, I would need to replace all of the compelling combat-related mechanics such as health, weapons, armor, attacks, etc with something equally or more compelling. My goal was to emphasize conversation and knowledge-acquisition.
The thing is, I didn’t know what it would look like.
A branching dialogue tree wasn’t going to cut it. I didn’t want to make a rigid story or a visual novel. I wanted something more dynamic and flexible, that required the player to make more interesting decisions than choosing between a handful of pre-written options.
In short, I wanted the conversations to BE the main game play.
And yet, instead of spending time prototyping conversation systems and UIs and researching existing games that do interesting things with conversation mechanics, I worked on character customization.
I justified it to myself. I really, really wanted the player to feel like they could see their friends and family, or maybe a fantasy version of who they wish their friends and family were, in the game. It seemed important at the time.
And I worked on creating the first person dungeon view, first by trying to create tiles, and then creating a raycasting renderer, and then profiling it and debugging it to see if I can get it to be performant each time I made a change that slowed it down.
In hindsight, I should have realized that the first-person aspect of the game, as nice a thrown-back as it was to the kinds of old-school RPGs I wanted to remind the player of, was not necessary or fundamental. A top-down overhead view would have been faster and easier to implement. Character customization turned out to be tedious work, which I didn’t anticipate when I started, and perhaps for this project I should have created concrete, unchangeable characters if only because it would have been faster.
And the main reason I wish I had done those parts of the game so much faster is so I could focus the bulk of my time on the more interesting game play that I was trying to create with conversations and personalities and knowledge acquisition. Instead, after 20 months, the systems in place feel clunky and limited, and I knew I still needed to expect to spend considerable time on experimenting and figuring out this core part of the game.
It would be one thing if I spent only a little time on non-core things. Spending 20 months on a project might have been more palatable if I had spent a large amount of that time coming up with new game play, but as it is, I feel like I could have used my time better.
- Not quitting earlier meant missing opportunities to publish more frequently.
This one is kind of related to the previous points. If my goal is to release a game in six months, I should hear alarm bells in my head when I hit the six month point and not have a game anywhere near finished.
In fact, those alarm bells should have been heard long before six months passed, because I should have an idea how much of the game was finished versus how much is left to do and be able to figure out how confident I felt about getting the remainder of the work completed in the time left.
Instead, as I said before, I could work indefinitely on my project, inspecting and adapting as I go, and given my limited capacity, I wasn’t investing time to inspect the health of the project as a whole. I did not treat the six month deadline as a real deadline so much as a soft suggestion, which didn’t help give me a sense of urgency or a reason to worry.
Toy Factory Fixer’s initial release was in 2021. I didn’t start TDUMH until 2022 with an expectation that I would release it in 2023. Even if I had succeeded, that is already a long time between game releases, at least for my business goals. Taking longer than six months means even more delays for accomplishing those goals.
Maybe if I would have put the project on hold or canceled it in 2023, I could have used the time since then to figure out a smaller scoped game. Maybe by now I would have released at least one, perhaps two or even three more games.
Better late than never, but I should be more protective of my time. I am getting too old too fast, so it isn’t just my business goals I’m worried about.
- Waiting so long to use freely available UI elements made my game look amateurish
When I started working on the project, I slapped art together to get something on the screen as quickly as possible.
The main menu’s buttons, for instance, looked like this:
Just colored rectangles. They are functional and easy to create.
I also tried to add a little bit of detail to them to make them better, but it was still very basic:
Between taking screenshots and making videos, I had a lot of footage of the game with these placeholder UI elements.
Which is unfortunate, because the entire point of publishing footage of the game was to get people interested, and I was basically saying, “Here’s this ugly amateur thing for you to not waste your time with.”
It was only recently that I decided to use buttons from the free Kenney UI Pack, and after adjusting some font colors and sizes, the buttons on the screen looked way better.
What’s weird is that I had no problem using existing UI art. I already used icons from Game-icons.net in various places, and I already knew about free assets from Kenney.
So I’m not sure what took me so long to get around to it other than a sense that other things were more important to work on.
Lessons Learned
- I should take advantage of good art assets earlier.
I should definitely start my next project with great looking icons and buttons, especially if they are going to be displayed on the screen a lot and they’ll be some of the first things seen in screenshots and videos.
While I still like providing my own art in general, and I don’t think I should fill my game entirely with free sprites and icons, using fantastic, ready-made resources such the Kenney UI Pack makes the game look way better than I could on my own and in a much faster time period. I should really need to justify not using them rather than the other way around.
And if game UI icons and assets make sense to bring in early, what about sound effects and music? I usually leave those until late in the project, and perhaps it makes sense to have placeholder audio at least.
- If I want to release more frequently, then I need to make a schedule.
Open ended projects are a luxury I can’t afford.
As I said above, it isn’t as if I couldn’t keep working on my project the way I have been. I know each week I make a little progress, I can inspect and adapt as I go, and one day I’ll work on the last bit of progress and call it done.
But my business strategy ostensibly requires me to release my games much, much more quickly. Until I can increase my capacity to work on my projects, my projects will need to be scoped much, much smaller so that I can get them done in a reasonable time.
I still expect that I’ll need to inspect and adapt, that I can’t possibly anticipate everything, but I’ll have a better idea of what needs to go into a project plan for a small game than a big one.
So simultaneously knowing as much about a project as I can will help me create a realistic schedule, and a schedule with deadlines should help me limit how much a project can be.
- With my limited capacity, I need to ruthlessly prioritize the work.
I like to be purposeful, which means that each project I work on isn’t just a random collection of cool-sounding features. When I create a game, I like to identify some core part of it that is the reason it needs to exist now instead of some other project.
For TDUMH, I wanted to make a non-violent dungeon crawler, and what I should have done was figure out exactly what I needed to focus on to make it work. I already mentioned above that not having combat in the game isn’t enough, as I needed some compelling game play to replace it.
If I were to start again today, I think I would realize that I need to prioritize prototypes related to conversation and knowledge-acquisition mechanics as early as I could. Maybe I could have decided then that a party-based RPG would be too big of a project, but what if I applied the same focus on conversation and knowledge-acquisition to a game that consisted of nothing but a small room and two or three people, and maybe a few objects?
I might have been able to put together a game in a much shorter period of time, and I could always use it as a building block for my next project.
Since I instead worked on things that shouldn’t have been prioritized, I still need to figure out compelling game play because right now I just have customizable characters and a dungeon to traverse but not a whole lot else.
Even if I had more capacity, I still would want to prioritize my time much better, if only to make sure that I am releasing games sooner than later.
For the early stages of my next project, I should spend time trying to identify the dependencies between different features and systems. I did a light list for TDUMH, in fact, but it wasn’t something I paid much attention to, and well, here I am wishing I had done more.
- I should continue to seek out opportunities to promote my work.
People have asked me why I still try to sell Toytles: Leaf Raking after all these years. Why don’t I just drop it and forget it and move on?
And my main objection to that reasoning is that it isn’t as if lots of people saw the game and thought, “Nah.”
So I try to promote it and sell it because people by and large haven’t had a chance to reject it yet.
Like most indies, obscurity is my main obstacle to success.
For TDUMH, I found that sharing screenshots, posting weekly progress reports, and publishing videos means I am giving more potential fans a chance to find out that my games exist.
Some of those people become fans who start to ask about details, but I don’t know where the next fan will come from. Maybe they’ll find my blog post because someone shared it. Maybe they will be perusing YouTube and the algorithms will manage to place my video in their feed at the right time. Maybe they’ll see one of my screenshots posted on social media.
Most of my time is spent on game development, but it doesn’t take much time at all to capture in-development screenshots that I can then easily use in blog posts, videos, and posts on social media. There’s no excuse to not tell people what I am working on more frequently and in more ways.
Plus, making games with an audience is a bit more motivating than listening to crickets.
- It’s easy for me to keep my nose to the grindstone.
Each week, I plan the work for the next sprint, and then each day I succeed more often than not to make steady progress.
On average last year I worked about 7.5 hours per week, and this year I’ve been trying to hit 7 hours per week as well.
As much as I would love to make more time for development, given my life priorities and obligations, this pace is doable for me. I rarely find myself exhausted or burnt out by it.
Maybe that sounds silly, but the hours add up, and each hour I work on my game is an hour I’m not spending time with my family. Until I quit my day job and free up a significant source of hours, this pace is my reality.
That said, I have shown that if I set myself in a direction, I can continue plodding along until I’m finished. I stick with things, and I can keep focused on the same task. These are good things!
The challenge is to make sure I check in on myself to ensure that direction is still a good one and course-correct as needed.
I’m used to focusing on the current sprint’s tasks, then planning the next sprint. I’ll need to start looking at any given sprint as part of a whole, asking myself how far along do I think I am and how much more is there to do. And I’ll need to be honest. If I already have X tasks to do in Y weeks, and I discover an X+1th task, it very likely means I’m working for more than Y weeks if I think it needs to be done. Which means I’ll need to be sure that it is something that “needs” to be done and not just a really appealing nice-to-have.
These frequent project health check-ins should help me lift my nose up from the grindstone periodically, mainly to make sure I’m using the right grindstone.
Conclusion
As excited as I was about The Dungeon Under My House, it ended up being too big of a project for me at this time.
I’m not new to game development. I’ve been creating games for many years. Still, this project reminded me of my limits, and if I am honest, it humbled me a bit.
I do believe that if I kept going the way I had been going, the game would eventually be finished, but it would take me way too long to get there. At least, too long for my overall business goals.
The opportunity cost is too great when I could be releasing smaller games and building an audience during that same time. So as painful as it might be to have to part ways with this project for now (and potentially forever? I hope not), it’s not a hard decision to make.
After 20 months of development, even though I won’t be shipping this project, I am glad I can take stock and glean some insights from it.
I know this analysis will help me greatly with my next project. If I could sum up the lessons, it would be that it isn’t enough to keep moving forward because I also need to ensure the destination isn’t too far away.
I hope this post-mortem helps you, too. Let me know if it did!
Stay curious!
—
Want to learn when I release updates to Toytles: Leaf Raking, Toy Factory Fixer, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and get full color PDFs of the Toytles: Leaf Raking and Toy Factory Fixer Player’s Guides for free!