At the beginning of this year, I posted a set of goals for the first half of the year. The idea was that a public commitment would help me stick to them. With that period behind us, it’s time to see how I did. Ranked on a scale of 0...
Continue reading
This is the second part of a three-part series in which I explain how the artificial intelligence works in my latest game, Twistago. In case you missed the first part, you can catch up on it here. As you may recall, the Easy AI works by applying a value function...
Continue reading
This is the first part of a three-part series in which I explain how the artificial intelligence works in my latest game, Twistago. The AI has three different levels: easy, normal and hard. This is also the order in which I developed them, each level building upon the lessons and...
Continue reading
As I alluded to in a previous post, Mystery Game No. 1 is no longer a mystery. It is called Twistago and it’s the best thing since… well… the second best thing! I actually pushed the button for global launch almost two weeks ago, but didn’t have time for a...
Continue reading
Always new things to learn! This week, I integrated Facebook highscores into Dragon Attack, so you’ll be able to see your friends’ scores and challenge them to beat yours. I’m hoping this will give the game more lasting appeal, not to mention some ‘virality’. This is what it currently looks...
Continue reading
Earlier this week, I added some variations to the procedural terrain in Dragon Attack. Previously, the landscape was generated one segment at a time, forming a “chain” of rotated sprites. Each segment would have the same slope as the previous one, plus or minus a random number. To avoid going...
Continue reading
Jekyll is a great tool for creating (mostly) static websites; in fact this very site is built upon it. But it doesn’t come with built-in support for using multiple languages. This is a feature I needed for the website of Mystery Game No. 1, which will be released in German...
Continue reading
Princesses, snakes, and bears, oh my! In the form of Princess Maria, or some other form, make your way through 10 levels to save your fiancé, Plumber Pete, from the claws of an evil monster! Taking inspiration from The Talos Principle, Portal, Sokoban and a certain classic platformer, Morphing Maria...
Continue reading
With Mystery Game No. 1 in private beta, while I’m waiting for feedback, I’ve had all week to dedicate to Dragon Attack. A lot remains to be done, especially in the tweaking and balancing department, but there has been a lot of progress. Treasure I added something I’d been thinking...
Continue reading
Yesterday I worked on the control scheme for Dragon Attack. In its original version, Glauron, the mechanics are very simple: Horizontal speed is constant. Vertical speed is affected by gravity as usual. When you tap, a fixed amount of speed is added to the vertical speed over the next half...
Continue reading
In the past few years, I’ve done most of my game development in Java. It didn’t use to be that way. Before Android and libGDX came along, when C++11 was still C++0x, I used C++ almost exclusively. And recently, because of some performance-critical bits in Mystery Game No. 1, I...
Continue reading
At the start of this year, I set myself some goals for the first half of 2016. Today marks the half-way point of that period, so it’s a good time to check on how I’m doing on each of them. I’ll grade each goal on a scale of 0 to...
Continue reading
Update (14 September 2016): A month after I wrote this, RoboVM announced that they were winding down. I already had a (free) license, which is good until April 2017, but if you need a new one, you’re out of luck. The thing that comes closest is MobiDevelop’s RoboVM fork, but...
Continue reading
Update (14 September 2016): A month after I wrote this, RoboVM announced that they were winding down. I already had a (free) license, which is good until April 2017, but if you need a new one, you’re out of luck. The thing that comes closest is MobiDevelop’s RoboVM fork, but...
Continue reading
Rocket Mail was the first game in which I’m tracking metrics, using Google Analytics. Adding Analytics support to your app is fairly straightforward, but using it well isn’t. I’ve learned a thing or two from Rocket Mail, so with Mystery Game No. 1, I’m taking a different approach, as documented...
Continue reading
Any programmer worth their salt will have heard of the DRY principle: Don’t Repeat Yourself. The idea is that repetition is bad: it makes for more code to read through, and it makes code harder and more error-prone to maintain because you have to make the same change in multiple...
Continue reading
It’s Fun Time Friday again! And a good thing too, because I’ve been busy with Mystery Game No. 1 all week, which I can’t blog about yet. So apart from the welcome break, the Friday farming prototype also gives me something to write about. I’ll be using this post as...
Continue reading
While Mystery Game No. 1 is making nice progress, in the spirit of “throw stuff at the wall, see what sticks”, I’ve decided to introduce what I call “Fun Time Fridays”. On Friday, assuming the rest of the week has gone according to plan, I get to work on whatever...
Continue reading
With work full steam ahead on Mystery Game No. 1, it’s easy to forget that I’ve got another baby to care about. Rocket Mail was launched two months ago, but of course the story doesn’t end at launch. In a sense, it only begins. At launch, I spammed links to...
Continue reading
LibGDX has decent localization support via a bundle of .properties files, for example: == strings.properties == app_name=Confirmation App confirmation=Are you sure? == strings_en_UK.properties == confirmation=I'm terribly sorry to bother you, but would you please be so kind to confirm your certainty on this matter? == strings_nl.properties == confirmation=Weet u het...
Continue reading