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 that its destination cell is not manned, but rather flammable, it will throw the water onto the fire. (It will also do this if there is no fire. I played with the thought of keeping houses wet to prevent them from catching fire, but didn’t get round to implementing this.)
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.
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, which will set your productivity back to square one. But with the eagerly awaited release of Godot 3.0, I felt that the day had come to check this thing out, and see if it could be of future use to me.
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.
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.
As I previously wrote, I
recently fell in love with the Kotlin language. It’s been over four months
since that post, and my enthusiasm has not diminished. In this post, I’ll show
how I combined some of Kotlin’s best features to write some extremely readable
unit tests.
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.
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 idea:
As of just now, https://frozenfractal.com is a
thing. This means you can browse my site securely, knowing that the NSA can
probably not see which pages you are viewing. Sort of.