Finally, we have explosive barrels! And explosive fireworks!
Wait, explosive... fireworks? Yep, and I'll tell you why.
Explosive Barrels
A couple weeks ago I added support for explosions, but there was no way to actually create them via gameplay. 1
Gamers have been conditioned that red barrels are inexplicably explosive, so I sketched some options:
And put them in the game:
Broforce also tipped me off to another approach: make some barrels have a longer delay before exploding.
The different barrels add some visual variety, and a little bit of tension if you notice one burning.
In future, I'll make barrels take damage (and explode) from falling too. 2
Explosive Fireworks
To really ramp up the chaos factor, I wanted to have a prop that can break through the isolation between two vertical platforms.
Enter, the firework rocket: 3
Heavily inspired by Broforce's propane-tank-rocket,4 this rocket inexplicably (but entertainingly) bores through otherwise-impassable terrain.
My hope is that this will cause more atom interactions (imagine acid raining through a gap, or water extinguishing a fire from above), as well as allow players to travel through the tunnels it creates.
Ideally players would also be able to ride the rocket,5 but I haven't implemented that yet. 6
Fewer Fiery Deaths
The explosions from fireworks and burning barrels tend to fling fire in all directions, which is nice from a maximizing-the-chaos angle.
But players were catching on fire from contact with just a single fire atom, so I increased that threshold to make players a little less flammable.
Gravity Boost
Up to now we've been operating with realistic gravity - your bog standard high-school-physics 9.81 m/s² downwards acceleration. 7
But under those conditions the barrels and fireworks seemed too floaty, so I doubled the gravity and updated jumping & jump pads to suit.
I reckon the whole game feels "tighter" now, which just goes to show that realism ain't always what it's cracked up to be.
Playable web build
I've added a bunch of barrels and fireworks to the first level, and moved the spawn point into the middle to make it easier to play with the new explosive toys.
(The window-size is a bit small, so you might also want to press - to zoom out so you can see more of the chaos.)
The performance can drop a bit when all the explosions go off at once! It's made worse by the explosions needing to run for several game-ticks each to work around weaknesses in the atom movement logic, so I'm still seeing if I can improve that.
You had to press B while in Edit mode to create an explosion, sized to the cursor.
... And, well, actually there was also a brief window where pressing some modifier keys with B would create a half-baked explosive barrel, but I imagine nobody found that.
There's no falling damage for anything in the game yet, but at some point I'll do a pass to add it for barrels, rockets (below), enemies, and maybe players.
Why a firework? It's vaguely medieval, I guess, and I could make neat atom-based explosion patterns. I'm open to alternatives! (The rocket's art is definitely a bit loud in the context of a real level.)
Broforce's propane-tank-rocket is a little different, in that it can't be affected by physics forces once it's traveling. I like the additional chaos factor of letting the firework rocket be affected by explosions etc.. but maybe it'll make level design into pure hell. We'll see!
Like in Broforce.
I still have to work out a clean way to allow riding rockets while also allowing being squished by them.
Actually the whole "damage/death from physics forces" thing needs more tuning! Having a barrel fall on you doesn't hurt you, but sometimes touching a barely-tipping rocket while you're on a ladder causes you to explode.
Okay sure, players and enemies had higher gravity in the name of making jumping feel better.