When you fire the pis­tol in Nuclear Throne, first of all the Pis­tol sound effect plays. Then a lit­tle shell is eject­ed at rel­a­tive­ly low speed (2–4 pix­els per frame, at 30fps and a 320×240 res­o­lu­tion) in the direc­tion where you’re aim­ing + 100–150 degrees off­set. The bul­let flies out at 16 pix­els per frame, with a 0–4 degree off­set to either direction.

We then kick the cam­era back 6 pix­els from where you are aim­ing, and “add 4 to the screen­shake”. The screen­shake degen­er­ates quick­ly, the total being the amount of pix­els the screen can shake up, down, left or right.

Weapon kick is then set to 2, which makes the gun sprite move back just a lit­tle bit after which it super quick­ly slides back into place. A real­ly cool thing we do with that is when a shot­gun reloads, (which is when the shell pops out) we add some reverse weapon kick. This makes it look as if the char­ac­ter is reload­ing manually.

The bul­let is cir­cu­lar the first frame, after that it’s more of a bul­let shape. This is a sim­ple way to pre­tend we have muz­zle flashes.

So now we have this pro­jec­tile fly­ing. It could either hit a wall, a prop or an ene­my. The props are there to add some per­ma­nence to the bat­tles. We’d rather have a loose bul­let fly­ing and hit­ting a cac­tus (to show you that there has been a bat­tle there) than for it to hit a wall. Fill­ing the lev­els with cac­ti might be weird though.

If the bul­let hits some­thing it cre­ates a bul­let hit effect and plays a nice impact sound.

Hit­ting an ene­my also cre­ates that hit effect, plays that ene­mies own spe­cif­ic impact sounds (which is a mix of a mate­r­i­al – meat, plant, rock or met­al – get­ting hit and that char­ac­ters own hit sound), adds some motion to the ene­my in the bullet’s direc­tion (3 pix­els per frame) and trig­gers their ‘get hit’ ani­ma­tion. The get hit ani­ma­tion always starts with a frame white, then two frames of the char­ac­ter look­ing hit with big eyes. The game also freezes for about 10–20 mil­lisec­onds when­ev­er you hit something.

This is just the basic shoot­ing. So much more sys­tems come in to play here. Ene­mies dying send out fly­ing corpses that can dam­age oth­er ene­mies, radi­a­tion flies out at just the right sat­is­fy­ing speed, etc. We could keep going on and on. It’s that atten­tion to details and the rela­tion­ships of all those sys­tems that mat­ter. You might miss an ene­my and hit a radi­a­tion can­is­ter, forc­ing you to run into dan­ger to grab all that exp before it expires, etc. It’s the mix of things that mat­ters, not the things them­selves. I guess what our games have is our view on what makes those val­ues feel and play good. That’s the Vlam­beer “feel”.

Published by

Kars Alfrink

Kars is a designer, researcher and educator focused on emerging technologies, social progress and the built environment.