Splodey Boats 2000 is a port of Splodey Boats, a game I wrote back in 2014 for
Ludum Dare. There were two main reasons I went with a port instead of a new
I wanted to see how much effort was involved in using my game framework
Mini Shinobi was really, really hard to make and I wanted something less
I'm a bit on the fence about the finished product. It wasn't as much effort to
make as Mini Shinobi, but it's also quite half-baked and missing some
polish. It's also missing features from the original, such as powerups and the
online score table. I'd like to get them added in a future update, but for now it
seemed better to just get something out the door.
That sounds quite negative, but I did manage to port things relatively
easily. There were some bumps along the way, but overall it's pretty close to
the Flixel version.
For February I'm rebuilding "Splodey Boats", a game I wrote for Ludum Dare
in 2014. Mini Shinobi was a lot of hard work so I wanted something a little
lighter for February. Splodey Boats seemed like a good choice for a couple of
It's a small and complete experience
It's a good candidate to get more practice with using entity/component
It has a lot of particle effects which I haven't built into my framework
It won't take 70 hours to complete
Building a completely new game is far more exciting, but revisiting an old one
is good practice too.
Mini Shinobi is my first entry for #1GAM 2017. It's a platform game with
collectible abilities and some very simple combat.
The aim is to explore the world and find the missing 4 artifacts (Earth, Wind,
Fire and Water). Once these are recovered the door to the final level will open
and the boss can be challenged (spoiler alert: the final boss isn't anything
Overall I'm pretty happy with how things turned out. I didn't get to add all the
features I wanted, but there's a full game and I learnt some very valuable
lessons. I'll be publishing an in-depth post-mortem later in the week.
Not complete, but about 80% of the way there. The player now takes damage and
will die once they reach 0 health. The user interface also updates when they are
hurt. All that's left is to add some form of save and respawn system.
Health increase and restoration powerups
Both are working. The player can collect small hearts to restore health and
giant hearts to increase their maximum health.
Animated sprite particles and basic pixel particles are implemented, but not as
completely as I'd like. Ideally particle emitters will be able to:
Spawn a list of random particles (e.g. large and small chunks of rock)
Specify custom particle behaviour - especially particles that rise (for smoke) or
that change colour as they rise (for fire)
Generate particles over time, rather than all at the start
The rendering and update code is all working, so hopefully I can add these bits
of polish in before the end of the month.
The title screen is all working and can launch the main game. There are also
some placeholders for loading save games and viewing the list of credits.
Switches and closed doors
The sprites for the switches are really, really ugly, but the code is
there. This took the most time out of everything I worked on.
Originally I was using a trigger & action system, but it quickly got bogged down
once more complex things got involved. There's a huge gap in complexity between
a switch that makes a door vanish and one that makes the door move.
In the end I replaced the trigger system with a full script system. Entities can
listen for events and respond to them.
Basic area transitions
This was the only thing on the list I made no progress on.
I didn't get everything finished that I wanted to, but I did manage to cross
some other big things off my list:
Entity collision – This took an absolute age to get working
properly. Platform with just tiles was a fairly simple job, but once moving
platforms entered the mix it got complicated.
Scripting – I hit a dead end with my first approach because I wanted to
keep things simple. Turns out they were a bit too simple to actually do the
Enemies that hurt the player – Some enemies have spikes on top that
damage the player. It's a small feature that adds some spice to the standard
Accidental springs – This one was a fun accident. I updated to be able to
set their bounce value when jumped on. A decimal place in the wrong spot
made a very bouncy object.
Overall it was a productive week. There are now 6 days left in the month to get
something playable up and running. A lot of pieces need polishing up, but at
this point there are enough features to form a game out of.
Here's a bonus animated screenshot. Click to play.