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

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

488 authors    829 Worlds    79,943 runs    0.4 million lines of code    Update stats

Scrolling background
By Enhanced
here is explained and commented a way to code a scrolling background with three.js
3D for Kids World unc...
By Starter user
Example of plain Three.js API. Porting a World unchanged. From "3D Game Programming for Kids"
Rythm of the night
By Enhanced
A rythm game where you have to use the right inputs at the right time to progress from one level...
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

1. Explore the site. Run Worlds.


2. See how coding on this site works. Do the Tutorial.

  • Work through the Start Tutorial. This shows you how coding on this site works. This does not assume you have ever written a program.
  • See How to write code on this site. When coding, see the "Docs" menu for all the documentation you need.
  • The tutorial looks at coding the following Worlds:
Blank Three.js World
By Starter user
A simple starter World. An Array of spheres. Painted with textures. Random motion.
One Cube World
By Starter user
Simplest possible starter World. Background color. A cube of random color.
3. Learn how to program with JavaScript. Do the courses.

  • You can learn how to program in the course: Foundations of Programming in JavaScript. This does not assume you have ever written a program.
  • This course uses the P5 graphics library.
  • You can learn WebGL with P5 in the WebGL course.
  • When you are finished these courses, you will be able to make Worlds like the following:
Tutorial 7.3
By "Coding Train" project
Arrays of Objects
Tutorial 18.7
By "Coding Train" project
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
Tutorial 2.1
By "Coding Train" project
Variables in p5.js (mouseX, mouseY)
Tutorial 7.8 variant
By "Coding Train" project
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
4. Modify some Starter Worlds.

  • If you have learnt a little programming, start modifying existing Worlds.
  • Pick one of the following 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.
  • The following Starter Worlds use the Three.js graphics library. This site supports many libraries.
Zombie Death Baby
By Starter user
How to make a fun touch game for mobile. Touch drag and tap objects. Mouse drag and click object...
Simple World
By Starter user
Simple World with a Mind-controlled agent, randomly-moving enemy, paint blocks with texture.
Complex World
By Starter user
World with a Mind-controlled agent, actively-pursuing enemy, random maze, skybox, music.
MineCraft
By Starter user
Use keyboard to draw blocks like in MineCraft. Use arrow keys and PgUp, PgDn to draw. Can save w...
5. Modify other Starter Worlds.

6. See what you can build.

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

7. See the two most advanced Worlds.

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

Complete Infinite World
By Enhanced
This program was made by Nathan Bonnard. In this world, you can generate an infinite world ! Bu...
Car models with light...
By Port of threejs.org W...
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.

Pacman
By Suzanne Campbell
Created: 16 Nov 2016
Modified: 10 Feb 2018
Snake
By Mathias Bazin
Created: 7 Aug 2018
Modified: 9 Aug 2018
The famous Snake game that entertained us for generations. Use arrow keys to move and collect th...
test
By James Humphrys
Created: 4 Dec 2016
Modified: 10 Feb 2018
Super Mario Maze
By Cathal Neary
Created: 19 Nov 2016
Modified: 10 Feb 2018
Sheepdog3(Submission)
By Neil Geoghegan
Created: 8 Dec 2016
Modified: 10 Feb 2018
joes Cloned Complex World
By Joe Humphreys
Created: 29 Oct 2016
Modified: 10 Feb 2018
Cloned One Cube World
By AmyCullenBrennan
Created: 9 May 2018
Modified: 9 May 2018
Synge St World
By test2
Created: 20 Apr 2018
Modified: 20 Apr 2018
Cloned Blank Three.js...
By James Humphrys
Created: 2 Apr 2018
Modified: 2 Apr 2018
Minesweeper
By Fionn Diarmuid O Maoi...
Created: 16 Nov 2016
Modified: 10 Feb 2018
Pacman
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 FPV Model World
By tom
Created: 26 Feb 2017
Modified: 10 Feb 2018
Chess : Mind vs Si...
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...
Hurricane World
By test
Created: 30 Sep 2017
Modified: 21 Feb 2018
Evade the Dog
By Ellen Kennedy
Created: 21 Nov 2016
Modified: 10 Feb 2018
3. Making an Avatar
By "3D Game Programming ...
Created: 16 Aug 2018
Modified: 30 Aug 2018
Port of code "building_an_avatar" from Ch.3
Don't Move
By Finnian O'Neill
Created: 6 Dec 2016
Modified: 10 Feb 2018
Lights OFF
By Elisabeth Kraman
Created: 8 Dec 2016
Modified: 10 Feb 2018
Don't Get Tackled!
By Renatas Nedzveckas
Created: 6 Dec 2016
Modified: 10 Feb 2018
Tutorial 7.3
By "Coding Train" project
Created: 5 Sep 2018
Modified: 5 Sep 2018
Arrays of Objects
Cloned MineCraft
By tom
Created: 27 Nov 2016
Modified: 10 Feb 2018
CELLS WITH MIND (add ...
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...
MazeWorld_6
By Brendan McManus
Created: 9 Dec 2016
Modified: 10 Feb 2018
Pacman In Space
By Simon Lowry
Created: 16 Nov 2016
Modified: 10 Feb 2018
Sampler
By Enhanced
Created: 19 Jul 2018
Modified: 19 Jul 2018
Upload sounds, play them, automate them. Saving data works.
pacman moves in 3d World
By tom
Created: 23 Oct 2016
Modified: 10 Feb 2018
Infinite World Only G...
By Nathan Bonnard
Created: 15 Aug 2018
Modified: 17 Aug 2018
Version of Infinite World, without objects and biom in it
Cloned Infinite World...
By test
Created: 10 Aug 2018
Modified: 10 Aug 2018
Clone of "Infinite World - V1" by Nathan Bonnard
xyz MineCraft
By tom
Created: 4 Dec 2016
Modified: 10 Feb 2018
Cloned multiple skele...
By test2
Created: 26 May 2018
Modified: 26 May 2018
Clone of "multiple skeletons World" by Starter user
Maze
By Jean Gamain
Created: 5 Dec 2016
Modified: 10 Feb 2018
Cloned Simple World
By Adrian Rabbitte
Created: 15 Nov 2016
Modified: 10 Feb 2018
FLESHMAN PLAYS GOLF (...
By Sean Hutchinson
Created: 21 Oct 2016
Modified: 10 Feb 2018
Sushi
By Mathias Bazin
Created: 29 May 2018
Modified: 29 May 2018
Clone of "Sushi" by Mathias Bazin
Flickr JSONP World
By test2
Created: 22 Jun 2018
Modified: 22 Jun 2018
JSONP call to Flickr to get images of some tag. World just makes a web page. No canvas. So scree...
Football World
By Claire-Anne MacDonagh
Created: 4 Nov 2016
Modified: 10 Feb 2018
MineCraft
By Starter user
Created: 27 Nov 2016
Modified: 25 Sep 2018
Use keyboard to draw blocks like in MineCraft. Use arrow keys and PgUp, PgDn to draw. Can save w...
Worlds Hardest Maze
By Jordan Mulvaney
Created: 7 Dec 2016
Modified: 10 Feb 2018
Cloned Lights OFF ---
By Elisabeth Kraman
Created: 9 Dec 2016
Modified: 10 Feb 2018
Assassin vs Soldier
By tom
Created: 16 Oct 2016
Modified: 10 Feb 2018


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