
How to write a 48-hour game in just 2 years - joeyspacerocks
http://pixelated.postagon.com/5g437329d
======
binarymax
Congratulations on shipping! We may be distant cousins, because aside from
anything that takes longer than a weekend, I can't ship a side project for the
life of me.

This will hopefully change soon however, as I have been diligently coding a
game spending an hour or two almost every morning since September 1st - and it
is very very close to completion, and aside from a couple features is
completely playable now.

So thank you for the inspiration. I hope to soon join you in the ranks of
Enterprise developers who managed to ship a non-trivial piece of
entertainment...and then on to the next adventure.

~~~
joeyspacerocks
Yes, ship it!

I ended up shipping without Game Center integration and added it in the next
version a few months later. It can be done!

------
babuskov
Do you have any stats on the downloads or user engagement? I just released my
game two days ago, and here are the live stats:

[http://slagalica.tv/drones.php](http://slagalica.tv/drones.php)

Can you compare yours to this? Am I doing any good?

Thanks.

~~~
RyanMcGreal
Drone Invaders is surprisingly addictive - the game play has been highly
enjoyable. Congratulations on shipping a really fun game!

Just one minor note: I'm left-handed, but the position of the reload button on
the bottom left corner means I either have to stop shooting and move my finger
down to reload, or else use my comparatively inept right hand to shoot. Again,
it's only a small observation but I thought I'd send it your way for
consideration.

~~~
babuskov
Actually, the reload is added to make sure you stop the shooting ;)

But, I also noticed that on tablets you would easily use both hands: one to
shoot, other to reload, esp. on 10-inch tablet, where the distance is too
great.

I guess I'll have to add a left-handed option to reverse the reload button and
wave number.

~~~
RyanMcGreal
You don't _have_ to - but it would be a very nice touch. :)

------
dspillett
_> developing your game turns out to be the easy bit. Getting people to buy it
... well that's a whole different kettle of ball games_

Getting your story listed on the front page of a site like HN can't hurt!

Less flippantly though: this is a significant problem a lot of people ignore
or sometimes simply don't believe. "If you build it they will come" doesn't
work if "they" don't actually exist, or you don't get news to them that you
_have_ actually built it, or they can't see your's because of the tens or
hundreds of similar (or at least not obviously dissimilar: your app might have
a key feature the other don't but that is the same problem: getting that
message to your audience) apps/games listed on the relevant store.

If you intend to sell something (these are moot points for many personal
projects of course, as the audience initially might just be yourself for the
sake of learning/practising):

1\. Know your audience

2\. Make sure your audience actually exists in appropriate scale and isn't
already over-served by existing projects

3\. Find a way of letting your potential audience know that _you_ exist,
preferably a non-spamy way

Points 1 and 2 at least need to be part of your design before you get far into
coding otherwise you might spend time on something no one wants

~~~
joeyspacerocks
Absolutely agree.

As a developer you need to have frank talk with yourself both before and
during development to figure out exactly what the motivation is. Are you
writing a game to sell? Or are you writing a game for the fun of writing a
game?

In an ideal world the two would be compatible, but ...

For me, well, I'm doing this for fun first, money second. As is obvious from
my choice to make an Asteroids clone - highly unlikely that's going mass-
market.

So why isn't it free? On the off-chance that some money can be made and I can
free myself to do something I enjoy full-time. Just like everyone else I can
dream ...

------
scottlilly
Congratulations!

I just released my first app on the Windows 8 App Store the other day, but
went about it a little differently. I decided to build the absolute simplest
app I could think of – the kind of app that really could be completed in 48
hours.

The goal of this app was to get something into the store. Even if I don’t get
any downloads, this app served its purpose for me. Now, I have the whole
infrastructure in place for my future apps. I have a checklist of what I need
to do. My accounts are all set up. I’ve seen some of the potential bumps in
the submission process. Having successfully been through the process once, I
don’t have that in my mind as some huge hurdle, which could demotivate me from
even starting another app.

Now it’s time to focus on building something that solves a problem that people
are willing to pay for.

------
blakesmith
Good job shipping!

"Most IT projects fail because of scope-creep, bad estimates and being afraid
to ship. Single-developer side-projects are no different."

This is dead on. It's too easy to keep adding more stuff once you start to get
momentum, and then your project ends up with such a large surface area of
features that it becomes difficult to polish and finish. That's where the fear
usually sets in.

Some game feedback: I had a lot of fun playing the first few waves, but the
more difficult enemies are really hard to deal with since I'm always flying
towards them. If I don't start off on the other side of the screen, I usually
die as I fly straight towards them.

Again, congrats on being in the app store!

------
WesleyJohnson
I'm guilty of nearly everything you listed at the end - on a single project.
I've been working on a WWF/Scrabble type game (with some unique gameplay
elements) since early 2012 and it continually gets picked up and put down
again. I've ended up building a component-based ui engine behind it, keep
adding features, try to pick it up without clear goals or tasks in mind and am
probably trying to tackle far more than I should be on my first game.

