NOBLE APE 0.655 - work in progress


I have been doing some heavy hacking through the code. The Noble Ape Simulation should be eye-catching with a transparent interactive environment. This isn't available in the current simulation.

The ability to create environments that float in 3d space has been the dream for the Noble Ape Simulation for many years now. OpenGL provides some framework - but like my early experiences of real time colour graphics in 1996-97, it is still far too slow to seriously consider implementing for half an hour simulated per second.

This idea of a transparent, floating environment that the user can interact and explore with a mouse click and point, has come in fragments over the past month. In parallel with this development, I have been looking at realistic goals for cross platform development and modifying the biological simulation component to the point of functionality.

It has been a busy month for the Noble Ape Simulation.

NOBLE APE 0.655 - work in progress

There are a number of new features that I am developing for this release.

(i) Carbon compliant - can be run on OS X
(ii) Basic PalmOS interface (may not occur in this release)
(iii) New point and click interface (floating 3d space)
(iv) New Noble Ape's brain view
(v) Simplified biology model

The current Noble Ape Simulation has been Mac OS only for the past four or so years. There was an early Windows 3.1 release of the simulation that I have on floppy disk somewhere but I have been putting off digging that deep in code in recent months. The plan is to port the platform source over to Windows and to develop a low resolution viewing environment for the Palm user. This will be similar to the GLUT development.

I have tested the carbonised Noble Ape Simulation for MacOS X. It doesn't have file open or save currently or the OS X menu style yet, but it does run and pump out the graphics that is a good start.

As mentioned in the introduction, I have been developing a point and click environment. I honestly can't understand why I didn't do this sooner. Perhaps the fear of generating code that would only look good on fast machines? The new environment is fully 3d and mouse interactive. In the past the Noble Ape Simulation has been mainly keyboard control, but the intuitive nature of a mouse in a 3d environment has worked well with the OpenGL implementation. This is somewhat ambitious because it means substantial rewrites within the display framework (which had gathered a little dust since November-December 2001). I rediscovered the joy of quarterion mathematics - without the breadth of my textbooks in Australia.

The inspiration for the true 3d environment has to be the new Ape's Brain view model that rotates in 3d and shows the active changing region's of the brain. Most of this development wouldn't have been possible without the ape's brain optimisation performed in Noble Ape 0.654.

The final addition is a simplification of the vast biological simulation. At last count the simulation had six species of plants and eight species of animals apart from the illusive felines and Noble Apes. Whilst the quantum-mechanics population-density model minimises computation, the numbers of plants and animals and their interactive behaviour, predator and prey etc, provides a level of complexity that is overwhelming to most users. This implementation will be a pre-compiler flag (like turn on ape's brain etc). The plan is to reduce the plants to just three species and the animals to five or six species. A reduction of this number reduces the amount of computation required by roughly two thirds. This would allow greater predictive computation for creating detailed and relatively stable biological environments.

From my list, point (i) and (iv) are implemented. Point (iii) is in development with the potential of a Windows version too and the means of continuing forward with (ii) and (v) are being decided currently. There may be sufficient changes with 0.655 to bump the version number up to 0.66. More on this next month!

One final thing - I have introduced a Noble Ape naming convention that identifies whether the ape is female or male and gives its ancestry. The naming convention is found only in the save files of the current work-in-progress version of 0.655. I hope to add the name of the ape into the window title when it is being viewed as well. The name relates to a 32-bit identification number that is the closest thing to proper Noble Ape genetics thus far.


For the past couple of version releases I have turned on the Noble Ape Brain feature. In the simulation, this component that calculates and shows the Noble Ape's cognitive processes has been a major bottleneck in the simulation.

With this in mind this version release looked at minimising the processing time for the Noble Ape Brain. By removing much of the internal range checking with in-bounds conditions, I was able to improve the speed of the simulation core by roughly 20%.


For the past four years, I have developed the Project on a variety of computers - but none that I have owned. Thus the Project has developed in a reductive environment. The fundamental components of the Project have been small enough to store remotely and downloaded by modem. In this way, the Noble Ape Project has been a truly online project!

This has changed over the past couple of months. My employer was throwing out two old Macs. I was offered them. The Noble Ape Project is now being developed on two machines that are both just under the power of the AFC-grant funded laptop of 1997. Both are running MacOS 9 and one has been plugged into the CVS updates on SourceForge.

Hope all is well with you all,

Tom Barbalet, 20 April 2002.

Noble Ape - Mailout Archive