Polishing for Submission
Last-hour tips: juice, screen shake, particles, sound effects, and a proper main menu make a huge difference.
The gap between a finished jam game and a winning jam game is almost always polish — the small things that make a game feel alive. Juice it. Players forgive a thin idea executed with care; they will not forgive a great idea that feels like a tech demo. Save the last day of the jam exclusively for polish.
Add juice to every interaction
Every meaningful action in the game should react: a hit registers with a particle, a sound, a screenshake, a brief hitstop, and a number popping out of the target. None of these are individually impressive; together they make the game feel like an event is happening rather than an integer changing. Pick three or four 'core actions' (jumping, hitting, picking up, scoring) and over-react to them.
using Sandbox;
public sealed class HitFeedback : Component
{
[Property] public CameraComponent Camera { get; set; }
[Property] public SoundEvent HitSfx { get; set; }
public void OnHit( Vector3 position )
{
// Sound
Sound.Play( HitSfx, position );
// Brief screen shake
var shake = Camera.AddComponent<CameraShake>();
shake.Amplitude = 4f;
shake.Duration = 0.15f;
// Hitstop
_ = HitstopAsync( 0.06f );
}
private async Task HitstopAsync( float seconds )
{
Game.TimeScale = 0.05f;
await Task.DelayRealtimeSeconds( seconds );
Game.TimeScale = 1f;
}
}Sound is half the polish
A silent game feels broken even when it isn't. Every interaction needs a sound, even if it's a placeholder you record on your phone. UI clicks, footsteps, ambient loops, a music track that loops without seams. Free libraries like Freesound, OpenGameArt, and Kenney's audio packs cover 90% of jam needs. Add a music slider in the menu so judges with headphones don't quit when your soundtrack is louder than they expect.
Title, pause, restart
Your game needs a title screen with the name of the game, a Play button, and credits — judges open dozens of submissions and a missing title screen reads as 'unfinished'. It needs a pause menu (Esc) with at least Resume, Restart, Quit. It needs a way to restart the game without quitting. These three screens take an afternoon if you build them last and an extra day if you forget about them until upload time.
Tutorial in the first 30 seconds
A jam judge will play your game for one to two minutes. If they don't understand the controls in the first thirty seconds, they will rate it down. Show controls on-screen, gate the first interaction behind a one-line prompt ('Press SPACE to jump'), and design the first level so the only correct action teaches the core mechanic. Don't write a wall of text — show, don't tell.
Submission checklist
Before you upload: run a clean build and play it from the title screen to a win and a loss. Take three or four screenshots that actually show gameplay (not your editor). Write a 2-3 sentence description with the verb-first hook. List controls explicitly in the description, even if they're in-game. Credit every asset and sound you used. Submit with at least an hour to spare — uploads fail, builds break, browsers crash. The team that ships ten minutes early always beats the team that 'just needs five more minutes' at the deadline.