This Side Up

A pixel-art platformer about delivering a package, made in 72 hours for Mini Jam 188 under the limitation "All in a box". You cannot jump: a boxing glove punches you through the level instead. I did all of the programming.

Unity · C# · FMOD · 72 hours · team of 5

Play in browser Full playthrough

A movement verb in a weekend

Aim with the mouse or the right stick and punch: the glove shoots out, and a fraction of a second later the recoil launches you the other way. Punch again in mid-air and the glove snaps back with a second, stronger kick, which works as a double jump. The glove recharges when you touch the ground, with a short coyote time so a punch just after walking off a ledge still counts.

The level adds sticky walls that catch you mid-flight and let you slide down slowly, moving platforms and conveyor belts, all tuned with the designers during the jam. Rotate triggers turn gravity by 90 degrees and the view turns with it, so parts of the level are played on their side or upside down, and the music changes with each orientation through an FMOD parameter.

if (protracted && activateGloves.WasPressedThisFrame())
{
    // Second punch in the air: retract and kick off harder.
    retractCoroutine?.StopCoroutine();
    Retract();
    rb.AddForce(-direction * doubleJumpForce, ForceMode2D.Impulse);
}

if (canActivate && activateGloves.WasPressedThisFrame())
{
    protracted = true;
    canActivate = false;  // recharged on (coyote) ground
    retractCoroutine = Cooldown(extendedDuration, Retract);
    Cooldown(knockbackDelay, () =>
        rb.AddForce(-direction * knockbackForce, ForceMode2D.Impulse));
}

The rest of the jam

Besides the movement I built the dialogue view, the pause menu and the FMOD audio hookup, with state and events running on Ripple so designers could wire up triggers without code.

This Side Up: a dialogue on top of a container
A dialogue on top of a shipping container

Made with Canozalez, Chaos-1001 (art), Pierre-Henri Barralis (music & audio) and the rest of the jam team.

← Back to the portfolio