eXoSpace logo

Estimating Game Development

2024-07-23

The game eXoSpace that I am developing is supposed to be in a fully playable form (either early access or full release) in Q1 2025. That is still quite some time away, but it does not feel like that at all. There's SO MUCH to do and so little time to do it all. So how do I estimate how long features take, and how do I plan the development work on eXoSpace?

First a totally unrelated but cool shot of the new missile bursts: Trapezoid faction

Being a one-man development team makes some things harder, but estimating and planning is not one of them. Having almost two decades of experience as a software engineer, and some as a team lead and project manager, helps a lot. So, being an experienced solo developer means planning is easy and predictable, right?

Not really.

Things NEVER Go According to Plan

Any time I make a plan and start working on it, things go entirely differently. Some things take much less time (like, 99% less) than planned, often things pop up such as bugs that take a long time to fix, and usually, I work on features in an entirely different order than planned.

"No plan survives contact with the enemy."

(Actually, Helmuth von Moltke said, "No plan of operations extends with certainty beyond the first encounter with the enemy's main strength," in another language, and probably not like that, but you get the point. Or not.)

But that is the reality of software development we live in. That is, if you do not make easily repeatable products in mass production, I bet estimation and planning are quite doable then. But for new, complex, creative work, you should not expect reality to correspond to plans.

So, Are Plans Worthless?

This may make you think that planning is not needed or a waste of time. I strongly disagree with that; I think planning is critically important. Just do not expect reality to conform to your plans. And plan accordingly.

Without a plan, it is difficult to build a piece of software in a "straight line" to where you want to end up. You may end up wasting a lot of time on features that do not add anything that players may want. Or you may end up developing a great game engine, but not a game.

Planning for Focus and Flexibility

So how do I plan for eXoSpace? My totally scientific and empirically proven method is as follows:

That is it in a nutshell. I cut up the work into large chunks, detail them just a little bit (not too much!), work on it chunk by chunk, and clean up the planning after each chunk.

How to Achieve a Deadline

So how does this help me complete all eXoSpace features before Q1 2025? Well, first of all, it helps me keep focus. I have a set of tasks I can work on that is regularly updated. And that helps me keep track of progress: does this still look doable in the time available? That's about the best I can do, and honestly, the best I have ever seen anyone do in complex software engineering.

So, What Does It Look Like, Really?

Here's some example milestones:

As you can see it is all brief, sometimes a bit inconsistent, but it works for me.

What I Am Working on Now

After completing a "metagame" milestone, I am currently working on polishing the entire game, adding small new features, to get the milestone of "1 hour of fun," where a new player has a good and fun experience playing the game and will not be bored for at least 1 hour.

What this has meant in practice for the last few days:

Day 1:

Day 2:

Day 3:

Day 4

As you can see, different days have wildly different output. Some days I am more clear-headed, some days I have more time to work than others. Sometimes the work is just much easier than it sounds, sometimes much harder.

Anyway, I should get back to developing now!

Copyright 2024 Bas @ Fantastimaker
eXoSpace Combat Engineer End User Licence Agreement