Paint a loop with 🛣️ Road · Use 🏁 Start on the start/finish line · 🚧 Wall = barrier · ⚡ Boost = speed pad · 🛢️ Oil = spin-out zone. Leave blank for the built-in oval track.
Paint tiles above solid (purple), hazard (red), or erase. Hit ▶ Run to play your level.
Theme & Story 🎨📖 Story ▶
Add story text shown on the intro screen, victory, and game-over screens.
🎮 Controller connected
Save & Share ● Auto-saved
⚙ More tools
(click to expand)
How Blueprints Work
Each card shows the real code powering your game. Drag a slider the green numbers update live. No restart needed!
🚀
Move System
Rotate & thrust
LIVE
if (LEFT) player.rotate(-190)
if (RIGHT) player.rotate(+190)
if (UP) player.thrust(200)
Rotation Speed190
Thrust Power200
The ship rotates left/right using angular velocity, then thrusts forward. High thrust = fast but hard to control!
Real-time twin-stick action. WASD to move, arrow keys to shoot. Kill all enemies to open the door on the right. Walk through to the next room. Enemies shoot back on floor 2+!
🏎️
Car Physics
Rotate-thrust steering
LIVE
if (LEFT) car.steer(-155)
if (RIGHT) car.steer(+155)
if (UP) car.thrust(600)
if (SPACE) car.nitro() // ⚡×3
Car Speed320
Rotation-based steering + manual thrust physics. Off-road slows you down. ⚡ Boost pads give a 2s nitro surge. 🛢️ Oil slicks cause a spin-out. 🏁 Start/finish tile counts laps.
🗺️
Track Painter
Draw your own circuit
LEVEL
🛣️ Road — asphalt surface
🚧 Wall — barrier (bounce)
🏁 Start — start/finish line
⚡ Boost — speed pad +65%
🛢️ Oil — spin-out zone
Use the Tilemap editor in the Level tab to paint a circuit. Leave it blank for the built-in oval. The CPU follows the centre of your road tiles automatically.
🐸
One-Way Bounce
Doodle Jump physics
PHYSICS
// Only bounce when falling DOWNif (player.body.velocity.y > 0)
player.setVelocityY(-BOUNCE);
// Camera only scrolls UP
camY = Math.min(camY, player.y - GH/2);
The core trick: collide handler fires both ways, but only launch the player when they're moving downward. Camera follows upward only so you can't go back.
🪄
Platform Types
Normal · Moving · Spring · Crumble
DESIGN
// Crumble: destroy on bounceif (plat.getData('crumble'))
plat.destroy();
// Spring: extra launch height
velY = -BOUNCE * 1.6;
Toggle Moving Platforms, Crumble Platforms, and Spring Platforms in the Custom tab. Platform density controls how far apart each platform spawns.
Punch enemies quickly to chain your combo. The multiplier grows with each hit but resets if you pause too long. Boss enemies appear every 3 waves and deal splash damage!
Grunts move fast and die in one hit. Heavies are slower but take multiple punches. Bosses appear at wave 3, 6, 9… with a visible HP bar.
📦
Sokoban Push Logic
One crate, one space ahead
LOGIC
// Can only push if space beyond is clearif (tile[nx][ny] === 'crate') {
if (tile[nx+dx][ny+dy] !== 'wall')
pushCrate(nx,ny,dx,dy);
else return; // blocked
}
Classic Sokoban rules: you can push ONE crate at a time, only if the cell behind it is free. Crates on targets turn green. Push all crates onto targets to win!
🎵
Note Timing Windows
PERFECT / GOOD / MISS
TIMING
// Distance from hit lineif (dist < 18) judge('PERFECT', 100);
else if (dist < 36) judge('GOOD', 50);
else judge('MISS', 0);
Hit notes as they reach the glowing target line. PERFECT (±18px) scores 100pts and builds your combo multiplier. Miss too many notes and it's game over — configure the limit in the Rhythm Options panel. Use the Music Sequencer to create your own patterns!
Press T to enter placement mode, then click any non-path cell to build a tower for 50 gold. Towers auto-shoot the closest enemy in range. Earn gold by clearing waves!
🏹
Auto-Targeting
Nearest enemy in range
AI
// Fire every 900ms if enemy in range
enemies.forEach(e => {
const d = dist(tower, e);
if (d < range) target = e;
});
if (target) shoot(target);
Each tower scans all enemies every 900ms and fires a bullet at the nearest one within its 120px range ring. Bullets travel at 220px/s and deal 1 damage. Watch the path to position towers effectively!
Each flipper has a pivot and an angle that swings up when the key is held, then springs back. A manual line-segment collision check determines if the ball is touching the flipper — if active, a strong upward kick is applied based on where along the flipper the ball lands.
Bumpers use Phaser arcade physics collision. On contact, the ball's velocity is directed away from the bumper centre — and always boosted to at least 400px/s so it never gets stuck. Hit all three top targets in a single ball to earn a 2000pt bonus!
Arcade physics checks every frame if two objects overlap. When they do: destroy both, add to score, update display.
How It Works
Open the Workshop above → create your art → click 🕹️ Send to Game Maker → it auto-imports here! Or use the buttons below to pull from a tool you already used.
Player Sprite
No sprite
Using default ship
Import your pixel art or character to replace it.
No custom sprite loaded
🎭 Built-in Sprites — click to use as player sprite
// ── PINBALL — Flippers · Bumpers · Targets ─────────────────// Z / ← = left flipper · X / → = right flipper// Flipper angle animates up when held, springs back on releaseif (leftDown) lfAngle = Math.max(lfAngle - 450*dt, -28);
else lfAngle = Math.min(lfAngle + 450*dt, 28);
// Bumper hit: bounce ball away + add scoreconst spd = Math.max(spd + 200, 400);
ball.setVelocity((dx/dist)*spd, (dy/dist)*spd);
score += bumper.pts;
// Drain: ball falls below table → lose lifeif (ball.y > GH + 20) { lives--; resetBall(); }
if (lives <= 0) showGameOver(score);
💡 Full Source
All this code is inside arcade-game-maker.html — open it in a text editor to read the full source. Every scene is a Phaser 3 class that extends a shared base. Remix it freely!
⚡ Event Rules
Event Nodes make things happen during your game — no coding needed!
Tap 🟢 WHEN to set trigger. Tap 🔴 THEN to set action.
⚡No rules yet! Add one below — try "When score reaches 500 → Show message"
— run game to see rules fire —
🛠Creative WorkshopDesign your sprite, build your level, craft your sounds — click 🕹️ Send to Game Maker inside any tool and it auto-imports!
Click cells to toggle notes. Columns = beat steps (8 per bar). Hit 🕹 Use in Game to send to game. Rhythm mode: rows 1–4 = lanes A S D F, rows 5–8 = audio pitches only.
🏅
Custom Achievements
Add New Achievement
Custom achievements fire automatically during gameplay. They appear in the Achievements showcase alongside built-in ones.
📱Landscape gives more room — or just keep playing!
⏱ 0:00.000
🎬
Cutscene Editor
Story beats shown before / after gameplay
💀
Boss Designer
Define phases, HP thresholds & attack patterns
Phases (HP thresholds)
🕹️
My Arcade Game
Tap or press Space to start!
⚡
Custom Power-up Designer
Design up to 6 custom power-ups. They drop randomly when enemies die (if ⚡ PU drop rate > 0 and Loot is enabled). Each PU has a name, icon, effect type, duration, and strength.
Controls: LEFT/RIGHT rotate · UP thrust · SPACE shoot
Shortcuts: R Run S Save F Fullscreen 1-5 Tabs
🎯
Mission: Hit Run then open the Blueprints tab — tweak the green numbers and watch the game update live!
🕹️
Welcome to the Arcade Game Maker!
Build your own arcade game in minutes — no coding needed. Let's do a quick tour!
Choose a Trigger
Tap an option to select it
🕹️
Family Creator's Handbook
Your secret map to building awesome arcade games together!
🚀4-Step Quick Start: Build Your First Game!▼
You don't need to be a wizard to make a game. Just follow these four simple steps together!
1
🎮 Pick Your Adventure (The Genre)
Look at the Build tab together. Choose a game style like a Platformer (jumping adventures), Space Invaders (cosmic battles), or an Endless Runner (fast-paced racing).
2
⚡ Tune the Rules (Speed & Physics)
Use the sliders in the Build tab to change how fast your character moves, how high they jump, and how heavy the world feels. Try 🟢 Easy preset first!
3
🖼️ Bring in Your Characters (The Art)
Open the Art tab and click Import Sprite Asset. Bring in your custom pixel art your Purple Fox, Pink Tiger, or Axolotl! You can also pick a colour theme in Build → Theme & Story.
4
▶ Hit the Big Green Button (Play!)
Click the big green ▶ Run Game button to instantly jump inside your game. Want to change something? Just tweak a slider or pick a new preset and hit Run again changes happen instantly!
🛠️What Do The Sliders Do?▼
Think of the settings panel like the dashboard of a spaceship. Each slider completely changes how the world feels!
👟
Player Speed
How fast does your character run? Turn it down for a careful, sneaky crawl or crank it up for super-sonic speed! 🐢 → 🚀
🚀
Gravity
Controls how heavy the world feels. Low gravity = floaty space-boots for giant high-flying leaps. High gravity = super heavy for quick snappy jumps.
🌀
Friction
Controls how slippery the floor is. Low friction = icy platforms where characters slide around. High friction = super-sticky sneakers!
🟢
Bounciness
Perfect for pinball or bouncy ball games. The higher this goes, the crazier objects bounce off walls and floors. Great for Breaker and Pinball modes!
👾
Enemy Speed & Spawn Rate
Controls how fast enemies move and how often new ones appear. Try 🟢 Easy preset to start you can always make it harder once you're winning!
🧠The If/Then Magic Wand (Event Editor)▼
You don't need to type messy code to make things happen! The ⚡ Events tab uses simple WHEN ➡ THEN magic rules. Think of it like setting up a fun chain reaction!
WHENPlayer touches Star
THENDestroy Star AND Give +10 Score
💡 Creates a Treasure Hunt — stars disappear when collected and your high score goes up!
WHENPlayer touches Goal Flag
THENPlay Victory Sound AND Show "You Win!"
🏁 Creates the Grand Finale — sets up the winning finish line for your level!
WHENSpacebar is pressed
THENShoot Laser Projectile
⚡ Creates Super Powers lets your character blast away obstacles!
WHENPlayer touches a Spike
THENPlay Boom Sound AND Restart Level
🔴 Creates a Dangerous Trap adds exciting challenges so the player has to try again!
🔍
Parent & Kid Design Challenge! Watch out for funny logic loops! If you make a rule that says "When Player touches a Spike → Restart Level", make sure your starting spawn point isn't sitting right on top of a spike or your character will get stuck popping like a balloon the second the game starts!
📱Take Your Arcade Anywhere (Offline Play)▼
1
Install the App
Look for the "Install App" banner at the bottom of the screen, or the little install icon in your browser's address bar. Tap it!
2
Find Your Game Icon
A cool game icon will appear on your home screen or desktop just like a real app!
3
Play Anywhere Even Without Wi-Fi!
Design levels, draw characters, and test your games in the car, on a flight, or anywhere else even with Wi-Fi completely turned off!
💬Quick Fixes for Young Creators▼
My character fell through the floor or is moving too fast to see!
Don't panic! Your character might just be moving faster than the physics engine can keep track of. Open the settings panel, lower the Player Speed or Gravity values a little, and test it again. The 🟢 Easy preset is a great starting point!
My imported pixel art looks a bit blurry on the screen.
Make sure your custom art is drawn on a clean grid and that your scaling is set to a crisp, even number (like 2× or 4×). The engine loves retro-style, pixel-perfect graphics!
How do we save our game so we don't lose it?
The app auto-saves your creation into your browser's memory. But to be extra safe, click the 💾 Save button to download a backup file. If you ever change browsers, just click 📂 Load to bring your world right back!
Can we change the colours and style of the game?
Yes! Scroll down in the Build tab to Theme & Story 🎨. You can pick a colour palette, change the background, and even add a story intro that appears before the game starts!
What does the Events tab do?
The ⚡ Events tab appears once you've played your first game. It lets you create WHEN → THEN rules without any coding like "When player touches a star, give +10 score". Check the If/Then Magic Wand section above for examples!