Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact


CA216      CA249      CA318

CA400      CA651      CA668

CA318 - practical

CA318 practical

The World-Wide-Mind

The practical is based on the "World-Wide-Mind" research project.

You will use the new prototype server: ab.computing.dcu.ie

You upload problems ("Worlds"). You or other people upload solutions to these problems ("Minds"). Anyone can run a Mind in a World and see the result. Anyone can upload new Minds and Worlds. All Minds and Worlds are in JavaScript.

Run a Mind in a World

Anyone can "run" a Mind in a World without registering or logging in.

When we run a Mind in a World, we repeatedly ask the World to describe itself by sending it a "Get State" message, then we ask the Mind what to do by sending it a "Get Action" message, then we execute the action by sending the World server a "Take Action" message.

Writing new Minds and Worlds

Anyone can write and upload new Minds and Worlds. You must Register and log in.

For this practical, please use your proper name in the "Name" field (no nicknames), or your work may not be properly credited to you.

You write Minds and Worlds by "cloning" existing Minds and Worlds and modifying them.

Try it out

Try it out: Clone the sample World: "Complex World". Edit its JS and try out:

API definition

The ca318 practical

The ca318 practical is to write an interesting World.

If you want a challenge, these things should be possible already, but I have not done them:


Like a 3rd year project, marks will be awarded for many things.

Obfuscate your JS

Client-side JavaScript is open source. By definition anyone can see your JS.

Our server allows you to save your public JS as obfuscated code. When you edit it, the non-obfuscated version is shown to you.

For this practical, I want you to obfuscate your JS so other students cannot use it. See the "obfuscate" option when editing.


Submission is entirely done through the server. By the deadline: I expect to see some beautiful Worlds and interesting AI problems!

After you get your mark

I plan to develop this server further, and use it with new audiences.

After you get your mark, you can do the following:

  1. Delete your work.

  2. Leave your work on the server, in case others want to use it.

  3. Leave your work up, and unobfuscate it, to make it easy for others to build on it.
    This is what I hope you do, but: (1) it is optional, and: (2) wait until you are marked.

Feeds      w2mind.org

On Internet since 1987.