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

ActionKeyboard and mouseGamepad
MoveW A S DLeft stick
RunShift heldB held
Jump and double jumpSpace (tap: short hop)A
AttackJ or left mouse buttonRB
Look aroundMouse, or arrow keysRight stick
Summon the kartKY
Talk, enter and leave the kartEX
Kart: accelerate, brake and reverseW and SRight and left trigger
Kart: steerA DLeft stick
Kart: turboShiftB
Kart: jumpSpaceA
Release and recapture the cursorEsc and clickStart

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.

← All games