Drag the background!

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

An online coding and hosting platform for everyone.

34 countries    2,151 coders    9,325 worlds    505,961 runs    3.2 million lines of code    Update stats

Plain canvas web...
76 runs ♦ 0 likes
By Starter user  
Created: 1 Sep 2018
Modified: 17 Sep 2023
Example of porting webgl World (almost) unchanged to AB using plain canvas API
Scrolling background
181 runs ♦ 0 likes
By Enhanced  
Created: 1 Aug 2018
Modified: 17 Sep 2023
here is explained and commented a way to code a scrolling background with three.js
ML5 image recogn...
106 runs ♦ 0 likes
By Starter user  
Created: 10 Jun 2021
Modified: 17 Sep 2023
Demo of image recognition using ML5 and MobileNet. Image URL is hardcoded.
Purple Fruit Monster
199 runs ♦ 1 like
By Starter user  
Created: 1 Sep 2018
Modified: 17 Sep 2023
Example of porting physics World unchanged to AB using plain physics API. From "3D Game Programm...
An online coding platform

Ancient Brain is an online coding and hosting platform for everyone.
See Introduction and List of features.


Coders: Make 3D worlds and share them with friends. Clone and edit other people's worlds. Make multi-user games and environments. Make touch mobile games. Upload your own images, music and 3D models. Embed your worlds on other sites.
Teachers: Run courses in coding and coding for kids and AI coding. Run programming practicals in 3D graphics or 2D graphics or text, with many features designed for teachers. Safely edit and run student code.
Learners: Do courses in coding and coding for kids and AI coding. Clone other people's worlds and change one or two lines. What's the worst that could happen?
Gamers: Play the endless game worlds the coders make. Come and browse an ever-growing archive of games.
Researchers: Upload problems, tender for solutions, test and rank them. Make hybrid AI systems from the code of multiple authors.
Getting started
You can "run" any of the 9,325 programs or "Worlds" by clicking on them. But this is also a coding site, where you can code your own Worlds. You can use this site to learn to code. Or show off your creations if you are an experienced coder.
Basically you can read more about how to get started running Worlds and coding: Or you can leap straight into coding with our starter tutorial:
Programming course

Ancient Brain has a course in how to program from scratch.
You will get to make "Worlds" like the following. Click on them to run them.

Tutorial 2.5
161 runs ♦ 1 like
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 17 Sep 2023
The random() Function
Tutorial 7.8 variant
369 runs ♦ 0 likes
By "Coding Train" p...  
Created: 6 Sep 2018
Modified: 17 Sep 2023
Tutorial 7.8 with music and other uploaded images, including from other users. Click on the images.
Tutorial 2.1
546 runs ♦ 1 like
By "Coding Train" p...  
Created: 4 Sep 2018
Modified: 17 Sep 2023
Variables in p5.js (mouseX, mouseY)
Tutorial 7.3
225 runs ♦ 0 likes
By "Coding Train" p...  
Created: 5 Sep 2018
Modified: 17 Sep 2023
Arrays of Objects
AI course

Ancient Brain has a set of AI programming exercises, with videos and notes. For use in any AI course.
You will get to modify "Worlds" like the following. Click on them to run them.

Character recogn...
1798 runs ♦ 0 likes
By "Coding Train" p...  
Created: 5 Jul 2019
Modified: 17 Sep 2023
Neural network to do character recognition from image database and from handwriting in real-time.
A star
3956 runs ♦ 1 like
By "Coding Train" p...  
Created: 1 May 2019
Modified: 17 Sep 2023
"A Star" algorithm to find shortest path through maze.
Breadth-first se...
2778 runs ♦ 0 likes
By "Coding Train" p...  
Created: 30 Apr 2019
Modified: 17 Sep 2023
Breadth-first search with a Force-directed graph.
GA (Finnegans Wake)
995 runs ♦ 0 likes
By "Coding Train" p...  
Created: 2 May 2019
Modified: 17 Sep 2023
Genetic Algorithm to write the first line of Finnegans Wake.
WebGL course

Ancient Brain has a short course in JavaScript 3D graphics ("WebGL") programming.
You will get to make "Worlds" like the following. Click on them to run them.

