Ancient Brain
Code. Play. Teach. Learn. Research. Demo.

Getting started

Here is a guide to getting started running Worlds and coding on Ancient Brain.

We have a text Introduction to the site.
And we have the following video introduction.
This video does not assume you have ever coded, or ever heard of JavaScript (what is behind this site).
See also:

You can "run" any World by clicking on it. No install needed.
Try running some of the Editor's Choice Worlds.

There are currently 9,306 Worlds on this site.
Here are a few random choice Worlds to try (reload for more):


Audiobook Generator
120 runs ♦ 0 likes
By Aleena Joseph  
Created: 21 Nov 2023
Modified: 11 Feb 2024
Convert your text/story to an audio file. Calls OpenAI text to speech (TTS). Need to enter your ...
Wordle 3D v1
672 runs ♦ 2 likes
By Jed Hazaymeh  
Created: 1 Dec 2022
Modified: 17 Sep 2023
3D remake of the popular word puzzle game!
Wrong Way Motorway
1230 runs ♦ 0 likes
By James Reilly  
Created: 9 Aug 2023
Modified: 17 Sep 2023
Ca318 repeat practical
Phaser Chaser
134 runs ♦ 0 likes
By Paul Bashford  
Created: 20 Aug 2023
Modified: 17 Sep 2023
You Have 60 Seconds to collect more stars than your opponent! If you are caught by the Chaser yo...

OK you are ready to code. All Worlds are coded in JavaScript (JS). We use a JavaScript graphics "library" to make it easy to code the graphics.

You need to pick a library: The "P5" library or the "Three.js" library.

  • The P5 library has pluses and minuses:
    • It is easier to get into if you are a beginner coder.
    • It has features that may annoy non-beginners (global namespace taken up, timing loop controlled for you).
    • It is harder to do advanced graphics.
    • There are a number of P5 teaching courses on this site.

  • The Three.js library has pluses and minuses:
    • It is more intimidating for a beginner coder.
    • It is well suited to non-beginners.
    • It is designed for advanced graphics. Almost all the advanced graphics Worlds on this site are Three.js.
    • There is currently no Three.js teaching course here.

For beginners, we recommend P5.

Having picked your graphics library, do the starter tutorial.

Using P5:

P5 Starter tutorial

Or using Three.js:

Three.js Starter tutorial

When coding, the Docs menu has all the help and reference that you need:

Docs
One Cube World (...
1112 runs ♦ 2 likes
By Starter user  
Created: 11 Apr 2018
Modified: 17 Sep 2023
Simple starter World (Three.js version). Built-in camera control.
One Cube World (P5)
1835 runs ♦ 1 like
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.
  • Once you have seen how to code on Ancient Brain, the easiest way to progress is to start modifying existing Worlds.
  • Pick one of the Starter Worlds. "Clone" it, and edit your copy.
  • The easiest parts of the code to change are in the "tweaker's box" at the top.
Complex World
8189 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
1114 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...
Simple World
1642 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.
Blank Three.js World
1492 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.
There are a number of coding courses and exercises on this site that you can do:
  • Introduction to Programming. This is a proper Introduction to Programming course, with videos, using JavaScript and P5. This does not assume you have ever written a program.

  • Introduction to Programming: Part Two.

  • Alternative JavaScript course for kids. This is an alternative introduction to programming, with kid-friendly language. This does not assume you have ever written a program.

  • WebGL course. This is a course in JavaScript 3D graphics ("WebGL") programming, using P5.

  • AI exercises. This does not have a full set of notes explaining AI theory. You will need to get that somewhere else. Rather this is a series of online AI programming exercises, with problems for students to solve. All code is in JavaScript using P5.


As well as courses, there are accounts with certain collections of Worlds:

P5 Editor porting project  
Port to Ancient Brain of P5 Editor built-in sketches. Source: editor.p5js.org/p5/sketches. Port ...

threejs.org porting project  
Project to port threejs.org examples. All credit to: https://github.com/mrdoob/three.js/tree/mas...

"Coding Train" project  
Project to port JS Worlds from The Coding Train to Ancient Brain.

"3D Game Programming for K...  
Proposed project to port code from the book "3D Game Programming for Kids" by Chris Strom. Await...

Discover three.js  
Project to port code from "Discover three.js" book and site by Lewy Blue. Done with permission o...

As you keep learning, here are some examples of what you can build on this site. Build something beautiful!
FLESHMAN PLAYS G...
4607 runs ♦ 2 likes
By Sean Hutchinson  
Created: 21 Oct 2016
Modified: 17 Sep 2023
Sampler
148 runs ♦ 1 like
By Enhanced  
Created: 19 Jul 2018
Modified: 17 Sep 2023
Upload sounds, play them, automate them. Saving data works.
DALL-E "Hello World"
78 runs ♦ 0 likes
By Loone  
Created: 1 Dec 2023
Modified: 2 Feb 2024
"Hello World" call of OpenAI DALL-E image generation API. Edit 'defaultPrompt' to change the pro...
Touch World
457 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...
Phaser test World
57 runs ♦ 1 like
By Mark Humphrys  
Created: 29 Apr 2023
Modified: 17 Sep 2023
Basic Phaser World. Player moved with left-right-up keys. Can jump. Physics.
AI music
155 runs ♦ 0 likes
By Mark Humphrys  
Created: 5 Jan 2020
Modified: 17 Sep 2023
Experiments in auto generating music
Azure Image Desc...
151 runs ♦ 0 likes
By Suraksha Shetty  
Created: 25 Nov 2023
Modified: 16 Feb 2024
App to analyze images using the Computer Vision API from Microsoft Azure: https://learn.microsof...
DALL-E "Hello World"
31 runs ♦ 1 like
By Fiachra Gill  
Created: 29 Nov 2023
Modified: 2 Feb 2024
How to call OpenAI DALL-E image generation API. Need to enter your own OpenAI API key. Then ente...