Drag the background!

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.

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 13,446 Worlds on this site.
Here are a few random choice Worlds to try (reload for more):


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.
Breadth-first se...
1256 runs ♦ 0 likes
By "Coding Train" p...  
Created: 30 Apr 2019
Modified: 17 Sep 2023
Breadth-first search for "Six Degrees of Kevin Bacon".
Sampler
162 runs ♦ 1 like
By Enhanced  
Created: 19 Jul 2018
Modified: 17 Sep 2023
Upload sounds, play them, automate them. Saving data works.
Password Websock...
85 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Password version of "Websockets boxes"

OK you are ready to code. You can code in Python and TypeScript, but at the moment we have tutorials to get you started coding on the site in the JavaScript (JS) language. We use a JavaScript graphics "library" to help us code the 2D and 3D graphics.

We use two main graphics libraries: "P5" and "Three.js".

As a result we have two "starter tutorials", one for each library. So pick one. Don't worry, you can look at the other one later. If you do not know which to pick, pick P5.

 
 

If you want to know more about the two libraries

  • 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.

Having picked your graphics library, do the starter tutorial.

Using P5:

Or using Three.js:

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

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.
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.
  • 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.
Simple World
1913 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
2068 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.
MineCraft
1266 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...
Complex World
8556 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.
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!
P5 chase World
204 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...
Breadth-first se...
1256 runs ♦ 0 likes
By "Coding Train" p...  
Created: 30 Apr 2019
Modified: 17 Sep 2023
Breadth-first search for "Six Degrees of Kevin Bacon".
Sampler
162 runs ♦ 1 like
By Enhanced  
Created: 19 Jul 2018
Modified: 17 Sep 2023
Upload sounds, play them, automate them. Saving data works.
Competitive Hangman
440 runs ♦ 2 likes
By David Jusev  
Created: 5 Dec 2022
Modified: 17 Sep 2023
Play hangman against friends. Multi-user port of https://codingartistweb.com/2022/05/hangman-gam...
One Cube World (...
222 runs ♦ 0 likes
By Colin Duggan  
Created: 4 Oct 2021
Modified: 17 Sep 2023
Clone of "One Cube World (P5)" by Starter user
Ammo for AB
627 runs ♦ 0 likes
By Starter user  
Created: 19 Apr 2021
Modified: 17 Sep 2023
Ammo world for AB API
Binary tree
5698 runs ♦ 0 likes
By "Coding Train" p...  
Created: 25 Apr 2019
Modified: 17 Sep 2023
Binary tree search demo.
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...

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.