“The Art of Screenshake” – Jan Willem Nijman
Jan Willem Nijman, one of the geniuses behind Vlambeer has a lecture that sums up many of the tricks game designers have used for years to make their games “feel better” in addition to a few that give Vlambeer games their distinct style. From the 30 tips offered in the video, we experimented with a few that held promise for giving Project Spaghetti a little more oomph. For the ones that didn’t work out, it wasn’t a problem with the advice, just that the results didn’t fit the game’s top-down action or retro look. We listed the experiments in the order we tried them.
Sleep (Brief Screen Freezes)
Pausing the action for a frame or a couple of frames when enemies die, the player gets hit, things explode, etc. is a good way to create buildup on actions, as long as you get into that sweet spot before players become conscious of the freeze. This was fairly tricky to implement in Game Maker Studio because Studio no longer has a sleep function like the old Game Maker programs. We took a screenshot and displayed it while we created a mini pause object, which stopped everything else and destroyed itself after a set number of frames. We got the freeze working in the end, but it really didn’t fit the game. The combination of top-down action with a retro look means players expect things to move smoothly. Even a frame of hesitation feels “weird”, where it would feel good in a side-scrolling shooter, for example.
Final Verdict: Didn’t Use
Rattling the screen around when something important happens is a good way to make otherwise boring reactions feel more “physical”. For Project Spaghetti, the resolution is intentionally scaled down, so a pixel or two goes a long way. We experimented with a few random shake algorithms but found the best approach in our case was to create a screen shake object which would randomly choose from four cases for moving the view in a diagonal: move up & right, move down & right, move down & left, move up & left for one frame, then shift the view back to normal for the next frame, repeating the process for however long we set the screen shake for. This worked brilliantly, and the gun shots and explosions tied to the screen shake feel fantastic.
Final Verdict: Awesome!
This was one of those mechanics we were sure was going to be awesome until we implemented it. We set the player up to jump back a few pixels in the direction opposite to the shot they made, but the visual result didn’t work at all with the retro style. A little animation would’ve helped, but in the end it just looked like a bug whenever the player hopped back. Also, the top down style feels better when the player is in full control of where they park their pixels, so the mechanic became a source of irritation as we ran with it for longer than we should have. The mechanic is certainly well-suited for side scrolling shooters and might work with some top-down shooters, but it didn’t work so well in ours.
Final Verdict: Didn’t Use
Player Knockback when Hit
Enemy Knockback when Hit
Like the gun kickback, the damage knockback mechanic didn’t work for the player because it took away from the precision control that makes the top-down action feel right. One area where the idea still has potential is with the shielded alien enemies and blocking scorpions. Although they didn’t feel right when we experimented with them, distance and animation could go a long way to making them feel better, and from a gameplay perspective, being able to create a little breathing room between the panicked player and the otherwise invincible enemies would go a long way to adding choices. Does the player waste a bullet to create some room, or hold on and hope for a narrow escape, for example.
Final Verdict: Might Revisit for Enemies
If you haven’t seen the video, it’s absolutely worth the watch!