Nemo Nemo Wizards

3D voxel roguelike Bullet heaven Character collection Built in Godot 4 Free in-browser

Pick a mage, walk into the horde, and let the spells fly. Nemo Nemo Wizards is a full 3D voxel take on the bullet-heaven roguelike: monsters pour in from every side, your spells fire on their own, and every run you level up, pick new powers and push a little deeper. Survive well enough and you unlock new mages — each with their own spells and stats to grow between runs.

Nemo Nemo Wizards Godot 4.6 build · portrait · keyboard or touch
Open in new tab
Heads up

This is a real 3D game, so the first run downloads about 54 MB and can take several tens of seconds — the screen may sit dark while it loads. Please leave the tab open. After that your browser keeps it cached, so coming back is much faster.

Loading Nemo Nemo Wizards

First run downloads about 54 MB — this can take several tens of seconds. Next time it loads from your cache.

Plate No.11 · Nemo Nemo Wizards · Godot 4.6 · Portrait 9:16 · Hosted Build

Move with WASD / arrow keys on desktop, or drag the on-screen stick on a phone. Spells cast themselves — your only job is positioning.

KitParlor leaderboard

Top 10 · web plays only · for fun
This run 0

Loading the board…

A voxel horde-survival roguelike, made for real

Nemo Nemo Wizards is the kind of game you open for "one quick run" and look up twenty minutes later. You control a single small mage in a chunky 3D voxel world. Monsters spawn continuously and close in from all sides; your spells fire automatically on a timer, so the whole game is about where you stand, which way you retreat, and what you choose when you level up. Kill enough and the field turns into a fireworks show of overlapping spell effects — the good kind of chaos.

It is not a five-minute toy. Every run drops experience and rewards that carry over, so between runs you are steadily building something: new mages to unlock and collect, and permanent stat growth that makes the next attempt reach further than the last. Runs that ended in the first minute start ending in the tenth.

  • Genre — 3D voxel action roguelike / bullet heaven (a "survivors-like").
  • Collection — unlock a roster of mages, each with a different signature spell.
  • Growth — permanent stat upgrades between runs, plus in-run level-up picks.
  • Controls — WASD or arrow keys on desktop, on-screen stick on touch. Attacking is automatic.
  • Built with — Godot 4.6, originally released for Android and now playable in the browser.

The genre, briefly

What a "bullet heaven" is, if you have never played one

It is the genre where you stop shooting. You steer a character around an arena; your weapons fire by themselves on their own cooldowns; enemies arrive in a rising tide from every edge; and the only decisions you make are where to stand and which upgrade card to take when you level up. The form was popularised by Vampire Survivors, and the shorthand "bullet heaven" is a joke on "bullet hell" — the screen fills with projectiles, but this time they are yours. A run is short, ends in death, and hands you currency toward a permanently stronger start. If you have never played one, the first thirty seconds feel too easy and the eighth minute does not.

Build note

A Godot game living in someone else's page

Nemo Nemo Wizards is not written in the page you are reading. It is a Godot 4 project — a real 3D engine, the same one used for desktop and mobile releases — exported to WebAssembly and hosted on its own domain, which this page embeds in an iframe. That arrangement explains nearly every odd thing about how it loads.

Engine
Godot 4.6, GL Compatibility renderer (not the Vulkan path)
Target
WebAssembly + WebGL2, no plugin, nothing installed
Design viewport
720 × 1600 portrait — phone shape first, desktop second
First payload
~54 MB engine and data pack, then served from browser cache
Hosting
separate origin, embedded here as a lazy-loaded iframe

A WebAssembly export is not a web page that grows as you scroll. The browser has to fetch the compiled engine and the game's entire data pack, decompress them and hand them to the engine before a single frame can be drawn — which is why the wait is one long silence rather than a progress bar of little pieces. The dark rectangle during that wait is the canvas existing but having nothing to show yet.

The loading card you see over the frame belongs to this page, not to the game, and it lies slightly on purpose. An iframe fires its load event as soon as the shell document is done, which happens long before the pack has finished streaming; taking the card away at that moment would replace a helpful message with a black box. So the card is deliberately held for four more seconds after the iframe reports itself loaded. Restart game simply reassigns the frame's address, which after the first visit is a cache hit and takes a moment rather than a minute.

One consequence of the separate origin is worth stating plainly. The game keeps its saves — unlocked mages, permanent upgrades, gold — under its own domain, not under KitParlor's, and this page cannot read them. The only thing that crosses the boundary is a finished score: the build posts it upward as a message, this page accepts it only if it came from exactly that one origin, and even then nothing is sent anywhere until you type a name and press Post.

Your first run

You do not get to pick your first mage

There are ten mages, and they unlock in a fixed order rather than as a menu. The first, the Novice, is free and is the only one available on a new save; every mage after it is bought with gold banked from previous runs, in sequence, at prices that climb steeply. So the first real decision is not which character to play — it is how long you are willing to grind the starter before the roster opens up. The Novice is deliberately unremarkable, which is the point: it teaches the game without a gimmick to hide behind.

A run itself is a loop of four things. You move; your basic attack fires on its own cooldown at whatever is inside its range; the monsters you kill drop experience and gold; and each level-up pauses the game and offers three cards — a new spell, a level in a spell you already have, or a plain stat bump. Cards stack, so the shape of a run is decided in its first few level-ups, and taking a fourth different spell instead of deepening the two that are working is the classic way to stall out in the mid-game. When you die, the gold goes to permanent upgrades that apply to every future run and are each capped, so grinding has a ceiling and the game eventually asks you to actually get better.

Hardware

What it needs, and what a tired phone does

The build uses Godot's GL Compatibility renderer rather than its modern Vulkan path, specifically so it can run on the sort of hardware that a phone or a five-year-old laptop actually has. Anything with a current browser and WebGL2 should hold a playable frame rate. Integrated graphics are fine; this is chunky voxel geometry with simple lighting, not a shader showcase.

Memory is the real constraint, not the GPU. A WebAssembly game lives in one contiguous heap inside one tab, and that heap is claimed up front and never really shrinks. On a phone that is low on free memory, or one juggling a dozen background tabs, the symptom is not stutter — it is the tab being evicted outright, and you return to a blank frame. If that happens, closing other tabs and pressing Restart game costs almost nothing, because the download is already cached. Battery drains faster than it does on a normal web page too: this is a real-time 3D renderer running as fast as your screen will let it.

Frequently asked questions

How do I play Nemo Nemo Wizards?

Move only. Use WASD or the arrow keys on a computer, or drag the on-screen stick with your thumb on a phone. Your mage casts spells automatically, so surviving is about positioning — keep moving, don't get surrounded, and sweep up the experience gems the monsters drop. Each time you level up you pick a new spell or upgrade, and those picks stack into a build for that run.

Why does it take so long to load the first time?

Because it's a genuine 3D game, not a small web toy. The whole build — engine, models, effects and audio — is about 54 MB and has to download before anything can be drawn, which can take several tens of seconds on a normal connection. The screen may stay dark during that time; that's expected, not a crash. Your browser caches the files afterwards, so every visit after the first starts much faster.

Does my progress get saved?

Yes — unlocked characters and permanent stat growth are stored locally in your own browser, so you can close the tab and pick up where you left off. Because it's saved on your device, progress doesn't follow you to a different browser or computer, and clearing your browsing data or playing in a private window will wipe it.

Does it work on a phone?

It does. The game was built for Android first, so it's designed portrait and controls with one thumb on an on-screen stick. On mobile, use Wi-Fi for the first load if you can — 54 MB is a noticeable chunk of mobile data. Tap Fullscreen for the best fit on a small screen.