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 1964 Worlds Starter Worlds
Touch World
485 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
1912 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.
Password Websock...
85 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Password version of "Websockets boxes"
Blank Three.js World
2067 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.
One Cube World (...
1308 runs ♦ 2 likes
By Starter user  
Created: 11 Apr 2018
Modified: 17 Sep 2023
Simple starter World (Three.js version). Built-in camera control.
Castle World
862 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...
Websockets boxes
847 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...
MineCraft
1265 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...
User-controlled ...
1082 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...
Complex World
8551 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.
Zombie Death Baby
859 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...
Model World
892 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.
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
619 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 146 Worlds Starter Worlds
P5 Mouse tracker
360 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 52 Worlds Starter Worlds
Recognise any image
529 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 22 Worlds Starter Worlds
canvas 2d
369 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
603 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 41 Worlds Starter Worlds
3D for Kids World
77 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
49 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 143 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 6 Worlds Starter Worlds
Ammo physics mod...
117 runs ♦ 0 likes
By Starter user  
Created: 19 Apr 2021
Modified: 17 Sep 2023
Highly modified version of "ammo / instancing" from Three.js examples
Ammo physics demo
144 runs ♦ 0 likes
By Starter user  
Created: 19 Apr 2021
Modified: 17 Sep 2023
Port 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 1084 Worlds Starter Worlds
P5 translate ver...
34 runs ♦ 0 likes
By Starter user  
Created: 21 Sep 2023
Modified: 21 Sep 2023
World to examine P5 "translate"
P5 Particle System
219 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...
One Cube World (P5)
2956 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
203 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...
83 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
Plain canvas web...
100 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
Starter Worlds for API: Webpage (r2)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Webpage (r2) No None No 1529 Worlds Starter Worlds
Test Websockets
310 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Test if Websocket server is up
Websocket buttons
234 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...
Chat with GPT model
1653 runs ♦ 5 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 chat
1076 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.
Flickr World
226 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 ...
Password Websock...
43 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...
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 47 Worlds None

No Starter Worlds found.

Starter Worlds for API: TypeScript (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
TypeScript (r1) No None No 10 Worlds Starter Worlds
TypeScript demo ...
6 runs ♦ 0 likes
By Starter user  
Created: 15 Oct 2025
Modified: 15 Oct 2025
TypeScript combined with the JS that compiles it.
Starter Worlds for API: TypeScript (pure) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
TypeScript (pure) (r1) No None No 9 Worlds Starter Worlds
Pure TypeScript demo
9 runs ♦ 0 likes
By Starter user  
Created: 15 Oct 2025
Modified: 15 Oct 2025
TypeScript only code. The API will compile it and run it.
Starter Worlds for API: Python (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python (r1) No None No 11 Worlds Starter Worlds
Python demo (cus...
54 runs ♦ 0 likes
By Starter user  
Created: 1 Oct 2025
Modified: 7 Dec 2025
Python World, allowing JS also. Python and JS both in JS editor. Python 'print' function can eit...
Starter Worlds for API: Python (pure) (mini) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python (pure) (mini) (r1) No None No 14 Worlds Starter Worlds
Pure Python (min...
32 runs ♦ 0 likes
By Starter user  
Created: 6 Oct 2025
Modified: 15 Oct 2025
Code is Python only (no JS). Uses the fast PyScript compiler. Python 'print' outputs to page.
Starter Worlds for API: Python (pure) (full) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python (pure) (full) (r1) No None No 11 Worlds Starter Worlds
Pure Python (ful...
6 runs ♦ 0 likes
By Starter user  
Created: 15 Oct 2025
Modified: 15 Oct 2025
Code is Python only (no JS). Uses the full PyScript compiler. Python 'print' outputs to page.
Starter Worlds for API: Python Terminal (mini) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python Terminal (mini) (r1) No None No 33 Worlds Starter Worlds
Python Terminal ...
5 runs ♦ 0 likes
By Starter user  
Created: 9 Dec 2025
Modified: 9 Dec 2025
Demo of input and print in Python Terminal API
Guessing Game
10 runs ♦ 0 likes
By Starter user  
Created: 9 Dec 2025
Modified: 9 Dec 2025
Guessing Game using random numbers and Pyscript Terminal
Starter Worlds for API: Python Terminal (full) (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Python Terminal (full) (r1) No None No 2 Worlds None

No Starter Worlds found.

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 561 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 1282 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 231 Worlds Starter Worlds
Collision World
1688 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...
Infinite World G...
152 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
First Person Con...
234 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...
Bouncy Balls
588 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...
Infinite World O...
104 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
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 9 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
Scare the Fishes!
233 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...
The Game of Life
952 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 ! ...
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 76 Worlds Starter Worlds
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...
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
189 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...
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...
193 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
109 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
214 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 621 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 5196 Worlds Starter Worlds
Tutorial 7.8 variant
397 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!
Tutorial 2.1
628 runs ♦ 1 like
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 17 Sep 2023
Variables in p5.js (mouseX, mouseY)
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
116 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
Texture
Starter Worlds for API: Canvas (r1)

API Uses canvas Graphics libraries AB framework Worlds using this API Starter Worlds
Canvas (r1) Yes None No 8 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 198 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.