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

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

11 countries    928 authors    1,502 Worlds    113,828 runs    0.6 million lines of code    Update stats

Call for partners (2019) to work on content for Ancient Brain.
First Person Con...
63 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 14 Aug 2018
First person view with mouse controls. Use WASD or Arrows to move, mouse to look around and spac...
Tutorial 18.7
227 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 11 Sep 2018
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
Pacman
93 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 17 Aug 2018
Enhanced version of Game Pacman in Space, you need to collect all white bullet to end the game, ...
CELLS WITH MIND ...
41 runs ♦ 0 likes
By Enhanced  
Created: 10 Jul 2018
Modified: 10 Jul 2018
Cells is a game about cells trying to infect each other. It offers a playground for minds to com...
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.

Sheepdog3(Submis...
594 runs ♦ 3 likes
By Neil Geoghegan  
Created: 8 Dec 2016
Modified: 10 Feb 2018
Infinite World O...
33 runs ♦ 0 likes
By Enhanced  
Created: 16 Aug 2018
Modified: 17 Aug 2018
Here is a code to get an infinite world that loop without object in it, without the sun
canvas 2d
285 runs ♦ 2 likes
By Starter user  
Created: 4 Oct 2017
Modified: 26 Mar 2019
Minimal starter World for "Canvas" API (no graphics library). Program using getContext("2d"). Pa...
Collision World
601 runs ♦ 2 likes
By Starter user  
Created: 21 Sep 2017
Modified: 26 Mar 2019
Demo of Physics API. Blocks fall under gravity and collide. Can modify gravity, friction, etc. S...
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)
191 runs ♦ 0 likes
By Starter user  
Created: 10 Nov 2018
Modified: 26 Mar 2019
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 2.1
176 runs ♦ 0 likes
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 4 Sep 2018
Variables in p5.js (mouseX, mouseY)
Tutorial 7.8 variant
139 runs ♦ 0 likes
By "Coding Train" p...  
Created: 6 Sep 2018
Modified: 11 Sep 2018
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
Tutorial 7.3
69 runs ♦ 0 likes
By "Coding Train" p...  
Created: 5 Sep 2018
Modified: 5 Sep 2018
Arrays of Objects
Tutorial 18.7
227 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 11 Sep 2018
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
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 (...
666 runs ♦ 2 likes
By Starter user  
Created: 11 Apr 2018
Modified: 26 Mar 2019
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:
3. Making an Avatar
60 runs ♦ 0 likes
By "3D Game Program...  
Created: 16 Aug 2018
Modified: 24 Mar 2019
Port of code "building_an_avatar" from Ch.3
1. Shapes
98 runs ♦ 0 likes
By "3D Game Program...  
Created: 16 Aug 2018
Modified: 24 Mar 2019
Port of code "shapes" from Ch.1
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
749 runs ♦ 2 likes
By Starter user  
Created: 20 Nov 2016
Modified: 26 Mar 2019
A simple starter World. An Array of spheres. Painted with textures. Random motion.
Complex World
2475 runs ♦ 2 likes
By Starter user  
Created: 1 Oct 2016
Modified: 26 Mar 2019
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
MineCraft
572 runs ♦ 2 likes
By Starter user  
Created: 27 Nov 2016
Modified: 26 Mar 2019
Use keyboard to draw blocks like in MineCraft. Use arrow keys and PgUp, PgDn to draw. Can save w...
Simple World
1091 runs ♦ 2 likes
By Starter user  
Created: 1 Oct 2016
Modified: 26 Mar 2019
Simple World with a Mind-controlled agent, randomly-moving enemy, paint blocks with texture.
See what you can build.

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

User-controlled ...
395 runs ♦ 2 likes
By Starter user  
Created: 12 Feb 2017
Modified: 26 Mar 2019
3d model World. User controlled on desktop. Keyboard arrows to move. Switch to "Move with" camer...
Globe Trotter
1314 runs ♦ 2 likes
By Laura Araviciute  
Created: 3 Dec 2016
Modified: 10 Feb 2018
Super Mario Maze
1882 runs ♦ 4 likes
By Cathal Neary  
Created: 19 Nov 2016
Modified: 10 Feb 2018
Game of Crowns
1619 runs ♦ 2 likes
By Niamh Byrne  
Created: 16 Nov 2016
Modified: 10 Feb 2018
See the most advanced Worlds.

Here are some of the most advanced Worlds:

Sampler
53 runs ♦ 0 likes
By Enhanced  
Created: 19 Jul 2018
Modified: 19 Jul 2018
Upload sounds, play them, automate them. Saving data works.
Port of flying b...
113 runs ♦ 0 likes
By Discover three.js  
Created: 10 Feb 2019
Modified: 24 Mar 2019
Animated models. Port of flying birds with GLB models. From "Discover three.js". See project inf...
Car models with ...
331 runs ♦ 0 likes
By Port of threejs....  
Created: 13 Sep 2018
Modified: 24 Mar 2019
Car bodywork reflects images from skybox. Click buttons to change model and bodywork. Mouse to m...
Complete Infinit...
264 runs ♦ 0 likes
By Enhanced  
Created: 9 Aug 2018
Modified: 26 Aug 2018
This program was made by Nathan Bonnard. In this world, you can generate an infinite world ! Bu...
Editor's Choice Worlds

Here are some selected user-submitted Worlds and the most useful built-in Worlds.

Tutorial 7.8 variant
139 runs ♦ 0 likes
By "Coding Train" p...  
Created: 6 Sep 2018
Modified: 11 Sep 2018
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
Enhanced Space Pong
97 runs ♦ 0 likes
By Enhanced  
Created: 18 Jun 2018
Modified: 24 Jul 2018
It's all you want from Pong : smooth controls, different difficulty levels and game modes
Simple World
1091 runs ♦ 2 likes
By Starter user  
Created: 1 Oct 2016
Modified: 26 Mar 2019
Simple World with a Mind-controlled agent, randomly-moving enemy, paint blocks with texture.
Collision World
601 runs ♦ 2 likes
By Starter user  
Created: 21 Sep 2017
Modified: 26 Mar 2019
Demo of Physics API. Blocks fall under gravity and collide. Can modify gravity, friction, etc. S...
Infinite World O...
33 runs ♦ 0 likes
By Enhanced  
Created: 16 Aug 2018
Modified: 17 Aug 2018
Here is a code to get an infinite world that loop without object in it, without the sun
Plain Three.js World
39 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 26 Mar 2019
Example of plain Three.js API. Porting a World unchanged. From github.com/mrdoob
One Cube World (...
666 runs ♦ 2 likes
By Starter user  
Created: 11 Apr 2018
Modified: 26 Mar 2019
Simple starter World (Three.js version). Cube of random color. Built-in camera control.
Tutorial 7.8
56 runs ♦ 0 likes
By "Coding Train" p...  
Created: 5 Sep 2018
Modified: 5 Sep 2018
Objects and Images. On Ancient Brain you can upload your own images. Try it!
Touch World
281 runs ♦ 1 likes
By Starter user  
Created: 6 Jan 2018
Modified: 26 Mar 2019
How to override default touch handling. Mobile: Touch drag moves agent, touch pinch zooms camera...
FLESHMAN PLAYS G...
4376 runs ♦ 2 likes
By Sean Hutchinson  
Created: 21 Oct 2016
Modified: 10 Feb 2018
Space Hero
44 runs ♦ 0 likes
By Enhanced  
Created: 13 Jun 2018
Modified: 21 Jun 2018
Drag the Earth the collect the suns. Don't get hit by the asteriods ! Enhanced version of "Space...
Sun
46 runs ♦ 0 likes
By Enhanced  
Created: 15 Aug 2018
Modified: 16 Aug 2018
Here is a prototype of a sun object that you can copy to your world !
Spider Paradise ...
625 runs ♦ 2 likes
By Aisling Casserly  
Created: 8 Dec 2016
Modified: 10 Feb 2018
Plain canvas web...
26 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 26 Mar 2019
Example of porting webgl World (almost) unchanged to AB using plain canvas API
Castle World
429 runs ♦ 3 likes
By Starter user  
Created: 11 Nov 2016
Modified: 26 Mar 2019
Demo of how to insert 3d model into World. Mind-controlled agent, actively-pursuing enemy. Splas...
Scare the Fishes!
65 runs ♦ 0 likes
By Enhanced  
Created: 2 Aug 2018
Modified: 2 Aug 2018
Scare the fishes with your mouse ! If you click they will flee even further away. Includes twea...
Pacman In Space
1429 runs ♦ 0 likes
By Simon Lowry  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Final Pool
717 runs ♦ 2 likes
By Ian Gilligan  
Created: 1 Mar 2019
Modified: 8 Mar 2019
Pool Predictor for CA326
User-controlled ...
395 runs ♦ 2 likes
By Starter user  
Created: 12 Feb 2017
Modified: 26 Mar 2019
3d model World. User controlled on desktop. Keyboard arrows to move. Switch to "Move with" camer...
Cells
64 runs ♦ 0 likes
By Enhanced  
Created: 27 Jun 2018
Modified: 27 Jun 2018
'Cells' is an animation that displays 4 team of cells trying to infect each other, until total d...
Election - AI Ve...
1870 runs ♦ 3 likes
By Ross Franey  
Created: 22 Oct 2016
Modified: 10 Feb 2018
Complex World
2475 runs ♦ 2 likes
By Starter user  
Created: 1 Oct 2016
Modified: 26 Mar 2019
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
MineCraft
572 runs ♦ 2 likes
By Starter user  
Created: 27 Nov 2016
Modified: 26 Mar 2019
Use keyboard to draw blocks like in MineCraft. Use arrow keys and PgUp, PgDn to draw. Can save w...
Looney Tunes Cha...
1224 runs ♦ 2 likes
By Sean Sinnott  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Super Mario Maze
1882 runs ♦ 4 likes
By Cathal Neary  
Created: 19 Nov 2016
Modified: 10 Feb 2018
Expo World
85 runs ♦ 0 likes
By Mark Humphrys  
Created: 17 Oct 2018
Modified: 24 Mar 2019
Infinite changing demo for expos.
Tutorial 18.7
227 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 11 Sep 2018
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
Tutorial 18.4
43 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 9 Sep 2018
Texture
Model World
521 runs ♦ 2 likes
By Starter user  
Created: 8 Nov 2016
Modified: 26 Mar 2019
Demo of how to insert 3d models into World. Mind-controlled agent, actively-pursuing enemy. Skybox.
Minecraft Builder
96 runs ♦ 0 likes
By Enhanced  
Created: 5 Jun 2018
Modified: 21 Jun 2018
Build your own worlds. Enhanced version of the Minecraft starter world with added control and co...
Bouncy Balls
291 runs ♦ 2 likes
By Starter user  
Created: 1 Oct 2017
Modified: 26 Mar 2019
Demo of Physics API. Balls bounce under gravity and collide in low friction world. Splash screen...
2D sprite animation
73 runs ♦ 0 likes
By Mark Humphrys  
Created: 11 Nov 2018
Modified: 24 Mar 2019
2D sprite animation on a surface. Change show3d to true to see it on 3d box faces.
Space Plane Shooter
553 runs ♦ 2 likes
By Brian Kilduff  
Created: 26 Nov 2016
Modified: 10 Feb 2018
Flickr World
110 runs ♦ 0 likes
By Starter user  
Created: 12 Aug 2018
Modified: 26 Mar 2019
Demo of "Web page" API. Just use JS to make a web page. This page gets images from Flickr using ...
P5 chase World
76 runs ♦ 0 likes
By Starter user  
Created: 4 Aug 2018
Modified: 26 Mar 2019
Example of World with Mind on P5 plain API. No AB framework. Have to call Mind yourself. Mind mo...
Port of flying b...
113 runs ♦ 0 likes
By Discover three.js  
Created: 10 Feb 2019
Modified: 24 Mar 2019
Animated models. Port of flying birds with GLB models. From "Discover three.js". See project inf...
Car models with ...
331 runs ♦ 0 likes
By Port of threejs....  
Created: 13 Sep 2018
Modified: 24 Mar 2019
Car bodywork reflects images from skybox. Click buttons to change model and bodywork. Mouse to m...
P5 Particle System
95 runs ♦ 0 likes
By Starter user  
Created: 4 Aug 2018
Modified: 26 Mar 2019
Port of P5 site's "Particle System" example with almost no change. P5 plain API. No AB framework...
Capture The Egg
19 runs ♦ 0 likes
By tuitef2  
Created: 8 Mar 2019
Modified: 11 Mar 2019
Chess : Mind v...
100 runs ♦ 0 likes
By Enhanced  
Created: 17 Aug 2018
Modified: 17 Aug 2018
Clone of "Chess : Mind vs Simple AI (a bit of random)" by Mathias Bazin
Sheepdog3(Submis...
594 runs ♦ 3 likes
By Neil Geoghegan  
Created: 8 Dec 2016
Modified: 10 Feb 2018
Catch the flag
4159 runs ♦ 1 likes
By Meabh Horan  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Shooting Range
78 runs ♦ 0 likes
By Enhanced  
Created: 13 Jun 2018
Modified: 21 Jun 2018
Shoot the ducks, feel the spirit of the hunt. Enhanced version of "Shooting Range (Space To Shoo...
The Game of Life
77 runs ♦ 0 likes
By Enhanced  
Created: 9 Jul 2018
Modified: 19 Jul 2018
The famous Game of Life. Click on the screen to place the initial cells and then click start ! ...
Don't Move
1152 runs ♦ 1 likes
By Finnian O'Neill  
Created: 6 Dec 2016
Modified: 10 Feb 2018
Sudoku Solver
1506 runs ♦ 2 likes
By Cathal Conroy  
Created: 20 Nov 2016
Modified: 10 Feb 2018
No brain
90 runs ♦ 0 likes
By Enhanced  
Created: 12 Jun 2018
Modified: 27 Jun 2018
Float through hypnotic space cubes. No user input required, it's only an animation
Rythm of the night
92 runs ♦ 0 likes
By Enhanced  
Created: 2 Aug 2018
Modified: 2 Aug 2018
A rythm game where you have to use the right inputs at the right time to progress from one level...
Chess : Mind v...
64 runs ♦ 0 likes
By Enhanced  
Created: 7 Aug 2018
Modified: 8 Aug 2018
Your mind plays against "Simple AI - Depth 1" with a little bit of random added so the games are...
Shooting Range (...
2155 runs ♦ 4 likes
By Adrian Rabbitte  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Scrolling background
58 runs ♦ 0 likes
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
CA318 2018 World
1966 runs ♦ 2 likes
By Mark Humphrys  
Created: 25 Sep 2018
Modified: 24 Mar 2019
CA318 practical 2018: Write a Mind to solve this World.
Design Your Own ...
4267 runs ♦ 0 likes
By Jack O'Connor  
Created: 18 Feb 2019
Modified: 12 Mar 2019
Design Your Own Room Escape Game
3D for Kids Worl...
79 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 26 Mar 2019
Example of plain Three.js API. Porting a World unchanged. From "3D Game Programming for Kids"
3MF demo
19 runs ♦ 0 likes
By Mark Humphrys  
Created: 17 Jan 2019
Modified: 24 Mar 2019
Attempt to load 3MF model. Not working yet.
Globe Trotter
1314 runs ♦ 2 likes
By Laura Araviciute  
Created: 3 Dec 2016
Modified: 10 Feb 2018
Bomberman
110 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 21 Jun 2018
Classic game of Bomberman, try to kill the ennemy with a bomb !
CELLS WITH MIND ...
82 runs ♦ 0 likes
By Enhanced  
Created: 10 Jul 2018
Modified: 10 Jul 2018
Cells is a game about cells trying to infect each other. It offers a playground for minds to com...
canvas webgl
442 runs ♦ 2 likes
By Starter user  
Created: 17 Sep 2017
Modified: 26 Mar 2019
Minimal starter World for "Canvas" API (no graphics library). Program using getContext("webgl")....
Sampler
53 runs ♦ 0 likes
By Enhanced  
Created: 19 Jul 2018
Modified: 19 Jul 2018
Upload sounds, play them, automate them. Saving data works.
Zombie Death Baby
368 runs ♦ 0 likes
By Starter user  
Created: 11 Jun 2018
Modified: 26 Mar 2019
How to make a fun touch game for mobile. Touch drag and tap objects. Mouse drag and click object...
Tutorial 2.1
176 runs ♦ 0 likes
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 4 Sep 2018
Variables in p5.js (mouseX, mouseY)
Blank Three.js World
749 runs ♦ 2 likes
By Starter user  
Created: 20 Nov 2016
Modified: 26 Mar 2019
A simple starter World. An Array of spheres. Painted with textures. Random motion.
Infinite World G...
40 runs ♦ 0 likes
By Enhanced  
Created: 16 Aug 2018
Modified: 16 Aug 2018
Here is a code to get an infinite world that loop without object in it, and with the sun
Game of Crowns
1619 runs ♦ 2 likes
By Niamh Byrne  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Romantic Sunset
60 runs ♦ 0 likes
By Enhanced  
Created: 17 Aug 2018
Modified: 17 Aug 2018
Turn your head and discover a eautiful scenery observable in first person mode.
Complete Infinit...
264 runs ♦ 0 likes
By Enhanced  
Created: 9 Aug 2018
Modified: 26 Aug 2018
This program was made by Nathan Bonnard. In this world, you can generate an infinite world ! Bu...
One Cube World (P5)
191 runs ♦ 0 likes
By Starter user  
Created: 10 Nov 2018
Modified: 26 Mar 2019
Simple starter World (P5 version). No camera control. So cube rotates to show 3D.
Purple Fruit Monster
70 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 26 Mar 2019
Example of porting physics World unchanged to AB using plain physics API. From "3D Game Programm...
P5 Mouse tracker
125 runs ♦ 1 likes
By Starter user  
Created: 4 Jul 2018
Modified: 26 Mar 2019
Example of P5 World integrated with AB framework. Desktop: Draw ellipse wherever the mouse hover...
Game of Crowns s...
84 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 27 Aug 2018
Enhanced version of "Game of Crowns" by Niamh Byrne with better graphics and controls
First Person Con...
63 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 14 Aug 2018
First person view with mouse controls. Use WASD or Arrows to move, mouse to look around and spac...
Plain canvas web...
27 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 26 Mar 2019
Example of porting webgl World (almost) unchanged to AB using plain canvas API
Pacman
93 runs ♦ 0 likes
By Enhanced  
Created: 21 Jun 2018
Modified: 17 Aug 2018
Enhanced version of Game Pacman in Space, you need to collect all white bullet to end the game, ...
smooth movement
249 runs ♦ 0 likes
By Mark Humphrys  
Created: 6 Sep 2017
Modified: 24 Mar 2019
this may work on touch
Enhanced Don't Move
50 runs ♦ 0 likes
By Enhanced  
Created: 12 Jun 2018
Modified: 27 Jun 2018
Try to dodge cubes as they fall to the ground, in this simple but efficient game
canvas 2d
285 runs ♦ 2 likes
By Starter user  
Created: 4 Oct 2017
Modified: 26 Mar 2019
Minimal starter World for "Canvas" API (no graphics library). Program using getContext("2d"). Pa...
CELLS WITH MIND ...
41 runs ♦ 0 likes
By Enhanced  
Created: 10 Jul 2018
Modified: 10 Jul 2018
Cells is a game about cells trying to infect each other. It offers a playground for minds to com...


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