Drag the background!
Starter Worlds

The "Starter Worlds" are designed to show you how to write your own Worlds for each of the different APIs.

Clone them and edit them to make changes. Many of them have a section of code called a "tweaker's box" at the top. These are simple lines of code, such as the names of files, that can be changed by anyone without needing to be a programmer. Go and try it:

  1. Pick a World.
  2. Clone it.
  3. Edit the clone.
  4. Change things in the "tweaker's box" and run it again to see what happens.
Starter Worlds for API: Three (AB) (r3)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (AB) (r3) Yes Three.js Yes 1850 Worlds Starter Worlds
Model World
886 runs ♦ 2 likes
By Starter user  
Created: 8 Nov 2016
Modified: 17 Sep 2023
Demo of how to insert 3d models into World. Mind-controlled agent, actively-pursuing enemy. Skybox.
Blank Three.js World
2021 runs ♦ 2 likes
By Starter user  
Created: 20 Nov 2016
Modified: 17 Sep 2023
A simple starter World. An Array of spheres. Painted with textures. Random motion.
Zombie Death Baby
855 runs ♦ 1 like
By Starter user  
Created: 11 Jun 2018
Modified: 17 Sep 2023
How to make a fun touch game for mobile. Touch drag and tap objects. Mouse drag and click object...
Password Websock...
79 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Password version of "Websockets boxes"
Touch World
480 runs ♦ 1 like
By Starter user  
Created: 6 Jan 2018
Modified: 17 Sep 2023
How to override default touch handling. Mobile: Touch drag moves agent, touch pinch zooms camera...
Simple World
1878 runs ♦ 2 likes
By Starter user  
Created: 1 Oct 2016
Modified: 17 Sep 2023
Simple World with a Mind-controlled agent, randomly-moving enemy, paint blocks with texture.
Complex World
8435 runs ♦ 5 likes
By Starter user  
Created: 1 Oct 2016
Modified: 17 Sep 2023
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
MineCraft
1200 runs ♦ 2 likes
By Starter user  
Created: 27 Nov 2016
Modified: 17 Sep 2023
Use keyboard to draw blocks like in MineCraft. Use arrow keys and PgUp, PgDn to draw. Can save w...
Castle World
846 runs ♦ 4 likes
By Starter user  
Created: 11 Nov 2016
Modified: 17 Sep 2023
Demo of how to insert 3d model into World. Mind-controlled agent, actively-pursuing enemy. Splas...
One Cube World (...
1270 runs ♦ 2 likes
By Starter user  
Created: 11 Apr 2018
Modified: 17 Sep 2023
Simple starter World (Three.js version). Built-in camera control.
Websockets boxes
836 runs ♦ 0 likes
By Starter user  
Created: 29 Feb 2020
Modified: 17 Sep 2023
Demo of Websockets in 3D World. Click to change the boxes on the other user's machine, while the...
User-controlled ...
1044 runs ♦ 2 likes
By Starter user  
Created: 12 Feb 2017
Modified: 17 Sep 2023
3d model World. User controlled on desktop. Keyboard arrows to move. Switch to "Move with" camer...
Starter Worlds for API: Physics (AB) (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Physics (AB) (r2) Yes Three.js, Ammo Yes 7 Worlds Starter Worlds
Ammo for AB
440 runs ♦ 0 likes
By Starter user  
Created: 19 Apr 2021
Modified: 17 Sep 2023
Ammo world for AB API
Starter Worlds for API: P5 (AB) (r3)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
P5 (AB) (r3) Yes P5 Yes 129 Worlds Starter Worlds
P5 Mouse tracker
358 runs ♦ 2 likes
By Starter user  
Created: 4 Jul 2018
Modified: 17 Sep 2023
Example of P5 World integrated with AB framework. Desktop: Draw ellipse wherever the mouse hover...
Starter Worlds for API: ML5 (AB) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
ML5 (AB) (r1) Yes P5, ML5 Yes 39 Worlds Starter Worlds
Recognise any image
443 runs ♦ 0 likes
By Starter user  
Created: 10 Jun 2021
Modified: 17 Sep 2023
Try to recognise any image with ML5 and MobileNet. Enter any image URL at runtime.
Starter Worlds for API: Canvas (AB) (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Canvas (AB) (r2) Yes None Yes 19 Worlds Starter Worlds
canvas 2d
360 runs ♦ 2 likes
By Starter user  
Created: 4 Oct 2017
Modified: 17 Sep 2023
Minimal starter World for "Canvas" API (no graphics library). Program using getContext("2d"). Pa...
canvas webgl
572 runs ♦ 2 likes
By Starter user  
Created: 17 Sep 2017
Modified: 13 Nov 2023
Minimal starter World for "Canvas" API (no graphics library). Program using getContext("webgl")....
Starter Worlds for API: Three (r3)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (r3) Yes Three.js No 37 Worlds Starter Worlds
3D for Kids World
69 runs ♦ 0 likes
By Starter user  
Created: 18 Apr 2021
Modified: 17 Sep 2023
Porting a Three.js World (almost) unchanged from "3D Game Programming for Kids"
Plain Three.js World
44 runs ♦ 0 likes
By Starter user  
Created: 18 Apr 2021
Modified: 17 Sep 2023
Porting a Three.js World unchanged.
Starter Worlds for API: Three (Module) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (Module) (r1) Yes Three.js No 141 Worlds None

No Starter Worlds found.

Starter Worlds for API: Physics (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Physics (r2) Yes Three.js, Ammo No 5 Worlds Starter Worlds
Ammo physics demo
143 runs ♦ 0 likes
By Starter user  
Created: 19 Apr 2021
Modified: 17 Sep 2023
Port of "ammo / instancing" from Three.js examples
Ammo physics mod...
112 runs ♦ 0 likes
By Starter user  
Created: 19 Apr 2021
Modified: 17 Sep 2023
Highly modified version of "ammo / instancing" from Three.js examples
Starter Worlds for API: P5 (r3)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
P5 (r3) Yes P5 No 1039 Worlds Starter Worlds
P5 Particle System
218 runs ♦ 0 likes
By Starter user  
Created: 4 Aug 2018
Modified: 17 Sep 2023
Port of P5 site's "Particle System" example with almost no change. P5 plain API. No AB framework...
P5 translate ver...
29 runs ♦ 0 likes
By Starter user  
Created: 21 Sep 2023
Modified: 21 Sep 2023
World to examine P5 "translate"
One Cube World (P5)
2874 runs ♦ 6 likes
By Starter user  
Created: 10 Nov 2018
Modified: 17 Sep 2023
Simple starter World (P5 version). No camera control. So cube rotates to show 3D.
P5 chase World
201 runs ♦ 0 likes
By Starter user  
Created: 4 Aug 2018
Modified: 17 Sep 2023
Example of World with Mind on P5 plain API. No AB framework. Have to call Mind yourself. Mind mo...
Starter Worlds for API: ML5 (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
ML5 (r1) Yes P5, ML5 No 10 Worlds Starter Worlds
ML5 image recogn...
116 runs ♦ 0 likes
By Starter user  
Created: 10 Jun 2021
Modified: 17 Sep 2023
Demo of image recognition using ML5 and MobileNet. Image URL is hardcoded.
Starter Worlds for API: Canvas (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Canvas (r2) Yes None No 12 Worlds Starter Worlds
Plain canvas web...
98 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 13 Nov 2023
Example of porting webgl World (almost) unchanged to AB using plain canvas API
Plain canvas web...
81 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 17 Sep 2023
Example of porting webgl World (almost) unchanged to AB using plain canvas API
Starter Worlds for API: Webpage (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Webpage (r2) No None No 1084 Worlds Starter Worlds
Password Websock...
42 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Password only Websocket world (web page version). Need to enter password. Only join with users w...
Flickr World
221 runs ♦ 0 likes
By Starter user  
Created: 12 Aug 2018
Modified: 6 Oct 2025
Demo of "Web page" API. Just use JS to make a web page. This page gets images from Flickr using ...
Websocket chat
1052 runs ♦ 0 likes
By Starter user  
Created: 29 Feb 2020
Modified: 17 Sep 2023
Demo of Ancient Brain Websockets functionality. Run on multiple devices. Chat from one to the other.
Test Websockets
299 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Test if Websocket server is up
Chat with GPT model
1141 runs ♦ 3 likes
By Starter user  
Created: 18 Sep 2023
Modified: 3 Oct 2023
JavaScript page to chat with a GPT model. Calls OpenAI API. User needs to enter API key.
Websocket buttons
230 runs ♦ 0 likes
By Starter user  
Created: 29 Feb 2020
Modified: 17 Sep 2023
Demo of Ancient Brain Websockets functionality. Run on multiple devices. Simple page uses button...
Starter Worlds for API: Webpage (Module) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Webpage (Module) (r1) No None No 35 Worlds None

No Starter Worlds found.

Starter Worlds for API: Python (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python (r1) No PyScript No 2 Worlds Starter Worlds
Python demo
37 runs ♦ 0 likes
By Starter user  
Created: 1 Oct 2025
Modified: 2 Oct 2025
Python 'print' function can either write to div or to console
Starter Worlds for API: Python (pure) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python (pure) (r1) No PyScript No 12 Worlds Starter Worlds
Pure Python demo
22 runs ♦ 0 likes
By Starter user  
Created: 6 Oct 2025
Modified: 6 Oct 2025
Code is Python only (no JS). Demo world outputs to page.
Starter Worlds for API: Three (AB) (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (AB) (r2) Yes Three.js Yes 559 Worlds None

No Starter Worlds found.

Starter Worlds for API: Three (AB) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (AB) (r1) Yes Three.js Yes 1280 Worlds None

No Starter Worlds found.

Starter Worlds for API: Physics (AB) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Physics (AB) (r1) Yes Three.js, Physijs Yes 226 Worlds Starter Worlds
Infinite World O...
103 runs ♦ 0 likes
By Enhanced  
Created: 16 Aug 2018
Modified: 17 Sep 2023
Here is a code to get an infinite world that loop without object in it, without the sun
Infinite World G...
151 runs ♦ 0 likes
By Enhanced  
Created: 16 Aug 2018
Modified: 17 Sep 2023
Here is a code to get an infinite world that loop without object in it, and with the sun
Collision World
1608 runs ♦ 4 likes
By Starter user  
Created: 21 Sep 2017
Modified: 17 Sep 2023
Demo of Physics API. Blocks fall under gravity and collide. Can modify gravity, friction, etc. S...
Bouncy Balls
578 runs ♦ 3 likes
By Starter user  
Created: 1 Oct 2017
Modified: 17 Sep 2023
Demo of Physics API. Balls bounce under gravity and collide in low friction world. Splash screen...
First Person Con...
220 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 17 Sep 2023
First person view with mouse controls. Use WASD or Arrows to move, mouse to look around and spac...
Starter Worlds for API: P5 (AB) (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
P5 (AB) (r2) Yes P5 Yes 8 Worlds None

No Starter Worlds found.

Starter Worlds for API: P5 (AB) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
P5 (AB) (r1) Yes P5 Yes 60 Worlds Starter Worlds
The Game of Life
889 runs ♦ 0 likes
By Enhanced  
Created: 9 Jul 2018
Modified: 17 Sep 2023
The famous Game of Life. Click on the screen to place the initial cells and then click start ! ...
Scare the Fishes!
228 runs ♦ 2 likes
By Enhanced  
Created: 2 Aug 2018
Modified: 17 Sep 2023
Scare the fishes with your mouse ! If you click they will flee even further away. Includes twea...
Starter Worlds for API: Canvas (AB) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Canvas (AB) (r1) Yes None Yes 75 Worlds Starter Worlds
Cells
185 runs ♦ 0 likes
By Enhanced  
Created: 27 Jun 2018
Modified: 17 Sep 2023
'Cells' is an animation that displays 4 team of cells trying to infect each other, until total d...
CELLS WITH MIND ...
143 runs ♦ 1 like
By Enhanced  
Created: 10 Jul 2018
Modified: 17 Sep 2023
Cells is a game about cells trying to infect each other. It offers a playground for minds to com...
CELLS WITH MIND ...
185 runs ♦ 0 likes
By Enhanced  
Created: 10 Jul 2018
Modified: 17 Sep 2023
Cells is a game about cells trying to infect each other. It offers a playground for minds to com...
Starter Worlds for API: Three (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (r2) Yes Three.js No 37 Worlds Starter Worlds
3D for Kids Worl...
191 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 17 Sep 2023
Example of plain Three.js API. Porting a World unchanged. From "3D Game Programming for Kids"
Plain Three.js World
108 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 17 Sep 2023
Example of plain Three.js API. Porting a World unchanged. From github.com/mrdoob
Starter Worlds for API: Three (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Three (r1) Yes Three.js No 2 Worlds None

No Starter Worlds found.

Starter Worlds for API: Physics (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Physics (r1) Yes Three.js, Physijs No 9 Worlds Starter Worlds
Purple Fruit Monster
212 runs ♦ 1 like
By Starter user  
Created: 1 Sep 2018
Modified: 17 Sep 2023
Example of porting physics World unchanged to AB using plain physics API. From "3D Game Programm...
Starter Worlds for API: P5 (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
P5 (r2) Yes P5 No 618 Worlds None

No Starter Worlds found.

Starter Worlds for API: P5 (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
P5 (r1) Yes P5 No 4900 Worlds Starter Worlds
Tutorial 18.7
437 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
Tutorial 18.4
113 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
Texture
Tutorial 2.1
605 runs ♦ 1 like
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 17 Sep 2023
Variables in p5.js (mouseX, mouseY)
Tutorial 7.8 variant
393 runs ♦ 0 likes
By "Coding Train" p...  
Created: 6 Sep 2018
Modified: 17 Sep 2023
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
Tutorial 7.8
113 runs ♦ 1 like
By "Coding Train" p...  
Created: 5 Sep 2018
Modified: 17 Sep 2023
Objects and Images. On Ancient Brain you can upload your own images. Try it!
Starter Worlds for API: Canvas (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Canvas (r1) Yes None No 9 Worlds None

No Starter Worlds found.

Starter Worlds for API: Webpage (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Webpage (r1) No None No 147 Worlds None

No Starter Worlds found.

The background is a program, showing the JavaScript graphics used on this site.
The globes light up when you log in.
 
Font:

Users retain ownership of user content.

Platforms      Stats      The name      Terms and conditions

Call for partners      Contact

Call for partners!
Ancient Brain is looking for a partner to co-write a JavaScript or Python coding book for schools, to be used worldwide. This would be a course for students in learning to code from scratch. The book and course will be integrated into the Ancient Brain site. This is an opportunity for someone looking to develop a course and textbook to partner with a site to promote it. Read more.