DEVELOPMENT PREVIEW
KartWorld, a 3D adventure in the browser
A cartoon island generated in code: you walk, run, jump, summon a kart and drive it into a portal that loads the first level. Built with Godot 4, it runs in the browser with nothing to install. It is also openly unfinished: the art is still placeholder and there is almost no sound. It's here because it can already be played, not because it's done.
You need a computer. Controls are keyboard, mouse and gamepad: phones and tablets can't play it yet, there are no touch controls. The first load downloads about 24 MB.
The mouse is captured on the first click inside the frame: browsers require a gesture before the pointer can be hidden. Esc releases it, a click takes it back. The in-game text is in Italian.
Controls
| Action | Keyboard and mouse | Gamepad |
|---|---|---|
| Move | W A S D | Left stick |
| Run | Shift held | B held |
| Jump and double jump | Space (tap: short hop) | A |
| Attack | J or left mouse button | RB |
| Look around | Mouse, or arrow keys | Right stick |
| Summon the kart | K | Y |
| Talk, enter and leave the kart | E | X |
| Kart: accelerate, brake and reverse | W and S | Right and left trigger |
| Kart: steer | A D | Left stick |
| Kart: turbo | Shift | B |
| Kart: jump | Space | A |
| Release and recapture the cursor | Esc and click | Start |
What there is to do
You start on the island: beach, forest, mountain, a house and two characters to exchange a few words with. Explore on foot, or summon the kart with K, get in with E and cover ground much faster.
Somewhere on the island there is a portal: walking or driving through it loads the first level. There the task arrives one step at a time, written in the HUD: follow the trail, collect the stars, touch the checkpoint, swat the slimes, jump the gap, reach the clearing. Finish the level and the party returns to the island.
Enemies hurt on contact, hearts run out and the checkpoint puts you back. Finishing the level for the first time unlocks the triple jump: the unlock and the best star count per level are saved and restored on the next visit.
Why everything is still blocky
Because art comes last. Movement, camera, collisions, driving, portals, damage and progression have to work first: that is the part which, if it's wrong, cannot be fixed by drawing over it.
Trees, rocks, flowers, the kart, stars and flags are CC0 models by Kenney; the main character is a Meshy-generated model rigged and animated with Mixamo; enemies, NPCs and buildings are still primitives. Replacing the placeholders with real art is the next phase, not an afterthought.
How it's built
Godot 4.7 and GDScript, no third-party addons. Rendering uses the Compatibility backend (OpenGL ES 3 and WebGL 2) on every platform, so the same project comes out identical on Windows, web, Android and iOS without two art directions to keep in sync.
The web export is single-threaded, and that's a choice. A multi-threaded build would have required cross-origin isolation headers (COOP and COEP) on the domain — changing the rules of an entire static site for one page. This way the game is a resource like any other, inside an iframe, on the same origin, and no other page pays for it.
The two large files are the runtime (39 MB of WebAssembly) and the content pack (23 MB). On the server they exist only pre-compressed, 10 and 14 MB: the browser asks for index.wasm and the server hands it index.wasm.gz with the encoding declared, which the browser unwraps on its own. Keeping the plain copy beside it meant 62 MB sitting there for a client that doesn't advertise gzip — that is, for nobody.
Game logic never names a key: it talks about actions, and the mapping lives in one place. On top of it run eight headless test suites, around 330 checks, driving real scenes with simulated input: movement, kart, island, portals, objectives, combat, progression, hub. They exist so that a change to the kart can't quietly break the portals.
Frequently asked questions
Is it free to play?
Yes, free and with no sign-up. No accounts, no ads, no purchases, no tracking: open the page and play.
Does it work on a phone?
Not yet. The controls today are keyboard, mouse and gamepad; touch controls are planned but not there. On a phone the page opens and the game loads, but there is no way to move the character.
How much does it download?
About 24 MB on the first run, compressed. It stays in the browser cache, so later visits start much faster. On a slow connection the first wait is long: the bar under the splash image shows the progress.
Is progress saved?
Yes. Best stars per level and unlocked abilities go into the browser's local storage for this domain (IndexedDB, the engine's /userfs folder). They never leave the device, are never sent to any server, and are removed by clearing this site's data in the browser settings.
Does the game make network requests while you play?
No. It downloads its files at startup, from this domain, and from then on everything runs on the device. No telemetry, no calls to external services.
When will it be finished?
There's no date. It's a personal project done in phases: right now there's the island, the kart, one level, combat and progression; the next phase is presentation — animation, real models, sound. This page is updated when the build changes.
If the way of working is more interesting than the game, the real projects are here and so are the contacts.