Sorry :(

Your device doesn't support Unity WebGL.
Try loading this page on a desktop to play!

Press here to load Unity WebGL

  • Unity Demo
  • Video
<em>BOXBOY!</em> Character Controller icon

BOXBOY! Character Controller

As made famous by HAL Labratories
Covered in Unity

  • Cover Reference

  • Since I claim to be a gameplay programmer, I decided it was time to finally make a platformer - the bread-and-butter of all video game genres. BOXBOY! is a great introduction: the platforming is digital (simpler), while still providing extra complexity though its "copy" mechanic.

  • Discoveries

  • Embrace the Grid

    BOXBOY! works hard to keep everything aligned to the grid. Pressing "copy" will nudge Qbby to the closest cell. Likewise, thrown blocks always move one cell away from Qbby. This means blocks thrown from the side move differently than from the top. Even when thrown from a cliff, blocks still move the same distance.

  • It's a Puzzle Game...

    Reimplementing BOXBOY! made it very clear that it's a puzzle game through and through. For one, keeping everything grid aligned subtly helps players always be in the right position. Likewise, the only color in the entire game appears when copying - the main puzzle mechanic.

  • Not a Platformer

    This explains why the jump is digital. It's reinforced by how floaty his jump is - he spends nearly half the animation at the peak! His vertical collision also gives players considerable wiggle room, since his legs elevate his collision shape.

  • Lazy Camera

    The camera in BOXBOY! only moves when there's player input. Running will move the camera literally, while pressing copy will smoothly frame Qbby and his blocks. Again, because it's not an action game, a lazy camera matches the stop-and-think-a-minute flow of puzzle solving.

  • Notes

  • Qbby's legs do more than just look great.

    Qbby's design communicates a lot of the gameplay values. His leg's horizontal position details when he'll "clamp" to the grid, and show where he'll slip off edges. The height of his legs determines how much buffer is given to his collision, since his legs elevate the actual collision box.

  • BOXBOY!'s particles offer a nice mix of authored and random effects. Collecting a crown shoots diamonds in six directions (authored), before collapsing into a puff of squares (random). It's a nice reminder to design effectively; mix upkeep-intensive (but perfect) authorship with set-it-and-forget-it randomness.

  • I relearn this with every cover I do - make everything faster. Many of the animations in BOXBOY! last a measly five frames, while many of Qbby's state changes are a scant two frames. That speed not only makes the game feel sleek, it allows the player to make fast puzzle solving iterations.

  • Simplicity is a slippery slope.

    This speaks more to the Cover process, but "simplicity" is a slippery slope of implementation! Because the minimalist art style is so achievable, I ended up reimplementing much of the art and effects, despite the fact it had little to do with Qbby's controller.