Onceworlds
Engine · Design

Make it fun

What makes a game fun here: the idea, the first minute, juice, screens, a look.

Players find games in a grid of thumbnails, often on a phone, and leave within seconds if they don't get it. Make games a teenager and an adult both want to play, that a younger player still understands. These are defaults from games that worked and games that didn't; the creator's idea always wins.

The idea

The first minute

While playing

Juice: every action answers. Within a tenth of a second every action gets a sound and motion: feel.squash(entity) on jumps and landings, feel.particles.burst('sparks', entity), feel.floatText('+3', entity) (2D and 3D; 3D also has trails, decals and emitters on nodes: the effects-3d topic), eased tweens (never linear), feel.shake and feel.hitStop(80) for knockouts (shake the camera, never the body), a synthesized sound for every action. Everything respects the player's Reduce motion setting for you. Juice returns to rest and never blocks input.

Screens anyone can read at a glance. Buttons at least 56 px on phones, text at least 18 px, few words (labels and icons, no paragraphs), saturated colors on a contrasting background with a symbol beside every color that matters, room to breathe, one art direction and one font (the UI theme is one flat, bold style). Draw each player with their avatar and name (NameTag), mark "You", give bots names and looks. The UI keeps clear of the platform's buttons and the thumbs by itself: don't fight it.

A look for everyone. Aim at the polish of games people already play: a confident style, modern type, real lighting in 3D (Environment.preset('afternoon'), PostFx.polished()), the library's models rather than boxes. Babyish blobs make a game look like it's for toddlers.