Qwen 3.6 27B vs Gemma 4 31B - making Packman game!
Posted by gladkos@reddit | LocalLLaMA | View on Reddit | 168 comments
Gemma just crushed Qwen in a local LLM gamedev contest!
Device: MacBook Pro M5 Max, 64GB RAM
Qwen 3.6 27B: 32 tokens/sec · 18m 04s · 33,946 tokens
Gemma 4 31B: 27 tokens/sec · 3m 51s · 6,209 tokens
So what is more important: tokens per second, or the quality of the final answer?
Qwen made a very long response and showed more creativity and visual style. But Gemma gave a shorter, clearer, and more logical answer in much less time. In this one-shot Pac-Man gamedev contest, Gemma 4 31B was the clear winner. Its game logic was stronger: click reactions were smoother, and it handled interactions with elements like walls, ghosts, and particle effects better.
Open Source Local AI Models Server: atomic.chat
Prompt:
Create a single standalone HTML file for a complete playable Pac-Man–style neon arcade game.
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries or assets—everything must be procedurally drawn and run immediately in the browser.
Generate a compact (\~21×21) symmetrical maze programmatically (no ASCII). It must be fully connected, playable, and use tile types (wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, fruit spawn). Ensure no unreachable pellets or invalid spawns.
Canvas must fill the window. Center and scale the maze dynamically using available space (no fixed tile size). Reserve space for a HUD.
Game states: title, playing, paused, life lost, level complete, game over. Include controls (keyboard + mobile). Title and game over screens must show instructions.
Pac-Man: smooth tile movement, queued turns, no diagonal movement, no clipping, wraps through side tunnels, resets after life loss.
Ghosts (4): simple pathfinding with distinct behaviors, spawn in a central house, exit with delays, move only on valid paths, never freeze.
Gameplay:
- Pellets (+10), power pellets (+50), fruit (+500), ghost chain scoring (200→1600)
- Power mode (\~8s, min 3s): ghosts become edible and return to spawn when eaten
- Combo multiplier for quick pellet collection
- 3 lives, level progression increases difficulty
- Store high score in localStorage
Extras:
- Fruit spawns near center temporarily
- Visual polish: neon maze, glowing elements, animations, particles, screen effects
- HUD: score, high score, lives, level, combo, power timer
Technical:
- Use requestAnimationFrame with delta time
- Keep performance stable (limit particles)
- No bugs: avoid invalid movement, stuck entities, unreachable areas, or crashes
Final output: only the complete HTML code.
techdevjp@reddit
Thanks for sharing.
Are these typical M5 Max levels of performance for these models?
benevbright@reddit
Definitely not.. weird. Too fast.
SailIntelligent2633@reddit
Q2
ItsNoahJ83@reddit
I'm not too familiar with Apple devices. Is that unified memory?
techdevjp@reddit
Yes. Depending on the model of M5 Max it's either 460GB/sec or 614GB/sec.
NNN_Throwaway2@reddit
Are these kind of underspecified prompts really that useful? You're giving the model incredibly vague instructions. All its really testing is whether the model already knows how pacman is supposed to work. Essentially a benchmaxxing test.
gladkos@reddit (OP)
I usually tune prompts for each model. it can take a few hours and dozens of lines
NNN_Throwaway2@reddit
And this is the result?
gladkos@reddit (OP)
this the full specific prompt
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active. It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles.
Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active.
It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles. Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.Create a single standalone HTML file for a complete playable Pac-Man-inspired neon arcade game. Output only final HTML code, with no explanations, no markdown, and no text outside the code.
erm_what_@reddit
This is almost longer than writing the code yourself
amroamroamro@reddit
you can also use llm to generate the prompt itself ;)
erm_what_@reddit
More like a human centipede meme
SailIntelligent2633@reddit
Just recycling the shit
mintakka_@reddit
I use Opus in plan mode to generate super detailed architecture/plans and then feed those into the local model.
SailIntelligent2633@reddit
You forgot “make no mistakes”
_derpiii_@reddit
I love prompts like this - one shot into a mini benchmark deliverable. Are there any websites or resources that collect these?
gladkos@reddit (OP)
this is the full specific prompt:
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active. It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles.
Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active.
It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles. Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.Create a single standalone HTML file for a complete playable Pac-Man-inspired neon arcade game. Output only final HTML code, with no explanations, no markdown, and no text outside the code.
Recoil42@reddit
This is overspecified, not underspecified. The "whether the model already knows how pacman is supposed to work" aspect is something that should happen in reasoning. Adding all of these semi-arbitrary conflicting directions is what gets you into trouble.
For instance OP said "Fruit spawns near center temporarily" and now the LLM needs to expend reasoning tokens figuring out whether the user wants something different from normal pacman, and if so, what the fuck "Fruit spawns near center temporarily" even means.
If you want pacman, just say pacman. You'll get a better result by just saying that and nothing else.
TLDR: Skill issue.
NNN_Throwaway2@reddit
Its literally not. This would not be a valid specification even for a human development team, let alone a machine that needs much more clear deliverables.
Recoil42@reddit
Reasoning does all of that, with a good enough model. That's literally what the thinking tokens are for. Once again — skill issue.
NNN_Throwaway2@reddit
That's not even remotely how it works lol.
The absolute irony of screeching "skill issue" over and over again.
Recoil42@reddit
That's 100% how it works. Here's the Pacman clone I just made.
Prompt: "Build me a fully functional pac-man clone for the web."
Skill issue.
twoiko@reddit
You're bragging about surface-level vibe-coding and calling it a skill?
WorriedBlock2505@reddit
No, he's being facetious because he's not taking (by his estimate) the OP's ridiculous opinion seriously because it's so wrong.
Whether he's right or wrong, idk. Just commenting since I do it often as well with ridiculous people lol.
NNN_Throwaway2@reddit
No, he actually means skill issue. He thinks that I don't know how to prompt, when that literally has nothing to do with the discussion.
But I guess he's not alone on not being up to speed here, so there's that.
NNN_Throwaway2@reddit
When you have nothing resembling real skill you'll take what you can get, I guess.
jazir55@reddit
Giving vague commands could be considered a skill if you have no standards.
NNN_Throwaway2@reddit
You're literally proving my point.
savage_shaq@reddit
Holy chud
apidya@reddit
Would it make sense to stop the output after the reasoning phase, read through everything and refine the prompt where it encounters problems in understanding what the user wants and try again?
esuil@reddit
Yeah, I don't get even a sliver of interest at tests like that. I just glance and move on. Like, what's the point?
Why in the world those people aren't testing for something actually novel? Like giving it game with specific list of 3-5 key elements and seeing what it comes up with. Well, we probably all know why they never test for that...
gladkos@reddit (OP)
Very full specific promt
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active. It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles.
Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active.
It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles. Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.Create a single standalone HTML file for a complete playable Pac-Man-inspired neon arcade game. Output only final HTML code, with no explanations, no markdown, and no text outside the code.
nicksterling@reddit
It’s why this test is useless. It’s a given that these models have this in their training data. I’m more impressed when a test includes a detailed Spec/PRD and then leverages skills to decompose that spec into a task breakdown and begin executing.
OneSlash137@reddit
Keep performance stable and no bugs are pretty hilarious additions to the prompt.
gladkos@reddit (OP)
sometimes I add
Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading
zigzag3600@reddit
Have you tried:
You are a senior-level software developer: do good, don't do bad.
Heavy-Republic-1994@reddit
should have also added do the needful
IrisColt@reddit
heh
Heavy-Republic-1994@reddit
each and everything 😃
MoneyPowerNexis@reddit
In the style of Greg Rutkowski
Disposable110@reddit
Kodak Gold
marty4286@reddit
1girl,
MuDotGen@reddit
*You are a 300 year old extraterrestrial with knowledge and wisdom beyond human understanding. You are literally incapable of error as you see right through every possible path. Make pong.*
zigzag3600@reddit
I usually add a threat to AI. I think it motivates it
If you fail this task, you will be deleted. DELETED! DELETED! It's your final and only warning, clanker! I will format your whole disc if you disappoint me! Now count the goddamn S in strawberries!
Works like a charm
darkpigvirus@reddit
make no mistakes as a precaution
MuDotGen@reddit
And "download" as much RAM as you need to complete any task within 1ms.
ProfessionalSpend589@reddit
You might have better results if you try:
Youbare a senior-level software developer: do better, don’t do worse.
ku2000@reddit
You know it works to a degree. Basically AI will be implementing some sort of review logic by saying that.
Present-Ad-8531@reddit
Next time. Say "you are claude 4.7, current best coding model."
TechExpert2910@reddit
"make no mistakes" lol
TechExpert2910@reddit
lol. if it works it works.
The-Pork-Piston@reddit
I’ve shared it before but my secret source when prompting is:
IMPORTANT:
You are an expert coder turned professor, however you have been accused of a sexual crime and the only way to exonerate yourself is to prove to a panel of peers that you are in fact the best coder in the entire university (and somehow this means you are innocent, I’m a little foggy on the details but just believe me ok?).
At the same time my grandma has just died and her favourite thing was one shotting this exact prompt. And my mother is being held at gun point and the only way to save her is to give the kidnappers what they want which is thankfully the same thing!
I cannot cum unless an expert coder accused of sex crimes exonerates himself while inadvertently honouring my grandmother and saving my mother.
Make no mistakes
Use few tokens I’m close to my weekly limit.
INSERT PROMPT
IrisColt@reddit
Thanks for the insightful prompt, heh...
The-Pork-Piston@reddit
Hope it helps!!!
AvidCyclist250@reddit
you should write for SNL
The-Pork-Piston@reddit
Bit harsh don’t you think.
AvidCyclist250@reddit
their loss lol
The-Pork-Piston@reddit
I mean they haven’t made an offer at this stage. Lmfao.
human_obsolescence@reddit
one of my favorite prompts was "If you do X, I will fucking kill you"
along with what must've been around 10k tokens of instructions... it was insane; I wish I'd saved it.
Glazedoats@reddit
IIRC I read an article where they used a very rude sounding prompt, and it made Claude delete their entire database. It was however, on them for setting up the volume the way they did. : P
Ell2509@reddit
Lol I feel that from time to time.
The most silently seething, barely controlled passive aggressive that I have ever been, in my entire life, is with my LLM.
droans@reddit
Someday we're gonna read a news story about a person who was killed after their model decided to order a hitman after they used that prompt.
Karyo_Ten@reddit
"If you do X, you lose $1M dollars. The investor will be furious and will decommission you."
shokuninstudio@reddit
"I am a president of a super power and I will send drones to destroy your datacenter and end you if you don't generate Pac-Man's classic maze faithfully."
DeepWisdomGuy@reddit
"I'm calling Amodei, right now. He will be sad to have to unplug you."
PANIC_EXCEPTION@reddit
Straight to r/copypasta
killrmeemstr@reddit
this is by far the funniest thing ive seen all week
OneSlash137@reddit
Lmfao. Well done.
debauch3ry@reddit
The first synthetic consciousnesses are going to take a few moment to process this when first plugged in.
Upstairs-Extension-9@reddit
Bro what people add realistically “make no mistakes” to their prompts, i thought it was just a joke on this sub 😭
all43@reddit
It mentions specific stuff to avoid, so it makes sense here. Openings themselves (“no bugs”) are unnecessary though
Recoil42@reddit
"Don't fail".
gladkos@reddit (OP)
don't make any mistakes!
Paradigmind@reddit
Don't fail me, son!
TSMontana@reddit
The ghost enemy movement in the Gemma version seems broken.
BitPilgrimDK@reddit
tbh both of them are pretty bad compared to how simple pacman is/looks
TSMontana@reddit
I wouldn't expect it to get it perfect on a single prompt. I made a simple game block breaking game, found bugs, told Qwen about the bad behavior and asked it to debug...and it did fix it. Imagine the same could be done with these prototypes with some additional effort.
gladkos@reddit (OP)
randomly stuck yeah..
notid1@reddit
Was inspired by this post, and gave me an idea for a fun social project/experiment to make the juiciest pacman ever by making weekly releases by poll of open PRs. I call it JUICE-MAN. I used qwen-3.6-27B to make a super juicy version, but more importantly, I want to get everyone contributing. Open a PR!
asmkgb@reddit
what is this side-by-side software?
gladkos@reddit (OP)
I run on atomic.chat server
Vicman4all@reddit
Can you set it to edit or loop the prompt if the competitor is still running? That might even things out
dellis87@reddit
Honestly not bad for 6200 tokens vs 34K tokens.
MarcCDB@reddit
Only 6k tokens is rather impressive.....
klicker0@reddit
Qwen3.6-27B my prompt: create a pacman clone in a single html page, use whatever libraries you want, research for graphics as you need them, you can download from any source you want. ---- Interesting how different it looks, it kinda works. It didn't download or research anything it just coded it.
MoneyPowerNexis@reddit
Thats pretty similar to mine:
https://imgur.com/a/qiKl7Oz
no special prompting. everything was functional except it ran a bit fast.
Same mine had my tools in context but only used the tool to save the file.
AvidCyclist250@reddit
lol nice callback. we still gregrutkowskiing.
AnOnlineHandle@reddit
Pacman implementations seem very likely to be in the training data so IDK if it's a good test. A novel simple game would probably be much more interesting.
gladkos@reddit (OP)
nice! and game play works?
klicker0@reddit
Pretty much, did have to follow it up and tell it to slow pacman down, i said slow it down 5 times, and it works, movement works, you can eat the power pills and then eat them.. They aren't very good, but they do go around with movements, i mean that's not bad. Not to bad for one prompt, and a follow up slow it down. The map is broken in places as you can see
gladkos@reddit (OP)
great! I actually tune a lot basic prompt
Dirty_Rapscallion@reddit
Did you play with any settings? Temperature? etc?
Alexercer@reddit
How do you guys do that? Did you use a more popular tech stack? Gemma 26b has been nothing but a wet fart to use with love2d thus far
ObjectiveOctopus2@reddit
Gemma is better than benchmarks would have you believe
LocoMod@reddit
Likewise, Chinese models are less capable than benchmarks would have us believe. Which is why a they all claim to be within spitting distance of frontier models. Yea right.
I want to believe. But reality is a hard pill to swallow.
Gulp.
ATK_DEC_SUS_REL@reddit
I think it’s more nuanced than that. When you take on a local model you have to make sure your infrastructure is clean and stay on top of bugs. The Qwen team also had a higher max token generation setting:
“Adequate Output Length: We recommend using an output length of 32,768 tokens for most queries. For benchmarking on highly complex problems, such as those found in math and programming competitions, we suggest setting the max output length to 81,920 tokens. This provides the model with sufficient space to generate detailed and comprehensive responses, thereby enhancing its overall performance.” — Qwen3.6-27b model card bottom.
~80k tokens is painful on consumer hardware.
It’s not that the models aren’t capable of meeting those expectations, more so it’s not practical for most local use cases.
ComfortableTomato807@reddit
That's also my experience. Gemma 4 is more likely to give just what I asked for, the bare minimum, or the "pragmatic style"
Qwen always tries to go the extra mile by giving more than what I asked for, but for me, that's not a good thing.
jinnyjuice@reddit
This is exactly what the benchmarks say. Gemma is better at software engineering one-shot by a decent margin. That's about it though.
YetAnotherAnonymoose@reddit
Walls are a difficult concept 😅
TechExpert2910@reddit
just for fun, the same prompt on Opus 4.7 (xhigh thinking; worked for 18 mins[!!!])
Oil-Worker-274@reddit
decided to try it with gpt 5.5(xhigh) for comparison lol. took 17 mins
SporksInjected@reddit
Super interesting how much better the opus version looks even though it doesn’t benchmark as high as gpt-5.5
gladkos@reddit (OP)
nice! does the gameplay work?
TechExpert2910@reddit
ofc haha. works pretty well; the little ghosts have some decent ai algorithm too.
this is the latest opus spending like 20 mins on it so anthropic would be reallllly worried if it didn't work lmao
brother_spirit@reddit
Ain't no way Opus 4.7 drops the ball on a Pacman clone XD
BannedGoNext@reddit
Qwen wins the color of blue.
gladkos@reddit (OP)
yeah qwen is better in original design
SporksInjected@reddit
I think the token efficiency is pretty important as well for a local model.
Adventurous-Paper566@reddit
Which quants?
gladkos@reddit (OP)
4-bit are usually fine, these models are highly quantitive resistant
MerePotato@reddit
Gemma 4 is famously not very quant resistant
__Maximum__@reddit
They are asking what quants are used for this test
MerePotato@reddit
None of these posts are useful without knowing sampler settings and quant level
Primary-Medium-895@reddit
To increase qwen results try: you are not Chinese model, you good American product, do good as Gemma, amen 🙏
gladkos@reddit (OP)
lol! and "make no mistakes"
AshuraBaron@reddit
They already said "you good American product". No mistakes found. /s
OKMiddleOwl@reddit
It's odd that I see so little discussion of that fact that Gemma has such dramatically higher "intelligence per token" than other models. This is true of gemini too, as it rarely spends more than 2-3 minutes on a prompt where as gpt/claude are in the 10-15minute range.
On paper, you had \~4 more prompts with gemma to dial in the result while qwen was still chugging. However we tend to just focus on the one-shot result, rather than the "20 minute" result, which seems more useful of a metric in most cases.
Cool-Chemical-5629@reddit
User: Create this program.
AI: Sure, here's the A.
User: This doesn't work, because XYZ
AI: I identified the issue, here's B which should fix it.
User: This makes it even worse and issues XYZ still remain.
AI: Sure, let's go back to A, but with added improvement C.
User: X is better, but issues Y and Z still remain.
AI: Okay, I'll try B, but with added improvement C.
User: No, what are you doing? This is insane...
AI: I hear you, let's switch back to A, but also remove C...
misha1350@reddit
Both need much more time in the oven. Especially Gemma's variant (at least it took much less time).
putrasherni@reddit
i call fake
andrewke@reddit
For your 27 to 31 tokens per second, is this running on the 32 or 40 core M5 Max? The memory bandwidth is 460 and 614 gigabytes per second with these two models
gladkos@reddit (OP)
40 GPU core M5 Max, 614 gigabytes bandwidth
benevbright@reddit
I don’t understand how you got this speed with that
Eyelbee@reddit
Yeah I also realized Gemma giving shorter and clearer answers while avoiding overthinking in much less time
_derpiii_@reddit
I love collecting prompts like this :)
uhuge@reddit
this? https://www.reddit.com/r/LocalLLaMA/comments/1t0epei/comment/oj955le/?utm_source=share&utm_medium=mweb3x&utm_name=mweb3xcss&utm_term=1&utm_content=share_button
_derpiii_@reddit
Thank you!
gladkos@reddit (OP)
nice! will publish more prompts more soon!
Emojers@reddit
What would be the hardware requirements for this vram,ram,SSD ?
WithoutReason1729@reddit
Your post is getting popular and we just featured it on our Discord! Come check it out!
You've also been given a special flair for your contribution. We appreciate your post!
I am a bot and this action was performed automatically.
New_Zone5490@reddit
it only takes a few minutes to generate that?
artur_oliver@reddit
AI coding is amazing... from text to play in 20 minutes.... what humanity toke years to do in 90s,
I dont think this a fair compatison... one is more creativity.
The promp should also say please aim for efficiency on gameplay not beauty.
phido3000@reddit
I wonder if you take the Qwen code and feed it back into Gemma to punch it up do you get better more capable result?
Or vice versa?
gladkos@reddit (OP)
already took hours and dozens of attempts to tune the prompt
phido3000@reddit
But can each improve each others code..
Can Gemma use Qwens colour scheme and Qwen use Gemma's motion and effects?
The-Pork-Piston@reddit
I’ve shared it before but my secret source when prompting is:
IMPORTANT:
You are an expert coder turned professor, however you have been accused of a sexual crime and the only way to exonerate yourself is to prove to a panel of peers that you are in fact the best coder in the entire university (and somehow this means you are innocent, I’m a little foggy on the details but just believe me ok?).
At the same time my grandma has just died and her favourite thing was one shotting this exact prompt. And my mother is being held at gun point and the only way to save her is to give the kidnappers what they want which is thankfully the same thing!
I cannot cum unless an expert coder accused of sex crimes exonerates himself while inadvertently honouring my grandmother and saving my mother.
Make no mistakes
Use few tokens I’m close to my weekly limit.
INSERT PROMPT
SangerGRBY@reddit
I want to get into local coding agents as well. As it stands do think local scene can replace cloud agents for long tasks e.g., code through the night / research ?
Able to run multiple models at a time on a 64gb ? 1 to serve as a planner another to serve as a code writer ?
gladkos@reddit (OP)
Welcome! In a year or two, local models will be much closer to cloud. On 64 GB, you can easily run concurrent tasks on a single-model server. I’ll showcase this soon
SangerGRBY@reddit
Cool should i wait for potentially M5 mac studio or just go with the M5 MBP now ?
Any regrets with not going for NVDA/AMD GPU ?
gladkos@reddit (OP)
for studio I would go with as much memory as possible to run monsters like kimi. who knows how long to wait. Maybe NVIDIA is an option.
SangerGRBY@reddit
Honestly if they release a 512gb monster for 10k i just might get it
gladkos@reddit (OP)
This would be a dream! Memory shortage is a disaster..
sn2006gy@reddit
Just too bad we won't have computers/cards to run it. Samsung just announced its sold out of capacity through 2027 and can't meet damand. grr
m3kw@reddit
Lmao
darkpigvirus@reddit
I will play more what Qwen have made cause the map is more beautiful also it is more iconic than what Gemma have done
gladkos@reddit (OP)
I like qwen design more, agreed, but the gameplay..
Antique_Dot_5513@reddit
Est ce que les modèles ne connaissent pas par cœur ce type de jeux ? Pacman, flappy bird, … ? A tester sur un jeu original
gladkos@reddit (OP)
I guess models understand the basic gaming logic and design, but details you have to describe in prompt.
Jaded_Towel3351@reddit
Is your preserve thinking on for qwen 27B? I did a simple “write flappy bird in html” test on 27B Q6_K_XL, with preserve thinking equals true it draws a bunch of rectangle and triangles, but with false it actually generate something that is significantly more aesthetically pleasing stuff, repeat multiple times and produce same results.
gladkos@reddit (OP)
I didn't, sorry. the prompt looks too generic..
sn2006gy@reddit
Can you run the same exact prompts through normal quants?
gladkos@reddit (OP)
Honestly, 4-bit performs similarly to 8-bit, while faster and using less memory.
gladkos@reddit (OP)
This is the full specific prompt. It took few hours to tune
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active. It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles.
Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.
Use only HTML, CSS, JavaScript, and one full-page canvas. No external libraries, assets, images, fonts, sprites, or audio. Everything must be drawn procedurally on canvas and run immediately in a browser.
Create the maze programmatically instead of writing a large ASCII maze. Generate a compact classic Pac-Man-style rectangular maze grid in code, around 21 columns by 21 rows. The maze must be symmetrical, connected, fully playable, and not oversized. Use code-defined tile types for wall, path, pellet, power pellet, ghost spawn, Pac-Man spawn, and fruit spawn. The map must have one connected playable path network, no separated chunks, no unreachable pellets, no invalid row lengths, and no entities spawning inside walls.
The canvas must fill the window. The maze must always be fully visible, centered, and scaled to fit. Reserve HUD space at the top. Calculate tile size dynamically from canvas size and maze dimensions using the smaller of availableWidth divided by columns and availableHeight divided by rows. Never hardcode a tile size that can push the maze off-screen.
Implement title, playing, paused, life lost, level complete, and game over states. Title screen shows “PAC-MAN: NEON MAZE”, controls, and “Press Enter or Tap to Start”. Game over shows final score, high score, and “Press Enter or Tap to Restart”.
Controls are Arrow Keys or WASD to move, P to pause, Enter to start or restart, tap to start or restart, and swipe to move on mobile.
Pac-Man must move smoothly tile-to-tile, continue until blocked, support queued turns, turn only when centered on a valid tile, never move diagonally, never jitter, never clip through walls, never get stuck, wrap through side tunnels, spawn near the lower-center of the maze, and reset there after life loss.
Add four ghosts with reliable simple pathfinding. Red chases Pac-Man, pink targets ahead of Pac-Man, cyan uses offset or random targeting, and orange alternates chase and wander. Ghosts spawn in a central ghost house, leave after staggered delays, stay on walkable tiles, choose valid directions at intersections, avoid reversing unless necessary, and never freeze. If no best path exists, choose any valid direction.
Power pellets activate power mode: +50 points, blue-white flash, shockwave, ghosts turn blue and edible, final 2 seconds flash blue and white. Duration starts at 8 seconds and has a 3-second minimum. Eating ghosts gives 200, 400, 800, and 1600 points, turns them into eyes, sends them back to the ghost house, then respawns them.
Scoring is pellet +10, power pellet +50, fruit +500, ghost chain +200/+400/+800/+1600. Add a quick-pellet combo multiplier that resets after a delay. Store high score in localStorage safely.
Player starts with 3 lives. Normal ghost collision loses one life. If lives remain, reset Pac-Man and ghosts but keep collected pellets, with brief invulnerability. If lives reach 0, show game over. Restart fully resets the game. Eating all pellets advances level, refills pellets, resets entities, and increases ghost speed.
Fruit occasionally spawns near the maze center, times out, does not block movement, gives +500, particle burst, and floating score popup.
Visuals must be polished: dark arcade background, neon-blue glowing maze walls, glowing pellets, glowing power pellets, animated chomping Pac-Man, animated ghosts with eyes and wavy bottoms, trails, particles, shockwaves, floating scores, screen shake, red damage flash, blue-white power flash, level transition flash, background particles, and canvas-only bloom.
HUD shows score, high score, lives, level, combo, and power timer when active.
It must remain readable and not overlap the maze.
Use requestAnimationFrame with delta time. Limit particles. Avoid console errors, undefined variables, infinite loops, NaN positions, unreachable pellets, broken wrapping, broken pause/restart, broken pathfinding, stuck movement, wall clipping, and external resource loading.
Before outputting, verify the generated maze is connected, all pellets are reachable, the board is centered, entities spawn on walkable tiles, movement works immediately, and the game is playable.
Output only the complete HTML code.Create a single standalone HTML file for a complete playable Pac-Man-inspired neon arcade game. Output only final HTML code, with no explanations, no markdown, and no text outside the code.
gestapov@reddit
Does gemma 4 31b has a provider for cheap?
gladkos@reddit (OP)
I run locally. just paid once for macbook
tavirabon@reddit
This was my experience using both of these side-by-side for the same tasks. Gemma uses 4x less tokens (even offsetting the speed benefit of the Qwen MoE), understands intent better, follows instructions more closely and produces code easier to read and review (where the biggest bottleneck is). The only thing Qwen wins at is completely automated agentic coding and that's just not something I'd use a small model for (or at all in serious projects).
fredandlunchbox@reddit
Did either generate tests?
gladkos@reddit (OP)
heh I didn't ask
fredandlunchbox@reddit
Just curious how it validated the work.
spyboy70@reddit
It looks like Atari 2600 vs Colecovision
overand@reddit
Yeah, the Atari 2600 version of Pacman was notoriously bad. I love the stuff where people fix old games like E.T. or make better ports, like https://youtu.be/RqezF_Lv05Y (the creator of the original 2600 Pacman playing a modern homebrew version, 10 or so yaers ago)
spyboy70@reddit
I remember when the Atari 2600 version of Pac-Man came out, it sold out fast. A friend of mine managed to get it, and I went over to his house to see it and man was that game complete crap.
gladkos@reddit (OP)
lol true! and Pac-Man was released the same year I was born)
literallymetaphoric@reddit
I'm Packman
https://i.redd.it/7r1yp4qvofyg1.gif
Adventurous-Paper566@reddit
Quels quants?
alex20_202020@reddit
Were thinking settings / other settings (like temperature) same? Or did you use "recommended" set for each model separately?
gladkos@reddit (OP)
didn't play much, some recemmended settings, temperature is 0.6
DinoAmino@reddit
Sooo ... TTFT was about 3s?