Trial and Epic Fail

Ventures of an indie game developer

Book startup

So far I've only done some exploration research for the book I'm about to write, but today work begins for real. I've decided on chapters long ago, but not sure it's a good split to cut across sub-disciplines in the field though, so I'll spend some time on this.

I'm going to use markdown, which is really a no-brainer. I'll do some exploration on the available editors, but I didn't like MarkdownPad 2 for the simple reason that it only allows raw editing. When writing a book I feel that wading through all that clutter can severely affect your flow. (If there is such a thing, which I suppose there is, it corresponds to the programmer Zone.)

The introduction chapter in a controversial non-fiction book is exceptionally important. I'll try to let my guard down as I've seen the mistake of "covering all bases" too often in the science literature. The researchers know they're going to get stomped with all the tonnage the sceptics can bring about, but it often leads to books that are boring to the mainstream and rest of the science community.

As a test of what works and what doesn't, I'll write a few introductions today as an exploratory test to avoid the refinement trap:

The title is probably equally important, I don't want people seing "yet another one of those hippie books which just boil down to self-loathing, drugs and spritual awakening." So it needs to be modern, snappy, young, cool and fresh.

I want to keep the tone of the book light and airy, but with hard facts. I'll reference the facts in the book, but in the paper version I'll make 'em interfere as little as possible with the rest of the text by using the page number and a per-page reference number. That way I can squeeze in thousands of references without getting something1234 that looks1235 like this1236. Even though very few readers will check the references, I'm confident they will add umph to the work.

I'll also try to keep the tone serious with the occasional gag here and there. Humor is an important aspect, but being from the ironic generation I feel it's important to not let it take over so I won't alienate the rest. In my experience humor works best when interspaced properly and kept low-key. I really love some of Jeff Atwood's pieces, so I'll steal some of his ideas and "novelize" them.

Lastly I'll just let it gush out. I'm going to write it down and then fix it later. What I usually do in everything I write, such as this blog, or e-mail to co-workers and friends, is that I edit, re-write, go back, move around sentences and parts thereof, re-read and so on and so forth in many iterations before I settle on something. I assume the first version of the book will come out awful when I just transliterate thoughts to text, but instead I'll come back later, catch the intent and do my exploration from there. I'll do so in the introduction chapter to evaluate. If it works well, I'll do the same throughout the rest of the book.

Mm-mm, this is gonna be fun!!!

Trabant IDE postmortem

For the first time in a month or so I picked Trabant up for some prototyping. I just wanted to check how easy it would be to improve on the terrain in the Terminal Velocity prototype. I've always liked nice, big terrains, and I've always thought it wouldn't be too hard to make a mock up. It's not nature nor Minecraft terrain generation, but adding two factors on the polynomial and using a real PRNG changed this:

into this:

But frankly. Who cares? Let's see... UP TO AND INCLUDING TEN PEOPLE!!! It's trending! See for yourselves:

If this continues much longer all the folks at Epic Games will be out of a job soon!

So I was right (no surprise there): nobody will "get it", a handful at most will find it useful (probably not) and nobody will ever use it. Trial and epic fail on the one hand, but on the other it's a fantastic tool and I really think I did a good job so far. This is the first time I've ever thought that of software I made. Bring it on, you say? No? Well, I'll do it anyway.

What went wrongWhat went right
Bound to be forgotten by history
Big players will never find this, and they might think that they won't need it. Which might be true as they generally don't do new types of gameplay. Small indie studios are too focused on the daily grunt to even care about prototyping. Single-person developers don't think they'll need it, and once they realize something is awry with their game, they will neither know what went wrong nor that prototyping would have helped. Thus I've made a product that is only going to be used by me.

The terrain improvement depicted above touched three lines. One of which was adding an import statement. If you don't get the significance of that, you've got a hole where the left part of the brain normally goes.

Looks booooooring
Not using assets is a key success factor. But it also makes every scene look like an angular blobfish out of Minecraft.

No assets = focus
Altogether ditching assets means you can prototype your game idea without even giving looks a second thought. Thus game mechanics gets 100% focus.

I wanted the IDE on the iOS device so that people (not me) could fiddle with the code on the bus. But the iOS IDE is bound to be misunderstood as the primary means of development. And as such it sucks.

Just a little bit of application code
The basics are done for most type of games in half an hour. It's all application code. The API and the IDE both take on stealthy roles, and there's no callbacks, naming, loading, initializing and most of all: no framework (god I hate those)!

