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

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

716 authors    1,284 Worlds    98,174 runs    0.5 million lines of code    Update stats

Free JavaScript courses in Dublin using Ancient Brain for teachers and adult leaders. Next class: 4 Jan 2019.
Romantic Sunset
By Enhanced  
Turn your head and discover a eautiful scenery observable in first person mode.
CELLS WITH MIND ...
By Enhanced  
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?

How to get started

Explore the site. Run Worlds.


See how coding on this site 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 coding JavaScript on Ancient Brain 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. If you know a little P5, you will be ready to try some Three.js.
  • To get started coding JavaScript on Ancient Brain 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 go through this book and code the examples on Ancient Brain. This book does not assume you have ever written a program.
  • When you are finished this book, you will be able to make Worlds like the following:
3. Making an Avatar
By "3D Game Program...  
Port of code "building_an_avatar" from Ch.3
1. Shapes
By "3D Game Program...  
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.
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...
Complex World
By Starter user  
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
Blank Three.js World
By Starter user  
A simple starter World. An Array of spheres. Painted with textures. Random motion.
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 ...
By Starter user  
3d model World. User controlled on desktop. Keyboard arrows to move. Switch to "Move with" camer...
See the most advanced Worlds.

These are probably the most advanced Worlds on the site at the moment:

Car models with ...
By Port of threejs....  
Car bodywork reflects images from skybox. Click buttons to change model and bodywork. Mouse to m...
Complete Infinit...
By Enhanced  
This program was made by Nathan Bonnard. In this world, you can generate an infinite world ! Bu...
Random Worlds

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

Cloned Collision...
By James Humphrys  
Created: 1 Oct 2017
Modified: 10 Feb 2018
Pacman In Space
By Simon Lowry  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Cloned Complex W...
By test  
Created: 12 Oct 2017
Modified: 10 Feb 2018
MINECRAFT
By James Humphrys  
Created: 15 Jan 2017
Modified: 10 Feb 2018
Maze
By Jean Gamain  
Created: 5 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
Cloned connect 4...
By Kevin Sweeney  
Created: 7 Dec 2016
Modified: 10 Feb 2018
Cloned Cloned CA...
By sloyand2  
Created: 12 Nov 2018
Modified: 12 Nov 2018
Clone of "Cloned CA318 2018 World" by cdaly
TowersOfHanoi (N...
By Andrew Twohig  
Created: 6 Dec 2016
Modified: 10 Feb 2018
The Game of Life...
By Mathias Bazin  
Created: 22 Jun 2018
Modified: 27 Jun 2018
Credits to Daniel Shiffman, http://codingtra.in
Cloned CA318 201...
By Pedro Canes  
Created: 19 Nov 2018
Modified: 19 Nov 2018
Clone of "CA318 2018 World" by Mark Humphrys
Spooky Skeleton ...
By Cillian Rice  
Created: 16 Nov 2016
Modified: 10 Feb 2018
Cafe Complex World
By test  
Created: 8 Feb 2018
Modified: 10 Feb 2018
Cloned pacman mo...
By Ray Walshe  
Created: 27 Oct 2016
Modified: 10 Feb 2018
Blank Three.js World
By Starter user  
Created: 20 Nov 2016
Modified: 14 Dec 2018
A simple starter World. An Array of spheres. Painted with textures. Random motion.
Two Player Tron
By Conor Smyth  
Created: 7 Dec 2016
Modified: 10 Feb 2018
First Person Con...
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...
Complex World
By Starter user  
Created: 1 Oct 2016
Modified: 14 Dec 2018
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
Minecraft Builder
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...
totally new Blan...
By tom  
Created: 5 Mar 2017
Modified: 10 Feb 2018
Plain canvas web...
By Starter user  
Created: 1 Sep 2018
Modified: 14 Dec 2018
Example of porting webgl World (almost) unchanged to AB using plain canvas API
Cloned One Cube ...
By shane  
Created: 26 Nov 2018
Modified: 26 Nov 2018
Clone of "One Cube World (P5)" by Starter user
Cloned pacman mo...
By James Humphrys  
Created: 23 Oct 2016
Modified: 10 Feb 2018
Coolest project demo
By test2  
Created: 26 May 2018
Modified: 26 May 2018
Clone of "Complex World" by Starter user
Bouncy Balls
By test  
Created: 30 Sep 2017
Modified: 24 May 2018
Rythm of the night
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...
Cloned CA318 201...
By nortona5  
Created: 18 Nov 2018
Modified: 19 Nov 2018
Clone of "CA318 2018 World" by Mark Humphrys
Cloned One Cube ...
By James Toolen  
Created: 16 Nov 2018
Modified: 17 Nov 2018
Clone of "One Cube World (P5)" by Starter user
Cloned CA318 201...
By Adaam  
Created: 6 Nov 2018
Modified: 6 Nov 2018
Clone of "CA318 2018 World" by test
CELLS WITH MIND ...
By SinfulSalad  
Created: 5 Jul 2018
Modified: 10 Jul 2018
Clone of "CELLS WITH MIND" by SinfulSalad
Cloned Blank Thr...
By James Humphrys  
Created: 2 Apr 2018
Modified: 2 Apr 2018
2D Perlin noise ...
By Mathias Bazin  
Created: 19 Jul 2018
Modified: 23 Jul 2018
Nice visuals
Cloned MineCraft
By simon  
Created: 27 Nov 2016
Modified: 10 Feb 2018
Joe's blank Thre...
By Joe Rathborne  
Created: 10 Nov 2018
Modified: 10 Nov 2018
Blank Three World for learning
Cloned Castle World
By samwood3  
Created: 12 Nov 2018
Modified: 12 Nov 2018
Clone of "Castle World" by Starter user
Cloned CA318 201...
By cahillrock  
Created: 5 Nov 2018
Modified: 20 Nov 2018
Clone of "CA318 2018 World" by test
Cloned Simple World
By sean  
Created: 7 Mar 2018
Modified: 8 Mar 2018
test
By ben  
Created: 27 Feb 2018
Modified: 27 Feb 2018
Solar System Gen...
By Mathias Bazin  
Created: 7 Aug 2018
Modified: 7 Aug 2018
New World. Starting from scratch.
friday pacman world
By test2  
Created: 25 May 2018
Modified: 25 May 2018
Clone of "Complex World" by Starter user


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

© Ancient Brain Ltd. All rights reserved.

Ancient Brain ™ is a trademark of Ancient Brain Ltd.

Beta      Bug bounty      Contact      Stats      The name      Terms and conditions