Tutorial 18.7
410 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
Tutorial 18.7 with full canvas, resized model, sound. Texture on box is image from another user.
Tutorial 18.3
63 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
Light and Material
Tutorial 18.5
91 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
Camera and Perspective
Tutorial 18.8
90 runs ♦ 0 likes
By "Coding Train" p...  
Created: 9 Sep 2018
Modified: 17 Sep 2023
3D Custom Shapes
Starter Worlds for Three.js

These are the main "Starter Worlds" that use the Three.js library (which tends to give the most advanced graphics).

You can Clone and Edit all of these and change their code. Look for a section at the top called the "Tweaker's Box". This contains the easiest things to change.

Castle World
786 runs ♦ 4 likes
By Starter user  
Created: 11 Nov 2016
Modified: 17 Sep 2023
Demo of how to insert 3d model into World. Mind-controlled agent, actively-pursuing enemy. Splas...
Blank Three.js World
1503 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.
Complex World
8198 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.
User-controlled ...
913 runs ♦ 2 likes
By Starter user  
Created: 12 Feb 2017
Modified: 17 Sep 2023
3d model World. User controlled on desktop. Keyboard arrows to move. Switch to "Move with" camer...
Zombie Death Baby
771 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...
MineCraft
1116 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...
Password Websock...
65 runs ♦ 0 likes
By Starter user  
Created: 14 Nov 2022
Modified: 17 Sep 2023
Password version of "Websockets boxes"
Touch World
457 runs ♦ 1 like
By Starter user  
Created: 6 Jan 2018
Modified: 17 Sep 2023
How to override default touch handling. Mobile: Touch drag moves agent, touch pinch zooms camera...
One Cube World (...
1112 runs ♦ 2 likes
By Starter user  
Created: 11 Apr 2018
Modified: 17 Sep 2023
Simple starter World (Three.js version). Built-in camera control.
Websockets boxes
802 runs ♦ 0 likes
By Starter user  
Created: 29 Feb 2020
Modified: 17 Sep 2023
Demo of Websockets in 3D World. Click to change the boxes on the other user's machine, while the...
Model World
856 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.
Simple World
1645 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.
Random Worlds

Here are some random Worlds that have had more than 30 runs. Reload for more.

Binary tree (clo...
53 runs ♦ 0 likes
By Avril Hayden  
Created: 18 Oct 2019
Modified: 17 Sep 2023
Clone of "Binary tree" by "Coding Train" project
lamborghini 7 de...
54 runs ♦ 0 likes
By Extra test  
Created: 7 Dec 2018
Modified: 5 Apr 2019
boring cube does nothing
Neural Network c...
107 runs ♦ 1 like
By Gelmis Bartulis  
Created: 5 Dec 2020
Modified: 17 Sep 2023
Clone of "Character recognition neural network (clone by Gelmis Bartulis)" by Gelmis Bartulis
Breadth-first se...
173 runs ♦ 0 likes
By K.Ellis  
Created: 18 Oct 2019
Modified: 17 Sep 2023
Clone of "Breadth-first search (Kevin Bacon)" by "Coding Train" project
A star (clone by...
47 runs ♦ 0 likes
By Smart Adeyemi  
Created: 17 Oct 2023
Modified: 17 Oct 2023
Clone of "A star" by "Coding Train" project
A* Lettuce (World 2)
76 runs ♦ 0 likes
By Tristan Everitt  
Created: 26 Oct 2022
Modified: 17 Sep 2023
CA686i - Practical 1 A* (World 2): Clone of "A* Lettuce" by Tristan Everitt
Tutorial 1.1
64 runs ♦ 0 likes
By "Coding Train" p...  
Created: 6 Sep 2018
Modified: 17 Sep 2023
Code! Programming with p5.js
A star (clone by...
38 runs ♦ 0 likes
By Aideen Byrne  
Created: 3 Nov 2020
Modified: 17 Sep 2023
Clone of "A star" by "Coding Train" project
Perceptron (clon...
34 runs ♦ 0 likes
By Deniss Strods  
Created: 30 Nov 2020
Modified: 17 Sep 2023
Clone of "Perceptron" by "Coding Train" project
Paint By Blocks ...
243 runs ♦ 0 likes
By Vanya Cadogan  
Created: 24 Feb 2023
Modified: 17 Sep 2023
Clone of "Paint By Blocks v1 (Three.js)" by Vanya Cadogan


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