The Pareto principle applies to playing-developing in Trabant too. So for some strange reason I keep playing my dull prototypes 80% of the time, leaving only 20% left for developing.

Best API
I've never seen an API even close to this. Srsly. It sometimes feel like divine intervention for me to come up with some of these things. Reusing pos() and pos(x) as a getter and a setter was genius! Using ASCII art as models is fucking brilliant! If I should be remembered for one thing in my software career, it's definitely this style of API and I couldn't be more proud, divine intervention or not.

I also must mention that rigid body simulation is always right there, without adding any code your graphical models will double as physical bodies unless you explicitly choose not to.

Sounds too good to be true
All software developer companies these days use big words for half-ass products. Trabant is a small but excellent product, but nobody could ever think that from looking at my web page. It just comes out as half-ass words for a shitty product.

No installation for the IDE
Unzip and run the .exe inside. Press F5 to run a prototype. That's all you need to know. But that might not be entirely positive, "sound too good to be true?"

Fully booked
Now that this product is done, and I've rested for a bit, I'm going to start tinkering with my next project. The next project is not a game, it's a book. A book on parapsychology. I'm really looking forward to researching and writing that!

3D and looks

In the blog post The tech arms race in AAA - and why I'm abandoning it a seasoned game developer makes the case that 3D is not always better. Thank you! I never realized how true that was until now, I've been blinded too. Hm... I have a lot to think about.

Next step

I've released five ugly and awkward games and made a few more that I never released (mostly due to lack of time or Apple).

Right now I only have one game idea that I have to do, one of those that are going to make me a millionaire. There is really only one aspect of the game that is difficult to do, but that part is on the other hand very, very complex. But now that I've put the shitty games behind me, there are a number of technical things I want to improve on in order to make a fantastic game:
  • rendering;
  • multiplayer*;
  • modelling, skinning, rigging, animating (humans).
I've decided to take a look at UE4, which instantly can get me 10x the quality I could ever make myself. I'll make a few prototype games to begin with.

* Interestingly I've added a ton of networking code. Never used it. What a waste of time.

How to Basic

Just found out from my 10-year-old son what he thinks is funny on the interwebz. Half of which is plain sheit, but I almost lolled my socks off for this one.

Either we have a similar mental age or they've managed to make something outsanding: humor that works across generations. But nah, I'm just a retard.

Next up might be a post-mortem.

We're live!

The following app has been approved and the app status has changed to Ready for Sale: Trabant. Woohoo!

All that remains now is to figure out how to educate people on how to use Trabant for iOS, so they won't think it's an editor. It is merely a simulator with fiddling support. I might as well give up right away. Done. Ahhh... feel better already.


No reply yet from Apple, Trabant is still in review.

In Trabant I don't think using 3D added more than a fraction of extra complexity. Normally that's not the case I find, as 3D and rigid body physics is almost always a nightmare to fiddle with in most API:s I've seen. But going 2D does not guarantee a simple API. Let's just look at some examples from the 2D world to see how I'm doing:
The rest of the game engines are no different, and I haven't even mentioned assets, portability and installation. These are top recommendations for 2D prototyping. When it comes to 3D it's of course similar or worse. Trabant really should have a niche here, but I'm afraid no-one is going to "get it."

To me 3D was a big leap; I've always felt like 2D games were extremely entertaining versions of crosswords, but it never became evident until I first set my eyes on a 3D game. I still remember it to this day. A friend was playing DOOM I in the computer room in my high school.

I must have been 16 or 17. We instantly commented on the use of sprites instead of proper models, but the environment! OMG! Of course it inspired a generation and the rest is history.

By the end of high school all boys in my class played Quake I several hours per day, facilitated by boring computer lessons. I was an over average player, but never near the Swedish elite who went on to be the first swedes to make a living playing games.

I haven't played online since, as I know the effect it has on me. But the last two weeks since I finished Trabant I've played Quake Live after the kiddies went to bed. And I still find it soooooo much fun. I guess I was conditioned at a young age, with a slight disposition for it. But I can't handle it so I need to quit. My heart races, the adrenalin is pumping and I can't go to bed for several hours after I've shut down the computer so Quake no more unfortunately. Or perhaps just a couple of times per year.

But omg it feels good to beat the kids half my age! Oh, it feels so damn good. Better than pizza and then some. Especially my age.

About the author

Min bilder
Gothenburg, Sweden