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

Our goal: To become one of the most fun places in the world to code.

10 countries    895 authors    1,426 Worlds    104,676 runs    0.6 million lines of code    Update stats

Call for partners to work on content for Ancient Brain.
Tutorial 7.8 variant
By "Coding Train" p...  
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
Castle World
By Starter user  
Demo of how to insert 3d model into World. Mind-controlled agent, actively-pursuing enemy. Splas...
One Cube World (P5)
By Starter user  
Simple starter World (P5 version). No camera control. So cube rotates to show 3D.
Port of flying b...
By Discover three.js  
Animated models. Port of flying birds with GLB models. From "Discover three.js". See project inf...

Coders: Make 3D worlds and share them with friends. Clone and edit other people's worlds. Make touch mobile games. Embed your worlds on other sites.
Teachers: Run programming practicals in 3D or 2D or text, with many features designed for teachers. Safely edit and run student code.
Researchers: Upload problems, tender for solutions, test and rank them. Make hybrid AI systems from the code of multiple authors.
Gamers: Play the endless game worlds the coders make. Come and browse an ever-growing archive of games.
Learners: Clone other people's worlds and change one or two lines. What's the worst that could happen?

Ancient Brain: How to get started

Explore the site. Run Worlds.

P5 chase World
By Starter user  
Example of World with Mind on P5 plain API. No AB framework. Have to call Mind yourself. Mind mo...
Expo World
By Mark Humphrys  
Infinite changing demo for expos.
One Cube World (P5)
By Starter user  
Simple starter World (P5 version). No camera control. So cube rotates to show 3D.
See how coding works.

  • See How to write code on this site.
  • When coding, see the "Docs" menu for all the documentation you need.


Do the Starter Tutorial (P5)

  • The "P5" graphics library is probably most suitable for beginners. More experienced programmers may prefer to skip P5 and use the "Three.js" graphics library (below).
  • To get started with P5, work through the P5 Starter Tutorial. This shows you how coding on this site works with P5. This does not assume you have ever written a program.
  • The tutorial looks at coding the following World:
One Cube World (P5)
By Starter user  
Simple starter World (P5 version). No camera control. So cube rotates to show 3D.
Do the Programming courses (P5)

  • You can learn in depth how to program in JavaScript in P5 by doing the course: Foundations of Programming in JavaScript. This does not assume you have ever written a program.
  • When you have done that, you can do the more advanced WebGL course (JavaScript 3D graphics in P5).
  • When coding, use the P5 reference material.
  • When you are finished these courses, you will be able to make Worlds like the following:
Tutorial 7.8 variant
By "Coding Train" p...  
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
Tutorial 18.7
By "Coding Train" p...  
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
Tutorial 2.1
By "Coding Train" p...  
Variables in p5.js (mouseX, mouseY)
Tutorial 7.3
By "Coding Train" p...  
Arrays of Objects
Do the Starter Tutorial (Three.js)

  • The "Three.js" graphics library is more suitable for programmers with a little experience. Beginners may prefer to start with P5 (above).
  • To get started coding with Three.js, work through the Three.js Starter Tutorial. This shows you how coding on this site works with Three.js. This does not assume you have ever written a program.
  • The tutorial looks at coding the following World:
