Beginning Android Games riding into the sunset

A few months ago i was contacted by Apress on wether i want to give my book Beginning Android Games another update. The fist edition was published in April 2011, with two subsequent updates, Beginning Android 4 Games (horrible title i objected to in vein), and Beginning Android Games 2nd Edition. You can imagine that there’s some kind of emotional band between me and that 700+ pages behemoth. So, allow me to close this chapter of my life by giving you a short history of Beginning Android Games.

I still remember those initial 6 months of writing the first edition as if it was yesterday. Android was still young, and i found a nice niche with the book. The book was the perfect outlet to document all the small and big issues i encountered during those early days on top of trying to teach people how i think one could approach writing games for Android.

For 6 months i had a bi-weekly 3 days crunch where i’d write an entire chapter (20-80 pages, including formating, figures, tables and of course lots of code). I’d write at night after work on my little ASUS netbook, cursing MS Word every few minutes. If you ever get approached by a publisher, ask for a Latex template. Chances are they may not know what that is. If they do, you got a winner. The use of Sharepoint may be the second filter you can apply.

After a stressful 6 months spree, the book went to the print shop, ready to be shipped around the world. For a month i didn’t hear from anyone. In April 2011, the book was finally available for purchase. It was one of those moments in your life when you couldn’t be happier. I seldomely felt such a feeling of accomplishment, irrespective of wether the book would actually sell or not. Shortly after i got 20 physical copies which i handed to friends and family. An equally satisfying feeling.

The books climbed the ranks on Amazon and eventually held the #1 spot for many, many months in the game programming section. This was another milestone, and it’s hard to describe how it feels. The book sold really well appearently. A fact that was later confirmed by royalty statements from the publisher.

A few months later, Apress approached me again, saying it was time to update the book. I’d barely recovered from writing the first edition, so i found a co-author in Robert Green. He was another early Android game dev with whom i exchanged a lot of gossip about Android’s peculiarities (broken multitouch anyone?). He singlehandedly updated the book which eventually became Beginning Android 4 Games. We had quite a few discussions with the publisher about the misleading title. They didn’t give in. End result: the book didn’t sell well, the first edition has always outsold it. Many readers were upset about the title choice, and i can relate.

Another few months later, Apress had another update request. This time,the book would be called Beginning Android Games 2nd Edition. I took over most of the update this time, adding a few new chapters, e.g. how to use the NDK to speed up performance critical code. This edition did quite well again and held the first spot on Amazon for quite a while.

Finally, i got approached earlier this year to update the book for Android 5.0. Again, i felt like i needed a co-author as i was just about to change job and felt quite exhausted from a long stressful period at my old job. I found a willing victim in Justin (Nex). Sadly this didn’t work out for various reasons (none of which can be attributed to any single person involved).

The book opened many doors for me and allowed me to go places and meet people i wouldn’t have meet otherwise. That alone was worth the effort. It also showed me what can be done if you are determined. I’m really proud of what we achieved.

It is thus with great sadness that i have to announce that Beginning Android Games will not be updated by me or any co-author. It had a good 4 year run. Apress may still chose to find an update author on their own, which i’d mentor if they want me to.

I’d like to thank many, many people. Stef for keeping me sane while writing the first edition and putting up with me and an empty bed for all these months. Robert for being a splendid co-author. All the editors at Apress who helped the book become what it is (who sadly weren’t available to correct this blog post). And last but not least, all you readers for sending me a lot of kind words over the years and sharing your stories.

Happy coding :)

The curious case of Kilobolt using my book’s code

Update: James Cho from Kilobolt contacted me via e-mail. We had a very lengthy discussion, here’s the entire conversation, start reading at the bottom. James agreed to put up a link to the book. To those sending hate-mail to Kilobolt: please stop, that’s my job, and my job only. Our community is better than this, and your thoughts are better expressed in the comments below and on the forums. I leave the original post intact so you can judge how much of an ass i made myself look like :)

So, a few days ago i found Kilobolt’s “Android Game Development Tutorial”. The tutorial is currently the #1 search result on Google for the terms “android game development tutorial”.

Obviously, the code on that page is my book’s code. While the author states that he improve the framework, all he really did was fuck up the formatting, and add modifications that will ensure that the game will run horribly on any mid-level device. The tutorials explain nothing, hand waving via phrases like “you don’t have to understand this”.

That’s fine. The code is Apache 2, so legally all is well. If people want to learn from such a poor resource as this tutorial, that’s cool with me as well. If you want the real deal, click on the book image in the top right corner of this page. Or find a backup copy on the internet. The code is here.

What’s a bit funky is that the tutorial pages are full of ads. They are everywhere. Fair game, the code is Apache 2, but it leaves a very bad taste in my mouth.

Here’s what’s not fine. I wrote a friendly comment on one of the tutorial pages. That was deleted/not approved. After that, the author appearantly shit his pants a little and added the paragraph about the code being based on my book. Without linking to my book. I tried to contact the author via e-mail, twice, but never got a reply.

