This is the second part of this postmortem. Catch up on the first part here. Sunday morning: controls and gameplay We have fire, we have buckets of water, we can get the buckets to the fire… now what? Throw ‘em, of course! So if a peep in state PASSING sees...
Continue reading
This weekend was the third instalment of the Alakajam! game jam. I was really happy about the shortlist of potential themes, so I knew this was going to be a fun one. The winning theme, “Always growing”, was my second choice. In this article, I’ll describe beat by beat how...
Continue reading
As an indie game developer, I find that it’s important to invest time to get to know your tools really well, so you can make the most out of them with the least amount of time. This is often at odds with the urge to try something new and different,...
Continue reading
Mixium is a puzzle game in which you mix liquids to achieve a particular ratio. The trouble is: your beakers don’t have any scale on them, so you can only fill them to the brim or empty them into a larger beaker. Mixium was my entry for the 1st Alakajam!...
Continue reading
Last week, I talked about a fairly sophisticated attempt at solving my 2D discrete physics problem, which ultimately turned out to have unfixable flaws. But I need this problem solved for my game, so I decided to relax my requirements for the time being. This is just to get something...
Continue reading
In last week’s post, I discussed my first two failed attempts at creating something like physics on a 2D grid. It gathered a good deal of attention on Reddit, with several replies from people claiming to have solved it, only to introduce new problems. As I already knew, this problem...
Continue reading
In the last post, I described my requirements for a 2D discrete physics system I’m working on. Now that I’ve laid out what the system should do, let’s turn to the implementation. Given a space with some walls, a set of objects, and some forces being applied to the objects,...
Continue reading
For a new game I’m working on, I need some 2D “physics” that work in discrete time and discrete space. In other words: every object consists of one or more blocks aligned to a square grid, and time advances in turn-based steps. If you’re thinking of Sokoban, you’ve got the...
Continue reading
If you’re developing a game for mobile devices, chances are you have run into the words “texture compression”. Texture compression helps to keep video memory usage down, reduce download sizes and loading times, and may even reduce power consumption. In this article, I take a comprehensive look at what the...
Continue reading
Because Dragon Attack’s performance on Crafty.js was disappointing, and the libGDX port also had problems running smoothly when compiled to JavaScript (plus some unfortunate technical decisions I made along the way), I’ve decided to go for a third rewrite, using better tech. (“Rewrite” sounds worse than it really is –...
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
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
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
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
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
Unfortunately, I can’t reveal too much about the game I’m currently working on, but I can say that it’s like a board game. For the sake of this post, let’s assume that the game is chess: there is a game board, there are some players, and each player has a...
Continue reading
At the core, Rocket Mail is a very simple game. I made the early prototype (Doomsray) in less than a day. There are no complicated physics, no advanced graphics, and very little in the way of performance requirements. Of course there’s a long way to go from a prototype to...
Continue reading
I’ve been working on and off on this project for almost two months now, so it’s time I blogged something about it. Here’s the elevator pitch: Ballistic Delivery Service is a wacky party game that puts your spatial insight and topographical knowledge to the test! When conventional delivery companies aren’t...
Continue reading
Each field of programming presents its own challenges, and game programming is no exception. In fact, I would say that a game is among the hardest things you can program in general. Why? I can think of three main reasons, which are closely related, as we will see. 1. Performance...
Continue reading
Yes indeed, Frozen Fractal’s first officially released game is there! It’s called Patchy, and it’s a retro arcade-style land-grabbing game for Android. This post is about its inception and also describes some bits of the technical implementation. Design Patchy is the spiritual successor to my one-weekend Ludum Dare entry Park...
Continue reading
Although games vary wildly in appearance and mechanics, the structure of the underlying classes and objects is often similar. There is a “world” object, which contains everything else; there are multiple “entities” representing stuff in the world, there’s a “renderer” which tells each object to draw itself, etcetera. My game...
Continue reading
After a week partly filled with lots of food and other Christmas celebrations, I’m back on track. I’ve done some polishing to make the game more game-like. There’s now a neat countdown at the start of the game. You can start racing before the countdown ends, but there’s a little...
Continue reading
Does a carpenter create his own hammers? Does a painter make his own brushes? Usually not, but a game developer often needs to build his own tools to get a particular job done. One of the most important tools to have is a level editor – you really don’t want...
Continue reading
I’ve decided to change course. Drastically. The fluid engine works nicely, and although it’s fun to play with, it’s not exactly a game just yet. I had this idea, which I alluded to in my previous post, of making it into a creative construction game. You’d be a beaver, and...
Continue reading
This week has been one of mostly refactoring. I’ve been streamlining the code to make it easier to add new objects and features later on. This will prove useful, because the gameplay clearly needs a lot more experimenting to get it right. As to the gameplay, there’s been some progress,...
Continue reading
I had hoped that the editor would allow me to quickly test gameplay concepts by using “soft rules”: rules that are communicated to the tester verbally by me, instead of being enforced by the program. For example, I could say “Now try moving the orange ball into the blue rectangle,...
Continue reading
To be able to test different configurations, I had a rudimentary text-based file format to describe levels in. It was fairly simple and easy to edit, but still, hand-typing coordinates is not my idea of fun. It was time to build a graphical editor. I plan to release the editor...
Continue reading