Thanks for the article and inspiration; it's making me take a step back and
re-evaluate my approach a little bit. Congrats on shipping!

~~~
yeldarb
I've been up to something similar for the last year or so. Man is there a lot
of complexity in a simple turn-based word game than I ever imagined.

I threw together a prototype of the basic gameplay in a weekend but to
actually ship something you need user accounts, game history, push
notifications, error handling, multiple games per user, game creation, a way
to get friends into the app to play with you, screenshots, icons, copy,
instructions, game win/loss screens, current game state indicators,
transitions, a way to quit a game in progress, a way to nudge a dormant
opponent, a massaged dictionary, and that's not even getting to the marketing
side of things!

Luckily it's almost ready to go... but along with that comes the anxiety that
not only do you need to convince someone to play, you also need them to get a
friend to install it as well! (unless you want to program a matchmaking
process or AI on top of everything else which comes with its own can of
worms).

~~~
WesleyJohnson
You're echoing my thoughts exactly. Mine started out as a simple proof of
concept using the CS area in Khan Academy and then I took it "offline" to
flesh it out. That's when I started running into all of the complications you
just mentioned; it really is a daunting task. I'm even struggling with a
platform. It's HTML5 Canvas right now which opens up Facebook, and mobile
using something like Phonegap, but I'm so inexperienced with both that I
didn't think about keeping things responsive for different screen resolutions.
Ugh!

I'm happy to hear I'm not the only one bumping into reality, though it
definitely sounds like you're further along than I. I'd love to check it out
once you've shipped.

------
cmurdock
I went through an earily similar process for a game I'd been developing on the
side. I fell for the trap of building my own engine because I thought it would
be a fun challenge. It was, but I ended up spending 90% of the time working on
the engine and 10% of the time working on the actual game. I eventually
published the app, but I'm admittedly a bit frustrated with the end result. I
wish I had just gone with an engine like libgdx earlier on in the process. If
I had it probably wouldn't have taken me over a year to come up with a simple
2d game.

Also as it turns out pixel art is much harder than I thought.

([https://play.google.com/store/apps/details?id=com.kklop.ghos...](https://play.google.com/store/apps/details?id=com.kklop.ghostmode))

------
Tloewald
2y sounds about right. And your advice about avoiding featuritis is golden
(and applies even to fulltime development).

I wrote a game in six weeks while my twins were still needing feeding at
midnight and 4am (so I took those shifts and ended up using the 3-4h interlude
to play games until I got bored of that, and then write my own). The game was
intended for iPhone (but the tools didn't exist, so I worked speculatively.)
When the toolchain became available it took me two years of spare time to
rebuild the game for iPhone.

Oh, in case anyone's interested --
[http://mantagame.com/](http://mantagame.com/)

------
josephlord
If you register the app in iTunesconnect then you have 6 months to submit a
binary. That can help focus the mind and get it shipped rather than add one
extra feature.

------
dbough
Start small, decide what it is you really want to accomplish, and use a
realistic timeline. Things I always forget when starting any (side) project.

I only allow myself an hour or so per day to write code on the side, or to
play with a new technology or library. If I don't put boundaries around
whatever I'm doing (and have an end-game in mind), I end up wasting a lot of
time and don't get anything out of it.

------
yohann305
For a moment I read the title wrong as the following and got super excited:
"How to make a 2-year game in 48 hours!" :)

~~~
MrZongle2
Well, yes.... if you insert the flux capacitor _properly_.

------
Pxtl
So, for those who are into this - for somebody with a little experience in C++
and mostly experience in C# and various dynamic languages, what's the shortest
distance between "idea" and "game" in terms of tools? Unity?

~~~
GVIrish
Definitely Unity. The forthcoming Unity 4.3 release will feature a new 2d game
workflow that should make it easier to create simple games for people new to
game development.

~~~
Pxtl
Ah. Now all I do is need to reign in my raging ambition enough to admit that
an RTS is _not_ appropriate for a first game.

~~~
GVIrish
Maybe you could still do an RTS, but cut it down to the bare bones of what it
needs to have.

Look at a game like Rymdkapsel. It's an RTS, but it cuts a ton of complexity
out of the gameplay. By doing that, and focusing on some simple but fun
mechanics, and a very simple art style, you've got an RTS that a small team or
a lone programmer could implement.

Rymdkapsel cost $4 and they've got at least 10,000 downloads on Android and
who knows on iOS so that means they've probably cleared north of $50k to maybe
over $100k.

~~~
Pxtl
Absolutely, that's the exact genre I'd want to target. The RTS world is way
too baroque, I love the minimalists.

The problem is that even a simple RTS has some brutal challenges - pathfinding
is hard, and if you want to go multiplayer you have to find a way to get
lockstep logic (in C#/Unity this means doing all your simulation math using
custom fixed-point numbers and using lookup arrays for all your trigonometry)
- that and you need unit-AI.

RTS is _hard_.

------
blainesch
I'll just leave this here.

[http://www.google.com/safebrowsing/diagnostic?site=google.co...](http://www.google.com/safebrowsing/diagnostic?site=google.com/&hl=en)