Now, just to make sure i get my message across properly: i love when people use my stuff to create awesome things, be they commercial or non-commercial. I have no problem with not getting a “cut”. I do have a problem with leeches like Kilobolt, that take the hard work of others, sell it as their own, not even giving a single bit of credit where its due, and monetizing it heavily. I also have a problem with poor tutorials, that explain nothing, give terrible advice in form of horrible code, while making the reader think they are learning something worth while.

It kinda sucks that things like this happen. Again, form a legal perspective it’s fair game, and i do not complain that someone’s using OSS code for commercial endevours. However, the way Kilobolt is doing this (no credit, then a little credit, no replies to e-mails, censoring of posts) is disgusting. The book was one of the few ways i try to make a bit of money from libgdx and all the other gaming related things i put out there for free. Seeing it being ripped off like this doesn’t evoke the greatest feelings.

Here’s a link to the “Android Game Development Workshop” i gave a while ago. It contains extensive slides explaining everything, and comes with full source-code. Do yourself a favor and use that as a resource, instead of this horrible money grab by Kilobolt.

Apps World 2012 Retrospective

I spent the last two days at Apps World in London. The nice guys and gals from SixDegrees invited me to give a talk on beginning Android games as well as participate in a panel discussion on HTML5 as a (mobile) gaming platform. What follows are a few memories from the event.

Day 1

I arrived at the venue in Earls Court at around noon. The exhibition center was packed with people, pretty much everyone who’s in the mobile space was there, from Samsung to RIM, Microsoft and so on.

The first talk i listened to was by AJ Grand-Scrutton, CCO of Dlala Studios. He previously worked at Bossa Studios. For their first game, Dlala Studios focuses on Windows 8 exclusively. AJ went to great lengths to tell us about how awesome Microsoft are for giving them all kinds of tools for free, and how they are not assholes. He assured us that they receive zero money from Microsoft. About 20 times. Coincidentially, they are also featured on the cover of the current edition of Develop magazine.

AJ told us the pretty cliche story about living at his mom’s, not having any money but wanting to realize his dream of making games. Sprinkled with references to games like SMB 3 or TV shows like Dexter’s laboratory. None of which i could discover when he demoed the actual game to us in private, after his talk. The game itself was barely mentioned in the talk, apart from showing the box art. He gave his speech a second time at the Microsoft booth later on.

It all felt very awkward and artificial to me. AJ ranted quite a bit about the (true) fact that many companies hire capable folks for cheap as interns, instead of employing them properly. This rant felt kinda strange, given that Microsoft got Dlala Studios for cheap to promote Windows 8, as according to AJ, they do not see a cent from Microsoft. They obviously get exposure through their Microsoft cooperation. To an outsider like me, it looked a lot like Microsoft wanted to attach the “indie” vibe to Windows 8, by hiring those guys to talk about how awesome everything is.

AJ seemed like a nice chap, and i wish him and his team the best of luck. Teaming up with Microsoft is probably a smart move, and there might be a real chance for them in case the Windows 8 market works out.

I also met Rod Hyde, who’s been involved with libgdx for quite some time. He contributed Very Angry Robots to our demo selection a while ago. We had a jolly good time talking about game programming and life in general.

Day 2

This day started with me meeting “The Batman” at the Apress booth. Didn’t dare to talk to him though, he’s the Batman after all. Apress asked me to sign a few books for folks passing by the Apress booth. To my surprise, a metric ton of people turned up, and i got to excersice my handwritting skills quite a bit. The most interesting observation was that most people come from an enterprisey background and want to get into games on the side. I had people from all walks of life coming by, even folks from the British Health Association. It was quite a blast. Big thanks to Brandon Levesque who organized this whole thing.

In the afternoon i had my talk about “Beginning Android Games”. Most of the folks that listened to the talk before me stayed, so the seats were filled pretty well. You can find the (non-informative) slides on SlideShare. Of course i couldn’t help pitching Nate and Shiu’s Spine as well as libgdx :)

After the talk a couple of folks came up to me, and we talked games, libgdx, Android and iOS. Good times! I got to know a couple of folks using libgdx and making quite a bit of money off of their games. Like Rich Woods from Exobyte. You’d be surprised how much money you can make off of Android games :) I also meet with Laith from vserv, and ads company. They have a very interesting approach of adding ads to your application. I haven’t tested it yet, but check out their site, it’s really interesting. There’s a chance that we might collaborate with those guys at some point, stay tuned.

The rest of the day i spent with Tamas, who showed me around Bossa Studios an the Silicon Round-about. We spent the the night talking about a few ideas we have. Hopefully something comes of it.

Thanks to SixDegrees for inviting me, i had a real blast! And i’m so sorry for the Jano’s, poor folks let me sleep in their house. <3