One Cube World (...
By Starter user  
Simple starter World (Three.js version). Cube of random color. Built-in camera control.
Do a Programming course (Three.js)

  • There is not yet on this site a full course in programming in Three.js.
  • You are directed to the Three.js reference material.
  • There are plans to partner with the book 3D Game Programming for Kids. You can code all the examples in this book on Ancient Brain. Here are two examples from the book:
1. Shapes
By "3D Game Program...  
Port of code "shapes" from Ch.1
3. Making an Avatar
By "3D Game Program...  
Port of code "building_an_avatar" from Ch.3
Modify some Starter Worlds.

  • If you have learnt a little programming, 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.
Blank Three.js World
By Starter user  
A simple starter World. An Array of spheres. Painted with textures. Random motion.
Complex World
By Starter user  
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
Simple World
By Starter user  
Simple World with a Mind-controlled agent, randomly-moving enemy, paint blocks with texture.
MineCraft
By Starter user  
Use keyboard to draw blocks like in MineCraft. Use arrow keys and PgUp, PgDn to draw. Can save w...
See what you can build.

As you keep learning, here are some examples of what you can build on this site. Build something beautiful!

Collision World
By Starter user  
Demo of Physics API. Blocks fall under gravity and collide. Can modify gravity, friction, etc. S...
Game of Crowns s...
By Enhanced  
Enhanced version of "Game of Crowns" by Niamh Byrne with better graphics and controls
See the most advanced Worlds.

Here are some of the most advanced Worlds:

Complete Infinit...
By Enhanced  
This program was made by Nathan Bonnard. In this world, you can generate an infinite world ! Bu...
Sampler
By Enhanced  
Upload sounds, play them, automate them. Saving data works.
Port of flying b...
By Discover three.js  
Animated models. Port of flying birds with GLB models. From "Discover three.js". See project inf...
Car models with ...
By Port of threejs....  
Car bodywork reflects images from skybox. Click buttons to change model and bodywork. Mouse to m...
Random Worlds

Here are some random Worlds that have had more than 10 runs.

Cloned Castle World
By Jack  
Created: 5 Nov 2017
Modified: 10 Feb 2018
Day/Night cycle
By Mathias Bazin  
Created: 20 Jun 2018
Modified: 26 Jun 2018
It's day then it's night the it's day again
Cloned Complex W...
By victor mahon  
Created: 9 Dec 2016
Modified: 10 Feb 2018
Dungeon World
By Adam Pegman  
Created: 7 Dec 2016
Modified: 10 Feb 2018
Maze
By Jean Gamain  
Created: 5 Dec 2016
Modified: 10 Feb 2018
Cloned CA318 201...
By Joe Rathborne  
Created: 18 Nov 2018
Modified: 19 Nov 2018
Clone of "CA318 2018 World" by Mark Humphrys
spongebob Car mo...
By test  
Created: 14 Sep 2018
Modified: 14 Sep 2018
Clone of "Car models with light reflection" by Port of threejs.org Worlds
P5 Particle System
By Starter user  
Created: 4 Aug 2018
Modified: 23 Feb 2019
Port of P5 site's "Particle System" example with almost no change. P5 plain API. No AB framework...
New World
By admin  
Created: 2 Apr 2018
Modified: 2 Apr 2018
aha
By Patrick  
Created: 4 May 2018
Modified: 4 May 2018
First Person Con...
By Mathias Bazin  
Created: 19 Jun 2018
Modified: 20 Jun 2018
Clone of "First Person Controls" by Mathias Bazin
Chess : Mind v...
By Mathias Bazin  
Created: 1 Aug 2018
Modified: 7 Aug 2018
Your mind plays against "Simple AI - Depth 1" with a little bit of random added so the games are...
CELLS WITH MIND
By SinfulSalad  
Created: 3 Jul 2018
Modified: 5 Jul 2018
Animation about cells trying to infect each other. You can add your own mind to the code, and se...
Checkers
By Adrien HARNAY  
Created: 6 Dec 2016
Modified: 10 Feb 2018
tech connect Com...
By test2  
Created: 30 May 2018
Modified: 30 May 2018
Clone of "Complex World" by Starter user
captureTheFlag
By tuitef2  
Created: 26 Jan 2019
Modified: 11 Feb 2019
Cloned One Cube ...
By adamcunneen8  
Created: 26 Nov 2018
Modified: 26 Nov 2018
Clone of "One Cube World (Three.js)" by Starter user
Tutorial 5.2
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 4 Sep 2018
Function Parameters and Arguments
Cloned Denis Cra...
By Denis Atkinson  
Created: 14 Dec 2016
Modified: 10 Feb 2018
Cloned Cloned CA...
By AymanElG  
Created: 18 Nov 2018
Modified: 26 Nov 2018
Clone of "Cloned CA318 2018 World" by AymanElG
My One Cube World
By Uzair Ali  
Created: 8 Nov 2018
Modified: 8 Nov 2018
Clone of "One Cube World" by Starter user
Scrolling background
By Enhanced  
Created: 1 Aug 2018
Modified: 1 Aug 2018
here is explained and commented a way to code a scrolling background with three.js
No brain
By SinfulSalad  
Created: 7 Jun 2018
Modified: 7 Jun 2018
Endless animation by SinfulSalad
10SHIFT
By Jamie Hyland  
Created: 12 Nov 2018
Modified: 12 Nov 2018
Cloned xyz MineCraft
By James Humphrys  
Created: 10 Dec 2016
Modified: 10 Feb 2018
Tutorial 18.8
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 9 Sep 2018
3D Custom Shapes
connect 4(AI opp...
By Kevin Sweeney  
Created: 6 Dec 2016
Modified: 10 Feb 2018
Game of Crowns T...
By Mathias Bazin  
Created: 31 May 2018
Modified: 14 Jun 2018
Added better controls that adjust dynamically with the camera view, fireball kills on touch, coh...
bouncy Collision...
By tom  
Created: 30 Sep 2017
Modified: 10 Feb 2018
Friday One Cube ...
By test2  
Created: 30 Nov 2018
Modified: 30 Nov 2018
friday description
Blank Three.js World
By Starter user  
Created: 20 Nov 2016
Modified: 23 Feb 2019
A simple starter World. An Array of spheres. Painted with textures. Random motion.
Cloned Simpsons ...
By Jake  
Created: 27 Oct 2016
Modified: 10 Feb 2018
Spider Paradise ...
By Aisling Casserly  
Created: 8 Dec 2016
Modified: 10 Feb 2018
Tutorial 1.6
By "Coding Train" p...  
Created: 6 Sep 2018
Modified: 6 Sep 2018
Code Comments
The world of the...
By the Platyman  
Created: 12 Nov 2018
Modified: 19 Nov 2018
Clone of "Complex World" by Starter user
Fundraising - Us...
By Ross Franey  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Cloned Cloned of...
By test2  
Created: 15 Jan 2018
Modified: 10 Feb 2018
test
By James Humphrys  
Created: 27 Nov 2016
Modified: 10 Feb 2018
New Infinite Wor...
By Nathan Bonnard  
Created: 5 Jun 2018
Modified: 13 Jun 2018
New World. Starting from scratch.
3. Making an Avatar
By "3D Game Program...  
Created: 16 Aug 2018
Modified: 19 Feb 2019
Port of code "building_an_avatar" from Ch.3


The background is a program, showing the JavaScript graphics used on this site.
 
Font:

© Ancient Brain Ltd. 2018-19. All rights reserved.

Ancient Brain ™ is a trademark of Ancient Brain Ltd.

Platforms      Bug bounty      Contact

Stats      The name      Terms and conditions

Classes in Dublin      Call for partners