Our demos
Minimal games we built to show the mechanics that define each genre. All the code is visible and you can modify it.
Controls. Everything with the mouse or your finger. Pick the verb Look or Take and click on things. To use an item, tap it in the inventory and then tap where you want to use it. The arrows lead to another place.
Open full screenThe inventor's house
A point-and-click adventure with three places (garden, workshop and study) in which you recover the notebook an inventor left in her locked study. It has two chained inventory puzzles, and you need to solve both to reach the notebook.
Made with Kaplay, in about 199 lines of JavaScript.See how it's made
Controls. Left and right arrows (or A/D) for the angle, up and down (or W/S) for the power, space or Enter to fire. With a mouse or on mobile, drag from your tank towards where you want to aim and let go. On the title screen, space or a click on the left plays against the AI, and the 2 key or a click on the right plays with two people.
Open full screenTank duel
Two tanks take turns firing at each other over randomly generated hills. You choose the angle and power, allow for the wind, and every shot digs a crater that changes the terrain. You can play against an AI that corrects its aim or against another person.
Made with Kaplay, in about 189 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move along the street and into the depth, space, Z or J to punch. On mobile, the on-screen buttons.
Open full screenClear the street
A three-screen street with three fights. In each one the camera locks, enemies arrive from both sides and you cannot move on until you beat them. Just enough to feel what defines the genre, which is fighting a group on a plane with depth.
Made with Kaplay, in about 202 lines of JavaScript.See how it's made
Controls. Move the paddle with the mouse, your finger or the arrow keys (or A/D). Click, tap or space to launch the ball.
Open full screenBreak the wall
Two levels of bricks with different strengths, a paddle that follows the pointer and a ball whose bounce depends on where you hit it. Just enough to feel what defines the genre, which is aiming with the paddle.
Made with Kaplay, in about 174 lines of JavaScript.See how it's made
Controls. Click to capture the mouse and look around, WASD or arrows to move and strafe, click or space to shoot. On mobile, drag to look and use the on-screen buttons.
Open full screenKey, door and exit
A first-person maze with monsters, a key, a locked door and the exit. You move fast, shoot without reloading and pick health up from the floor, like in the FPS games of the nineties. It is made with threeplay, a 3D engine in the spirit of Kaplay.
Made with threeplay, in about 155 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move; the ship fires by itself. Hold Shift or X for focus mode (slow, with the hitbox visible). With a mouse or finger, hold down and the ship follows the pointer. On mobile there are also on-screen buttons, one of them for focus.
Open full screenSlip between the bullets
A ship on an upright screen facing a boss with three phases, each with a different bullet pattern (rings, a spiral, and a fan with a ring). Just enough to feel what defines the genre, which is reading geometric patterns and slipping through their gaps with a tiny hitbox.
Made with Kaplay, in about 200 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move (relative to the camera), space to jump and drag with the mouse to turn the camera. On mobile, the on-screen buttons and dragging with your finger.
Open full screenCollect gems and reach the star
A small 3D world full of gems. Collecting enough of them opens the gate that leads to the star: what you collect isn't decoration, it's what lets you move on. It is made with threeplay, a 3D engine in the spirit of Kaplay.
Made with threeplay, in about 155 lines of JavaScript.See how it's made
Controls. Pick a building in the right-hand panel and click or tap a free tile on the map to build it. Keys 1 to 4 also pick a building.
Open full screenConstruction and management simulation
A growing village
A small village with houses, crop fields, sheep farms and a market. Every day things are produced and consumed, and the population grows or leaves depending on what you have built. Just enough to see a self-reinforcing loop of production and consumption.
Made with Kaplay, in about 156 lines of JavaScript.See how it's made
Controls. Everything is played with the mouse or a finger. Click a crate to pick up an ingredient, then a station to put it down; click the station again to collect it when it is ready. Click the plate to plate up, the bin to throw away what you carry (or empty the plate) and Serve to deliver.
Open full screenKitchen rush
A kitchen with ingredient crates, a chopping board, two stoves, a plate, a bin and a serving hatch. Timed orders come in, and each one requires taking the ingredients through the stations in the right order, making sure nothing burns and delivering on time.
Made with Kaplay, in about 170 lines of JavaScript.See how it's made
Controls. Mouse or finger only. Tap a card to play it and «End turn» to pass. The E key also ends the turn, and space or Enter start the game.
Open full screenThree fights, one deck
Turn-based fights against three enemies in a row with a starting deck of ten cards (attack, defend, draw). Each turn you get three energy and draw five cards, you see what the enemy is about to do and, after each victory, you pick one of three new cards for your deck.
Made with Kaplay, in about 196 lines of JavaScript.See how it's made
Controls. Click or tap a block to add it to the bridge (or press 1–6). Click a piece of the bridge or press Backspace to remove it.
Open full screenBuild the bridge
An explorer has to cross gaps, and to do that you put number blocks together until they form a bridge exactly as long as the gap. Adding is not a question before the game, it is how you play. If you overshoot, the game tells you right away by how much, and the difficulty goes up or down depending on how you are doing.
Made with Kaplay, in about 199 lines of JavaScript.See how it's made
Controls. Space, up arrow, W or click to jump (hold for a higher jump). Down arrow or S to slide. On mobile, tap the screen or use the buttons.
Open full screenRun until you crash
The character runs on its own through a city that never ends. You only decide when to jump and when to slide, while the speed keeps rising. It is the minimum needed to feel what defines the genre, which is a single input, reaction and a difficulty that grows by itself.
Made with Kaplay, in about 133 lines of JavaScript.See how it's made
Controls. Left and right arrows (or A/D) to move, up arrow (or W/X) to rotate, down arrow to drop faster and space to drop the piece at once. On mobile, the on-screen buttons.
Open full screenComplete the rows
A 10 × 20 well where four-block pieces fall. You shift and rotate them to complete rows, which disappear; every five rows the level goes up and the fall speeds up, until the pieces reach the top.
Made with Kaplay, in about 191 lines of JavaScript.See how it's made
Controls. Against the AI: arrows or A/D to move, Z or F for the quick attack, X or G for the heavy one; hold «back» to block. Two players (key 2 on the title screen): player 1 uses A/D, F and G, and player 2 uses arrows, K and L. On mobile, the on-screen buttons.
Open full screenSpacing and punishment
Two fighters in side view, a quick attack, a heavy attack and blocking, with health bars and best-of-three rounds. You play against a simple AI or another person on the same keyboard. Just enough to feel what defines the genre, which is controlling distance, judging the timing of each attack and reading what the opponent will do.
Made with Kaplay, in about 195 lines of JavaScript.See how it's made
Controls. Arrows or WASD to turn and move forward or back, space, X or click to shoot. On mobile, the on-screen buttons.
Open full screenGet out of the maze
A small first-person maze drawn with ray casting, the technique of Wolfenstein 3D (1992): the world is a flat grid and the 3D is an illusion worked out column by column. Two enemies close in on you, you shoot with the central crosshair and you win by reaching the green door.
Made with Kaplay, in about 216 lines of JavaScript.See how it's made
Controls. Mouse or finger only. Click or tap the circle to produce and tap a button to buy. Space or Enter only start the game.
Open full screenReach a million
You click a circle to make energy and spend it on four generators that produce on their own, on multiplying upgrades and, when it pays off, on a prestige reset. Just enough to feel the exponential growth that defines the genre.
Made with Kaplay, in about 158 lines of JavaScript.See how it's made
Controls. Type on the keyboard and press Enter. Useful commands are look, go north (or just "north" or "n"), examine note, take key, open door, inventory and help. On a phone, tap the screen to bring up the keyboard.
Open full screenThe chest in the empty house
A five-room text adventure. You type commands such as "go north" or "take key", the parser understands them and the game tells you what happens. A note tells you where the key is, the key opens a door and behind the door is the chest.
Made with Kaplay, in about 194 lines of JavaScript.See how it's made
Controls. The mouse or your finger is the gun; click or tap to fire. Reload with right-click, with R, by shooting the black frame around the screen or, on mobile, with the reload button.
Open full screenShooting gallery
A shooting gallery with four covers behind which cardboard figures pop up. The red ones shoot you if you are slow and the green ones are civilians. Just enough to feel what defines the genre, which is aiming quickly at the screen, telling who to shoot and deciding when to reload.
Made with Kaplay, in about 195 lines of JavaScript.See how it's made
Controls. Arrows or WASD to turn; you can ask for the turn before reaching the junction. With a mouse or touch, tap where you want to go relative to the player, or use the on-screen buttons.
Open full screenEat the maze
A grid maze with dots to collect, three chasers with different behaviours and four power-ups that turn the chase around for a few seconds. Just enough to feel what defines the genre, which is choosing routes under pressure.
Made with Kaplay, in about 195 lines of JavaScript.See how it's made
Controls. Arrows or A/D to move, space, up arrow or W to jump. With the double jump, press jump again in mid-air. On mobile, the on-screen buttons.
Open full screenThe wall that is too high
A small world of five connected rooms. At first a purple wall blocks your way to the goal; in a room below lies the double-jump orb, and with it you retrace your steps to get over the wall. A minimap shows the rooms you have already visited.
Made with Kaplay, in about 204 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move; hold space or E next to a resource to gather it. 1 crafts the axe and 2 the shelter, or click the recipe buttons. On mobile, the on-screen buttons and tapping the recipes.
Open full screenBuild a shelter before hunger gets you
An island seen from above with trees, rocks and berry bushes. You gather wood and stone, craft an axe to chop faster and, with enough material, build a shelter. Meanwhile your food drops, faster at night.
Made with Kaplay, in about 161 lines of JavaScript.See how it's made
Controls. Arrows or A/D to move, space, up arrow or W to jump. On mobile, the on-screen buttons.
Open full screenJump to the flag
A short level with ground, blocks, pits, coins and patrolling enemies. Just enough to feel what defines the genre, which is jumping precisely.
Made with Kaplay, in about 149 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move, Z to undo and R to restart the level. With a mouse or touch, tap where you want to go relative to the player and use the Undo and Restart buttons.
Open full screenPush the boxes
Three short box-pushing levels in the style of Sokoban, rising in difficulty. The rules fit in one sentence and there is no chance or reflexes involved, so the whole challenge is thinking before you move.
Made with Kaplay, in about 163 lines of JavaScript.See how it's made
Controls. Arrows or A/D to move, space, up arrow or W to jump, R to restart the room. To push a box, walk against it. On mobile, the on-screen buttons.
Open full screenBoxes, switches and doors
Three small platforming rooms in which jumping is easy and thinking is the hard part. You push boxes, let them fall and put them on switches that open doors. Unlike the platformer demo, there are no pits, enemies or hurry, and unlike the puzzle demo, you move and jump in real time under gravity, so the height of your jump is one more rule of the puzzle.
Made with Kaplay, in about 165 lines of JavaScript.See how it's made
Controls. Up arrow or W to accelerate, down arrow or S to brake (and reverse), left/right or A/D to steer. With the mouse or a finger, hold down and the car accelerates towards the pointer. On mobile there are also on-screen buttons.
Open full screenThree laps of the circuit
A three-lap top-down race against two rivals, with a timer and a best lap. The car has momentum, turns according to its speed, slides if you go into a corner too fast and slows down on the grass. Just enough to feel what defines the genre, which is finding the fastest racing line.
Made with Kaplay, in about 185 lines of JavaScript.See how it's made
Controls. Click a unit or drag a box to select. With units selected, click (or right-click) the ground to move, a crystal to gather or an enemy to attack. Top buttons, or keys 1 and 2, train workers and soldiers; Escape deselects. On mobile, tap and drag with your finger.
Open full screenCrystals and an enemy base
A short match against an enemy base. Your workers gather crystals, you spend them on soldiers and you direct the attack with the mouse, while the rival sends ever larger groups at you. Everything happens at once and with no turns, which is what defines the genre.
Made with Kaplay, in about 196 lines of JavaScript.See how it's made
Controls. D, F, J and K (or the four arrow keys), one key per lane, when the note crosses the white line. With the mouse or a finger, tap the lane. Space, Enter or click to start.
Open full screenFour lanes
A short 16-bar song in which notes fall down four lanes towards a line. Each hit is judged by its accuracy in milliseconds (perfect, good or miss), and hits in a row raise the combo and multiply the points. The music is a metronome and a melody generated with WebAudio, synchronised with the audio clock.
Made with Kaplay, in about 182 lines of JavaScript.See how it's made
Controls. Arrows, WASD or HJKL to move; bump into an enemy to attack it; space to wait a turn. With a mouse or on mobile, tap the map in the direction you want to step (on yourself, you wait).
Open full screenDescend the dungeon
A dungeon of rooms and corridors generated anew on every floor, with enemies that only move when you move, potions and stairs to the next floor. If you die, the game is lost and you start in a new dungeon.
Made with Kaplay, in about 174 lines of JavaScript.See how it's made
Controls. Up and down arrows to choose the action, left and right to choose the enemy, space or Enter to confirm; keys 1 to 4 pick the action directly. With a mouse or on mobile, tap an enemy to target it and tap a menu option.
Open full screenTurn-based combat
A party of two heroes, a warrior and a mage, fights one to three enemies in turn-based battles in the style of Japanese RPGs. Winning gives them experience, they level up and their statistics grow, and each battle is a little harder than the last.
Made with Kaplay, in about 199 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move and aim (up and diagonals; down only in mid-air), space, Z or K to jump, hold X or J to shoot. On mobile, the on-screen buttons.
Open full screenRun, shoot and beat the boss
A side-scrolling level with soldiers who run at you, turrets up high, a pit to jump over and a boss at the end. Just enough to feel what defines the genre, which is moving and shooting at the same time in several directions.
Made with Kaplay, in about 184 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move and space or Z (held) to fire. With a mouse or finger, hold down and the ship follows the pointer while firing. On mobile there are also on-screen buttons.
Open full screenDodge and shoot
A ship in a self-scrolling starfield, five enemy waves with fixed paths and two enemy bullet patterns. Just enough to feel what defines the genre, which is firing nonstop while you read and dodge what is coming.
Made with Kaplay, in about 192 lines of JavaScript.See how it's made
Controls. Up and down arrows or W/S to move your racket (the yellow one). With the mouse or a finger, the racket moves towards the pointer. When it is your serve, press space, Enter or click.
Open full screenA set of tennis
A top-down tennis game against an AI, with simplified real rules. There is a cross-court serve with a change of side every point, a change of server every game, the 15-30-40 count with deuce and advantage, and the ball is out if it leaves over the sidelines. Where the ball touches the racket decides where it goes. The first to win three games wins.
Made with Kaplay, in about 175 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move. On mobile, the on-screen buttons.
Open full screenReach the exit unseen
A floor plan seen from above with four patrolling guards. Each one draws its vision cone, which walls and crates cut short, and shows «?» when suspicious and «!» when it spots you. Reach the green exit; the gem is optional and sits right on a guard's route.
Made with Kaplay, in about 200 lines of JavaScript.See how it's made
Controls. Arrows or WASD to move; the flashlight points at the mouse or where you walk. Space, J or click to shoot. On mobile, the on-screen buttons (tapping the screen also aims and shoots).
Open full screenFind the key in the dark
A dark building seen from above. You only see what your flashlight lights up, you have three bullets and each monster takes three shots, so you cannot kill them all. You have to find the key and get back to the door.
Made with Kaplay, in about 188 lines of JavaScript.See how it's made
Controls. Click a blue unit to see its range, click a blue tile to move it and click an enemy outlined in red to attack (or any other tile to wait). "End turn" or the E key passes the turn; Escape cancels before moving. On mobile, tap.
Open full screenSkirmish in the field
Three heroes against three bandits and their captain, on a tile board with forest and rocks. Each turn you move every hero within its range and attack a neighbouring enemy; then the rival plays. Enough to feel what defines the genre, which is deciding where each unit stands.
Made with Kaplay, in about 195 lines of JavaScript.See how it's made
Controls. Click or tap a piece and then a neighbour (above, below or to the side), or drag a piece onto its neighbour. Space or Enter starts the game.
Open full screenMatch three
An 8 × 8 board of coloured pieces. You swap two neighbours to make lines of three or more alike, which vanish; the ones above fall, new pieces come in and sometimes cascades form that multiply your points. You have 20 moves to reach the target.
Made with Kaplay, in about 196 lines of JavaScript.See how it's made
Controls. Pick the tower with the buttons at the top and click or tap a green tile to build it. Keys 1 and 2 also pick a tower, and space brings the wave forward.
Open full screenNone shall pass
A fixed path with several bends, two tower types and eight waves of ever more numerous, tougher and faster enemies. Just enough to feel the genre's two decisions, which are what to spend on and where to build.
Made with Kaplay, in about 198 lines of JavaScript.See how it's made
Controls. WASD to move. Aim with the mouse and hold the button to fire, or fire with the arrow keys. On a touch screen, drag on the left half to move and on the right half to fire.
Open full screenSurvive the waves
An arena seen from above where you move with one control and aim with another, while waves of enemies arrive with three different behaviours (chasing, charging and shooting from afar). You score points for each enemy and have three lives.
Made with Kaplay, in about 200 lines of JavaScript.See how it's made
Controls. Click, tap or press space to advance the text (the first click finishes writing the line). At decisions, click an option or press 1 or 2.
Open full screenWhere is Whiskers?
A short visual novel set in an ordinary neighbourhood. Ana looks for Whiskers, her cat, before the storm arrives. It has three decisions and four endings, and the whole script lives in one data structure you can rewrite without touching the engine.
Made with Kaplay, in about 186 lines of JavaScript.See how it's made
Controls. Type on the keyboard and press Enter to check; Backspace deletes. You can also tap or click the on-screen keyboard, which includes Enter and ⌫.
Open full screenGuess the word
You have six tries to guess a five-letter word. After each try, every letter turns green if it is in the right place, yellow if it is in the word but somewhere else, and grey if it is not in the word. With those hints you rule words out until you find the right one.
Made with Kaplay, in about 151 lines of JavaScript.See how it's made