What's in a game?

The era of the highend homemade is here. Computer hardware has become relatively inexpensive for insane amounts of processing power. Development tools of all types have become affordable and approachable. I'm making games today because the amazing folks at Unity created the game development tool of my dreams.

So what does it take to make a game? There is a lot of information out there comparing different game development tools, art packages and scripting languages but I want to speak to the one thing that is constant regardless of the hardware or software you have access to. All it takes to make a game is work.

Never created a game before? Jump in! It doesn't matter how big or small or whether you complete it or not, you will learn by doing. That's it. There is no magic ingredient. Just put the time in and eventually you will end up with a game.

Here are some numbers and stats that while not vitally important will give you an idea of what has gone into making this particular game so far.

I've been working on Catapult for Hire on and off for a little over a year and a half and have put in over 2600 hours of work (I only started recording my hours in February 2010). As far as code there are currently 517 Unityscript files with 23131 lines of code.

In Jon Blow's recent talk on "How to program independent games" he showed that his game Braid came in at 116204 lines of code which makes my codebase seem pretty paltry though it's hard to compare as every game is different. AAA games can weigh in at millions of lines. You can't compare languages and coding styles either. Braid was mostly written in C++ and I tend to keep my code pretty vertically compact. Brackets on the same line for the win!

Catapult for Hire currently has nearly 1500 art assets. This includes 3d models, textures and animations. This number doesn't include "Work in Progress" stuff that hasn't been implemented in the game yet. That may not seem like a lot but I'll never forget all the polygon pushing, brush stroking and keyframing.

Artistic endeavors of any kind can be brutal. When you're first starting out on something new there is optimism everywhere. People will look at what you're doing with excitement for what it will become. Then as you continue to pour your heart and soul into the project you start questioning and doubting yourself and even your sanity. That's the point where you need more community feedback for a reality check. That is of course when trolls start to come out from their internet hiding places. Now that the project is more clearly defined people stop looking at it with optimism for what it will become but they judge it for what it's not.

Competing for fame and gold in the Colosseum

Along with the fear and self-loathing, some developers can have trouble finishing larger projects because the prototyping phase can be so much fun. Working on a single project for a long period of time can burn you out whether the trolls have revealed themselves or not. One thing that helps for me is using an iterative approach. I'm a big fan of iterative development. Nothing is final until the game ships. An iterative approach allows me to keep the thrill alive as I can constantly try new ideas and if some don't work it's not painful to just drop them.

One of the big draws for me in becoming an independent developer was that I wouldn't have to deal with tyrannical managers and potential interdepartmental politicking. I love working with other people, but sometimes you're forced to work with that person that seems to have no other purpose in life than to undermine everything you stand for. You've been there, right? Right?

Testing Doc Hahm's experiments at the testing grounds

I've found that working alone is extremely liberating but making important decisions can be agonizing. With endless possibilities how do I choose just one? In a traditional development environment there would be writers making decisions about story direction and other teams would just make it happen though each team would be vying for their concerns to be taken into account. The tech team would want to take out the epic fluid simulations, the art team would want to add more explosions and the marketing team would want to monetize and ruin everything. Wait, did I just say that? Yes. Yes I did.

Going ethereal allows you to go through physical objects

In doing it alone you have to take on the role of each of these teams. Every decision you make is not conflicted by an outside source but from within. As an independent developer you have to prepare yourself to experience severe self-conflict. Realize that this is healthy and normal. This isn't self-doubt and this isn't weakness. Just acknowledge that it can be hard and, at times, overwhelming. The trick is to never stop, don't sweat the small stuff and keep working until it's done.


Adding Character

The mid-90's were a magical time for me. Having grown up playing Commodore 64, NES, Sega Genesis and Super Nintendo, hearing news of Nintendo's newest upcoming 3D console had this kid dreaming of endless possibilities.

I would dissect every issue of Nintendo Power, squeezing out every bit of new information about the Nintendo 64. During that time subscribers received VHS tapes from the trade show in Shoshinkai Japan with gameplay footage. I watched those videos nearly a hundred times.

This enthusiasm carried with me wherever I went, convincing my friends that the Nintendo 64 would change their lives forever. Sometimes I elaborated a bit too much. Once, in talking about Mario 64, I explained that the worlds were endless. If a player reached the edge of a world the game would continually generate new places for the player to explore. Procedurally generated worlds were something I had no clue about, but that's how I told everyone Mario 64 worked!

Finally sitting down to play Mario 64 and Pilotwings 64 was magical. My elaborate conceptions of the games weren’t exactly true, but the experience did not disappoint. There was something about these polygonal worlds that made me want to explore every inch available.

That’s the feeling I want to go back to with Catapult for Hire. There is something about throwing a projectile through the air and watching it from any angle that is so satisfying.

Not only did the worlds become more real in 3D but being able to see a character like Mario running around from any angle made him come alive.

My goal with Catapult for Hire is to create a world, that with a little imagination, you can get lost in. It’s important to me to create characters and art that have just enough detail so they can give you the feeling that the world is real, but they are not so detailed that they don’t leave any room for imagination. Of course this mantra is helpful for a currently one-man team. I can’t create the next “Call of Halo: Explosions Forever” all by myself! Nor do I want to...

Some of your clients

These are some of the clients that you will encounter in Catapult for Hire. Each has their own flair and types of jobs they need your help with. From left to right you have Elder Atoh and Woman Villager. I know, good name right? They usually need help with mundane agricultural tasks, but believe me, they will still be fun. Next you have Doc Hahm. He’s the smartest dude in all the land. Help him in testing his inventions and in return you'll get all kinds of cool gear. The little purple guy is the Village Idiot. An aspiring fashionista and gambler. He'll get you in plenty of trouble. Finally we have Lord Holdar. Having not been hurt as much by the collapsed economy as some he’ll be able to offer more than the average client in monetary rewards. That is, if you can handle dealing with his vanity.



Catapult for Hire has reached its Alpha milestone and to celebrate, here is a new trailer!

To keep up with the progress of the game, please check out the Facebook page.