Learning from Failures


Not trying to ruin your Monday but yeah let’s talk again about failure
as I recently seen again 2 examples.

It is hard to be an indie dev and even harder to be an indie gamedev.

Last time I was talking about time and space
About Time and Space in Indie Software Development,
now let’s talk about programming languages and how it can influence failure.

Here the two examples seen on Hacker News

First, Did I just waste 3 years?
and the HN comments

It is about Luke Rissacher (lukerissacher.com) who wonder, after 3 years of efforts working on Infinitroid and only 4 sales, if he has wasted all this time …

It is tough indeed, but in the blog post the guy make quite a good analysis of the indie game industry
eg. Industry mayhem and the indie tidal wave and mention another gamedev

Cliff Harris of Positech Games warns on his blog

and here the sharp quote (from the other post Your Indie Game Will Flop and You Will Lose Money, also a very good read)

You are reading the thoughts of a guy who was coding since age 11, has 36 years coding experience, has shipped over a dozen games, several of which made millions of dollars, got into indie dev VERY early, knows a lot of industry people, and has a relatively high public profile. And still almost NOBODY covered my latest game (in terms of gaming websites). Its extremely, extremely tough right now.

and in another part he also mention Financial matters

As it stands, I’ve put in 2,600+ hours and written 62,176 lines of code (mostly C++). The game’s made $27.92 in income, which nets out at about $0.01 per hour. Had I spent the time washing dishes at $7.25 / hour (a 725x more lucrative job) I’d have made a cool $19k!

which is imho also a good analysis, I kind of do the same calculation from time to time just to keep it real.

But what caught my eyes really is 62,176 lines of code (mostly C++) … humm
that make you think, I mean you can pick whatever programming language to build a game
but really C++ ?

Well… no wonders it took 3 years, C++ is harder and will make you slower by default.

That’s where I will say “my feel”: you should have gone ActionScript 3 / Flash / AIR dude!!
especially for a 2D platformer…

Even with the raw stuff, just AS3 and the default Flash/AIR API, no frameworks whatsoever,
you have already a lot of basic tools to build stuff like displaying images, playing sound, and other Sprite and MovieClip to animate stuff.

I mean seriously, if you’re building a game, focus on the game, not on building the tech to allow you to build the game, because yeah it is a huge time sink.

And I did watch the game trailer

3 years? wow, how about in 3 months using AS3/AIR ?
Even if it is not as polished, even if it is slower, even if you can not do as smoothly the same kind of effects, etc.

you can definitively build a solid platformer in months with AS3, not years
even if the final goal is to do it all in C++, at least use Flash as a rapid prototyping tool

Second example is The End: I can not finish Limit Theory
and the HN comments

that time it is about Josh Parnell (@proceduralguy) who started a kickstarter with $50,000 goal, got $187,865 pledged, but spent 6 years working on it to finally end it all …

so from the post

Well, I will prepare the source code for release. It’s not a working game, and in my frenzy to get things working I’ve left huge swaths of code in a half-refactored or half-complete state. But releasing it is the least I can do. I don’t imagine it will be of any use to anyone, other than as a monument to a failed dream. Perhaps those who are interested in game engines will glean a thing or two from the engine, as it is a fairly solid piece of engineering, much more solid than the Lua game code.

and with a bit of digging in this project history I see that the guy rewrote the whole thing from Lua to C++
again a problem of programming language …

what could not be done with Lua and some graphics libraries ?

again I would say reusing Flash technology, even just for rapid prototyping, could have saved a hell lot of times, or at least avoid wasting time.

and looking at the FAQ

What are the System Requirements?

Although I can’t give you exact specs yet, I can tell you that the game won’t require a whole lot of power to run. If you’re used to playing modern games on your PC, then you’ll be just fine.

To give you a bit of perspective, the first three months of development took place exclusively on my laptop, which has a Core 2 Duo processor and GeForce 9400m graphics chip. In other words, a laptop with just about zero gaming capability. Even with these specs, I was able to run smoothly at medium quality.

The LT Engine is quite efficient, but it also doesn’t leverage any extremely expensive graphical techniques, so you shouldn’t have to worry much about your specs!

well “my feel” is the guy could have build the engine with just Stage3D

man … 6 years of time down the drain, that’s a lot

So yeah I’m certainly unfair to say those things, not knowing all the details of what went into developing those projects, but I still have a point: AS3 is a hell lot faster to master than C++, even if you write everything from scratch (but reusing the good basis of the Flash/AIR API) you can develop things much much much faster.

Speed, when you’re an indie dev, is a huge asset.

When I see such projects and others, I always ask myself “how long would it take me to build it with AIR?” and most of the times the answer is: less time.