or "Help! I can't finish anything!"

"Help, I can't finish my games!" — a common plea for help from new and veteran developers.

As developers, we've all been there. It happens! We have illusions of grandeur and our games turn into prototypes that are abandoned to the "backup" folder or litter private git repos. What shocks me is when I meet developers that have not released any games. Let me tell you now, there's still hope for you!

I've made tons of games, libraries that can be reused, and tech demos to make sure a game concept is possible with a framework or engine. Don't be fooled, I have also made things that don't go anywhere, and just end up being forgotten.

I have been making and releasing video games since 2011, and one of the most important things I have found is that you've got to be honest with yourself.

Be honest — what is your attention span?

"I've been working on this X for the last Y months, but I can't finish it!" — a common phrase when a developer has no idea what their attention span is.

Now for this article to make sense, I need to clearly identify what I mean by attention span: your attention span is how long it takes you to finish a game, not how long you think it will take you to finish a game. By taking a moment and being honest with yourself, you can very easily figure out what attention span you have for making games. Making indie games should be fun, not a chore. Being able to finish a game and release it is of the utmost importance. How else are you going to be able to prove you can do it? If you're going to take game development seriously, a portfolio is important.

When I started making games, I had a very short attention span... I may be a professional software developer, but my attention span was not days, it was hours.

There and back again ...

"We can't stop here, this is bat country!" —Fear and Loathing in Las Vegas

Over the years I have gotten a longer attention span. I want you to know, this takes practice and dedication. Making games isn't easy, but with dedication and focus, you can do it. Let me show you some some of the many games that I have made over the years as my attention span has gotten longer and longer.

Aeternum Blammo (~8 hours)

This was my first "real" game (we'll leave aside CardWars for the TI-83+): Aeternum Blammo is a simple top down shooter where you try to survive as long as possible.

The quality of the game was abysmal. I had very little understanding of the LÖVE framework and had no idea how to make my own assets. The game included:

Spaghetti code "lifted" from a forum thread.

Music from a liberally licensed a chiptune collection (8BP099 - Starscream, now Infinityshred!)

A bunch of graphics that I "lifted" from random forums (Star Trek, Firefly, Battlestar Galactica, Star Wars)

I had very little idea what I was doing, but I finished and released the game in a day.

Pocket Strife (~2 Days)

Pocket Strife was my first Ludum Dare game entry. I saved some time by reusing libraries, but for this game I had to follow the rules. I had to make everything. You'll notice that the game had no music. While an interesting entry, it was a game that would only run for about twenty minutes before filling up memory and eating all your CPU cycles. I was consuming caffeine and eating instant food, but I had made a few games already and was able to shlock through it.

Dun.Gen (~3 Days)

Dun.Gen is a top down game where you have to protect the princess from the bad guys. This was my first game made in 72 hours with a huge six person team. You'll notice there is now overhead for management. I remember fondly working on one thing, and then being interrupted to have to work on something else, only to be interrupted again. Working on this game felt very much like a stack system of some sort. I had very little sleep and did a ton of work, but we ended up with a whole game.

XAPALUS (~7 Days)

XAPALUS was a game made in a week where the developer for the client code dropped out and I had to pick up the slack. This was a smaller team, but with a much larger scope: an online multiplayer game. The result was buggy and the server had to be restarted often, but I loved the idea so much that I reworked the game as XAPALUS: Deluxe.

Salvage Solitude 8140 (~25 Days)

Salvage Solitude 8140 is a first person game about fixing a broken space station. This game was made for the One Game A Month challenge. At this point, this is the biggest game I have made so far. I made this game in a cottage in Michigan without internet, having to drive to the local McDonalds to download assets from my team and get documentation for Unity3D. This game required a huge attention span and has paid off. Personally, this is my crowning achievement, regardless of some of the bugs, UX failures and homebrew assets.

Now the truth: I lied to myself.

Remember how I was telling you to be honest with yourself? That's hard. Really hard. I haven't been making games since 2011. I've been making games since 2001. I made games in TI-BASIC, QBASIC 4.5, Borland Turbo Pascal 7.0, Java, GameMaker 5 and even PHP/MySQL.

You know "that guy"? You know, "that guy" that is making a huge MMORPG for months on end without sight in end? That was me too.

Originally a I made a framework called "phpOpenWorld", which was rebased into the "fun framework" where it finally gave way to a small prototype called Armada of Nyx.

As happy as I was that I made this game, I am so sad that I never finished it. I spent months making this game, and have nothing but a half made prototype to show for it. Looking back now, I realize I never would have finished it. I simply didn't have the focus! (I would like to clarify, it wasn't the MMORPG part that was hard. I did make Bitmo Pirates MMO in 48 hours!)

Conclusion.

"Art is never finished, only abandoned." —Leonardo da Vinci

Get Off, Cat! (~1.5 Days)

Once you get the basics down, you will find that you can make games in your sleep. I made Get Off, Cat! and it got a fantastic score (Second in Humor!) for Ludum Dare. None of this would have been possible without the years of practice and focus. The experience I gained and the libraries I made helped me get to where I am now.

I used to lie to myself about my attention span. I could spend months making a game, but I would never release it. Understanding this and starting from scratch was the key to my success.

Regardless, the games I have shown you couldn't have been possible without the success and failures of previous games. It's important to succeed and fail when learning.

Here's the takeaway: you can finish games, but you need to start small.