Project ideas for 3rd year, 4th year or Masters
(depending on how ambitious the project ends up).
I am focused on projects for
There is a lot of scope for projects with this site.
To get familiar with the site,
and go to
How to code.
See also my notes:
This World illustrates the "A star" algorithm in AI. It sets up a random maze and finds the shortest path through the maze.
Reload for a new maze.
Users can clone this and edit their copy, and make changes to the problem and the algorithm to explore AI concepts.
See full explanation
Click to run World: A star
at Ancient Brain
"One Cube World", the World used in the
Ancient Brain Starter Tutorial.
Users who are learning to code can edit this, add textures, make multiple cubes, change rotation, and so on - all in the browser.
Click to run World: One Cube World (P5) at Ancient Brain.
An example of a modified copy of "One Cube World".
See other cube variants that users have made.
Click to run World: Interstellar cubes at Ancient Brain.
Demo of 3d model.
Click to run World: Car models with light reflection at Ancient Brain.
Open in new window ("Open window") to see full menu for this World.
In the menu, you can change car models and switch skin. ("Chrome" is nice.)
Demo of World with physics.
Click to run World: Collision World at Ancient Brain.
Mouse drag to move camera,
and scroll to zoom camera.
Demo of 3d model.
Drag to rotate. Scroll to zoom. Click to throw paint.
Click to run World: webgl decals at Ancient Brain.
Project: Make a teaching course for schools and colleges
Ancient Brain can be used in teaching coding in schools and colleges.
What it needs is someone to write a course or textbook.
We have some short courses:
But they are not yet using the site's full potential.
Ideas for courses:
- Coding for kids,
making specific use of Ancient Brain features,
and using kid-friendly language.
- Coding for 1st year undergrads.
- A course in Physics.
- A course in Mathematics.
- A course in Astronomy.
Ideas for how to do it:
- Teach concepts visually using 3D graphics and physics.
- Teach sorting numbers and strings
by sorting actual 3D blocks. And so on.
- Use the
This has features like obfuscation to stop copying.
Teacher can edit student solutions and make changes to see what happens.
Find a way to keep students away from the JS console:
- For learners, the JS console is confusing.
- Your Worlds could trap console error messages and display them on screen in the World in a floating box or something.
Or a "black cube of death" descends from the sky with the console error message on it.
Port the following 400 Three.js examples to Ancient Brain.
Project: Generalised JS porter
Program to generalise porting.
Typical edits needed:
- All libraries and assets need to be uploaded to Ancient Brain. (This is the Web single-origin policy.)
- All paths to libraries and assets need to be fixed.
- Sometimes paths need to be fixed inside secondary libraries.
- Ancient Brain does everything in JS. No CSS or HTML panels.
So to include a CSS file you need to use:
AB.loadCSS ( file.css );
- To include some CSS you need to use:
AB.loadCSSstring ( multi line string );
- To make a div you use:
AB.newDiv ( id );
- If the JS makes other DOM elements you may need to use the
rather than an API focused on graphics.
You could script the edits.
Room for creativity here.
- You can also script the upload process to Ancient Brain.
I have not done it but this should be possible.
Get an AI project,
using say State Space Search, or Machine Learning,
working on Ancient Brain.
This will probably use the World-Mind (problem-solution) division.
include third-party JS libraries
for the AI algorithm.
Or write your own.
- AI in JS:
- AI theory:
- AI on Ancient Brain:
For learning, and then storing what you have learnt,
- AI experiments - Minds calling Minds
- Minds can return action = (a,W) - with extra fields for Action selection - that World ignores
Click to run World: Recognise any image
at Ancient Brain
Click to run World: Character recognition neural network
at Ancient Brain.
Project: Advanced game on Ancient Brain
There are many simple games on the site.
Make something a bit more professional.
- World with infinite scrolling landscape.
- World with multiple levels / infinite number of rooms.
Totally new screens / rooms when change level.
- Touch mobile game
- See touch World: Touch World
- See touch game: Zombie Death Baby
- Touch to move / take actions
- Touch object plus touch camera, in same World. How?
Touch in a special section at the top (a special div) moves the camera.
Touch in rest of canvas moves agent (or some other action).
So can have 3D World with touch. Adjust camera. Then take actions.
- See: Bouncy Balls
- Agent walks through bouncing balls, hitting them
- Grab blocks with mouse and move them