Anticode Open builder

Make a 3D game in the browser, and know when to reach for an engine

Anticode can build 3D in the browser, but only with code it writes itself: hand-written WebGL or canvas projection, no 3D library, no model files from the web. That suits small, stylised games and scenes. Anything with imported characters, physics engines or large worlds belongs in a proper game engine, and this page explains where that line sits.

Updated · By the Anticode team

Why the rules are different here

Most 3D on the web is built on a library such as Three.js or Babylon.js, with models, textures and sounds loaded as files. Anticode apps run in a strict sandbox with no network: no outside scripts and no outside images, models or audio. WebGL itself is available, because it's part of the browser. So every mesh, shader, camera and light is written into one HTML document by the model. That's a real constraint, and it shapes what's sensible to ask for.

What works well

3D game ideas by how well they suit hand-written WebGL
IdeaFitWhy
Low-poly flyer or racer through generated terrainGoodTerrain and obstacles are made from maths, not files
Geometric puzzle (rotate a cube, align shapes)GoodFew objects, simple materials, the challenge is logic
Tunnel runner with neon wireframeGoodClassic shader territory; looks striking with little geometry
Marble or ball-rolling mazeFairNeeds simple physics written by hand; keep levels small
First-person maze or dungeonFairWorks with block worlds; textures must be drawn in code
Character-based adventure with animated peoplePoorRigged, animated models need files and tooling
Open world or online shooterPoorScale, assets and networking are all out of reach

A strong style choice helps a great deal. Flat-shaded low-poly, glowing wireframes, voxel blocks, or a retro CRT look all come out well when shapes and colours are generated, because they don't pretend to be photographic. Anticode's template gallery shows one direction: Phosphor Interactive, a creative studio site with a retro CRT 3D look, designed and written by Anticode's model. Using a template copies it into your project with no model call, so it's a quick way to see what hand-written 3D looks like before you describe your own.

Performance on phones

  • Keep draw calls low. Merge static scenery into a few large meshes rather than hundreds of objects.
  • Cap the resolution. Render at the device's pixel ratio up to a limit, so high-density phone screens don't render four times the pixels.
  • Simple lighting. One directional light and an ambient term is plenty for a stylised look.
  • Pause when hidden. Stop the render loop when the tab isn't visible.
  • Offer a lower quality setting for older devices, and respect reduced-motion settings for camera shake.

Describing a 3D game to Anticode

Be concrete about the camera, the controls and the look: "A 3D browser game where you steer a paper plane through a canyon of generated low-poly cliffs. Third-person camera behind the plane. Arrow keys or tilt-by-drag on phones. Rings to fly through for points; speed rises over time. Flat-shaded pastel colours with fog in the distance. Start screen with controls, best score saved on the device." Using Anticode as a 3D browser game maker means the model writes the shaders, matrices, terrain generation and collision itself, in plain JavaScript.

The app goes through Anticode's code checks with one automatic repair pass. When the review service is running, the build is also opened in headless Chrome at phone and laptop widths and clicked through, with screenshots the Critic uses to fix visible errors. A headless browser may render WebGL differently from your phone, so always try it on the devices your players will use.

When a game engine is the better choice

Choose a dedicated engine such as Godot, Unity or a web-first engine if your game needs any of these: imported characters or animated models, a physics engine with stacking and joints, levels built in an editor, large scenes that stream in, online multiplayer, or in-game purchases. Those tools exist for exactly that, and many can export to the web. Anticode can still be useful alongside them, for a game prototype to test a mechanic in a day, or for the indie game website where you announce it.

Limits

  • No 3D libraries, model files or textures loaded from the web. Textures are drawn in code too.
  • No online multiplayer, leaderboards or accounts.
  • No VR or AR modes, and no device sensors that need permissions.
  • Size: one document of a few thousand lines limits how much content a game can hold.

For 2D games that suit the sandbox more naturally, see the platformer game maker and the endless runner.

Questions people ask

Can I import a 3D model I made in Blender?

Not as a model file. The sandbox only accepts what's written into the app, plus photos and videos added to the build. Simple shapes can be described and rebuilt in code.

Does WebGL work on all phones?

Nearly all current phones and browsers support WebGL, but performance varies widely. Test on an older phone before you share it.

Can I use Three.js if I export the code?

Yes. Exported code is yours, so a developer can rewrite the rendering with a library once it's hosted outside the sandbox.