Bret Hudson's avatar
Hi! I'm
Bret Hudson
The kid who wanted to do everything. I'm a Seattle-based software/web developer who makes indie games in his free time. Check out my works!

Fixing Tincan 2

This is part of the series "Revisiting Tincan 2"

  1. Part 1: Tincan 2 and the Seven Deadly Sins
  2. Part 2: Tincan 2 Version 2.0 Released
  3. Part 3: Fixing Tincan 2

In case you missed it, I re-released Tincan 2 on Wednesday, and before then, I spoke about the Seven Deadly Sins of platformers that I managed to commit with the original release of Tincan 2.

The final part of my deal is to speak about how I addressed the issues, so you, fellow developer, or curious player, can go forward armed with the knowledge to keep yourself safe from the Dark Lord.

The Seven Deadly Sins, Redeemed

1: Not listening to advice

A lot of the advice from version 1.0 back in 2012 focuses on the other parts of this article, such as the slippery physics, level curve, and WASD controls.

Over the past few weeks, Ian Jones gave me a lot of great feedback, which was paralleled with others I let test the new version of the game. Thanks to their input, I was able to address some issues I might not have worried about. Knowing that certain things annoyed players, or were a frustration, allowed me to take a step back and ask myself "how can I minimize that frustration with this element of the game?"

2: Random timers on spikes

16 year old Bret thought random timers on spikes were the coolest thing. They're not. I removed them and made them all fall/slide at a constant timer of 2.5 seconds.

3: Slippery physics

Unfortunately, it's not entirely possible to fix the physics without completely changing the rest of the game. A lot of the level design and speed-running techniques are dependent on the current system, so I had to take some creative liberties in figuring out how to make the controls less of a nuisance.

First up was to make the player slow down a bit more. The frame the player release the left/right key, a friction is applied to the character, immediately causing them to slow down a bit. It's noticeable compared to the original, though still leaves Tincan a slippery character.

Tincan is the same size as gaps, making it hard to fall into holes. I read Kyle Pulver's platforming nudging assistance article a few years ago, and decided to implement that in Tincan for both vertical and horizontal movement. Getting into gaps is now much easier.

But why stop there? Some people continued to be frustrated with the size of the character being a full tile (32x32), so I decided to implement two new characters: Tinycan, who is 28x28, and Thincan, who is 28x32. These smaller characters give the player more leeway when moving around.

Finally, I added some common platforming tricks. Again, Kyle has written about both of them: platforming ledge forgiveness, which allows players to hit jump a few frames after they've left the ground, and jump input buffering, which makes sure a jump key press is still registered if the player accidentally hit it a few frames before they hit the ground.

4: Terrible level/difficulty curve

I was given the solution to this in 2012: make more levels to ease the player into the game. The first stage acts as an introductory level that teaches you all the basics, but then the second stage throws you into full on hell.

While I haven't added any more levels, as the goal was to try to make the original game better, I did modify the existing levels. Lasers are now set on different (but consistent) timers, certain spikes were removed, and entire areas were redesigned with the goal to minimize player frustration.

The amount of checkpoints in the game has more than doubled, which has made the game less unforgiving. Not having to beat the entirety of Stage 6 (especially with that one leap... jeesh) in a single run is one of my favorite changes.

5: THAT ONE JUMP IN STAGE 5

Before:

After:

Thank god.

6: Screen jitter on jumps

This one was more of a technical problem rather than a gameplay problem. While I did change a few level designs slightly to reduce the amount of places this happened, I also implemented a check to see if the player was launched off of a launch pad when falling to the screen below. If that's true, it doesn't change screens. Much easier on the eyes.

7: No WASD

Simple fix. You can now play with WASD.

Other Changes

Besides fixing the main problems with the game, I did add some other features. The game now has a new menu, options to toggle music/graphics, and a brand new soundtrack by Zack Harmon. Lastly, lasers now flicker right before they turn off, making it easier to time jumps in laser-ridden rooms.

Overall, the game has improved. Is it perfect? No. Is it good? Eh. The purpose of this project was to try to make a game that had potential try to reach it. And I think I made it get closer.

Tincan 2 Version 2.0 is available now, so go play it!