NOBLE APE MAIL OUT - JANUARY 2002|
Happy New Year. The Noble Ape Mail Outs are going to be in a slightly different format this year. I am including more technical notes information in an attempt to have this documented in some form. The SourceForge CVS has been running for roughly a month now and already many of the files have been updated eight or more times. The GLUT platformless OpenGL implementation is running in a BETA form which means cross platform compiles should start appearing in the next month or so.
NOBLE APE 0.652 - WORK IN PROGRESS
I have completed the initial interface developments for Noble Ape 0.652. This is actually a major version upgrade masquerading in a single version increment.
glutform.c and glutform.h - the OpenGL 'platform'
For the uninitiated, the legacy of the Noble Ape Simulation has been the pre-Noble Ape Vector3 (aka Vect3) line drawing method developed in 1991-93 which was heavily optimised for platform independent direct drawing in 2000. Vector3 produced the signature Noble Ape B&W interface.
The development of an OpenGL graphics skin for the Noble Ape Simulation has taken just a month or so. The Stockholm re-write reduced the number of graphics primitives to just lines, splodges (2x2 pixel dots) and icons. The later development of polygonal primitives in the rendering layer enabled all the drawing modes (including the splodge-based contour mode) to converge to a polygonal solution.
The OpenGL graphics implementation is not yet fully functional. It does offer a different interface look and feel to the traditional simulation. This is very intentional! The glut module provides a platform independent OpenGL interface with all the functionality of the platform specific interface.
All interfaces including the CLE and Vector3 version will continue to be supported indefinitely.
island.c - integer output, floating point core
The resolution of the island.c remains integer, however the island core now has options to be double-precision floating point when HIRESISL_ON in core.h is set to 1. This implementation produces a much smoother island
NOBLE APE 0.651
There have been a number of changes between 0.650 and 0.651. The speed of updates and the turn around between updates has meant that I have delved down a decimal to fit in a number of new features before Noble Ape 1.000. This update included some major rewrites in;
nervio.c - new file description/protocol format
The file format modification was the final to-do from the Stockholm re-write. The implementation achieved here is workable for a number of releases with some potential to fix outdated points and add in new variable types. There are some format issues with this file method and the current ape's brain simulation. The ape's brain simulation rework is slated sometime in the next ten version releases. The file format is quite a break from the previous hex/character format which dates back to the original simulation source sometime in the dark wastelands of 1997. The new format is intuitive and allows more variables to be stacked into plain editable text.
display.c - reduction and simplification
The display code is one of the files that demanded additional reduction work. This reduction addressed some but not all of this problem. The contour sections need to be greatly improved and the initial movement from line based primitives to polygon based primitives needs to be integrated within the next five versions. Some redundant code was removed and the direction of rendering was fixed which resolved a long-term Vect3 bug. This required some modification through ape.c as well. [A lot of this was achieved in 0.652].
platform.c - removal of additional menu items
A number of menu items are were out of date. They were removed in this version. These included the derivative gradients and del Z - these were only required by the mathematically hardcore and didn't add anything but complexity to the menu structure. The contour view mode was removed leaving just the control mode (which shows the contour information as well). The Control menu was modified down to Pause. The other commands, Events Off and Update, had become increasingly unnecessary with modern processors and operating systems. Both were legacies from the 16Mhz 68000 foundation of the simulation. These modifications has some flow through into control.c and display.c.
REDEVELOPMENT OF THE NOBLE APE PROJECT
Since the Stockholm re-write, the documentation and software has been totally redeveloped. The simulation CVS on SourceForge gives a good example of the interactive redevelopment over time. The desired outcome is an active simulation on a number of platforms with a number of contributors. Through the history of the Noble Ape Project there have been a few minor contributors however most of these contributions have been eroded with time. The early Noble Ape Project manuals hold some of the names and ideas of these contributors.
In early 2000, the project source was re-released into the public domain. The source was still relatively impenetrable to the novice. A number of re-write requests came back including a transparent GUI and graphics system. The graphics components were extruded and the user interface became more transparent - but the simulation was still extremely verbose. Some redevelopment was done in early 2001 in the UK - specifically rewriting the quantum mechanics biology simulation components.
The Stockholm re-write was important because it reduced the simulation to its core components and reduced the code savagely. The code-base was reduced by 40% with no specification loss and every component became transparent. This produced a solid simulation core - the island, the biology and the sentient movement; the user interface - graphical user interface or command-line; and the platform specific code.
The re-write also produced a new transparent file format that can be read and edited through a normal text editor. The re-write allowed for a progressive OpenGL port. This OpenGL port allows for a conversion to any platform that supports GLUT.
COGNITIVE SIMULATION REDEVELOPMENT
Since the simulation source was re-released, the cognitive simulation component has stuck out like a sore thumb. It consumes disproportionate quantities of memory and whilst the solution is aesthetic it doesn't feedback into the broader simulation.
Whilst other more pressing issues have taken priority, the cognitive simulation components have been a toggle feature which appear to be increasingly incompatible with the memory and graphics development of the simulation. A reductive cognitive simulation method is needed to allow for the memory and processor constraints. A less memory consuming cognitive model would also reduce processor use. The ideal cognitive simulation would allow for a large number of sentient entities. The island should hold at least twenty apes - potentially two tribes. This new cognitive simulation method must also be adaptable to the cat population of the island with different cognition parameters.
This research and development effort will be given a new CVS tag and a very simple visualisation engine to avoid implementation issues. It is intended that this development will start some time before March 2002.
NOBLE APE'S THIRD CD
It has been two and a half years since the last Noble Ape's CD/CDROM. There was 18 months between the first two CD/CDROMs. The development of better open source delivery mechanisms (daily CVS etc) justifies this CD to be the first solely audio CD. The digital information for the Noble Ape Project is updated so rapidly a CDROM would become quickly out of date.
Prior to the Noble Ape Project, I performed and recorded a rougher edge music than was featured on the first two Noble Ape CD/CDROMs. The maturing of the Noble Ape Project makes me feel more comfortable recording and releasing more challenging material. There are a number of practical difficulties. I had amassed a lot of audio equipment in Australia. A small fraction of this has been reassembled since I arrived in the UK.
My recording history, particularly my digital recording experience, shows that there are two quite distinct recording processes that need to occur. The background or musical component of the recording needs to be recorded and then words need to fit to this music. This dichotomy produces a signature - taking a step back - style which I want to maintain in this new recording.
Due to the lack of equipment, I will avoid creating fictional time lines. I intend to have the equipment and a majority of the material amassed by June 2002 for a release planned towards the end of this year. This kind of time frame has proven realistic in the past.
Tom Barbalet, 5 January 2002.