( home ) - [ simulation ] - ( podcast | monthly updates ) - [ documents | music ] - ( contact/bio )

Noble Ape and Digital Space:

Moon Monkeys?

This document provides an overview of the Noble Ape Simulation;


In terms of autonomous components that could easily be ported through source code, static libraries or DLLs to DigitalSpace's graphics and physics environment;



The Noble Ape Simulation has been in development for nearly a decade.


It features a number of autonomous simulation components including;

  • Landscape simulation
  • Biological simulation
  • Weather simulation
  • Sentient creature (Noble Ape) simulation
  • Simple intelligent-agent scripting language (ApeScript)

    All these components can be used together or separately, or alternatively in any combination with external simulation components. For example;

  • Noble Ape's biological simulation run over real world landscapes
  • Noble Ape's sentient creature simulation run over real world landscapes
  • ApeScript run for other intelligent agents
  • Noble Ape's weather simulation run over real world cityscapes

    In recent months, discussion with AIR's Dave Kerr has related to an initial collaboration discussion for providing Noble Apes as intelligent agents in his AIR environment;


    In the same mailout that announced this;


    A discussion of the True3D environment was also launched.


    On February 12, 2006, Tom Barbalet(left), Todd Furmanski and Bruce Damer met in Santa Monica to discuss a collaboration relating to the existing Noble Ape Simulation components listed above, and Bruce's DigitalSpaces environment.

    Specifically that Noble Ape ''agents'' (removed from the Noble Ape environment) exist in any created (or based-on real-world) environment produced by DigitalSpaces. From the background discussion, this was clearly doable and in a relatively short time frame. The specifics of the interface and the kind of functionality would need to be decided.


    In addition to the documentation on the Noble Ape site, the language was also launched through Wikipedia to allow true language scrutiny through the computer language scholars and students reading through the Wikipedia language definitions;


    The Wikipedia entry chronicles the initial ideas that went into ApeScript as well as the current implementation through the referenced mailout posts. Aside from the features outline in the Noble Ape manual discussion of ApeScript;


       (1)   Simple language - easy to learn, easy to maintain
       (2)   Stable memory footprint - no allocation/free issues
       (3)   Minimal crashs - good error handling and abort
       (4)   Small code - maintains the Simulation's small size

    The addition of debug output built into the language;


    And a series of advanced use improvements to the language;


    ApeScript can be used in a wide variety of arithmetic applications relating to intelligent agents or general simulation. The interpreted code has been optimised for arithmetic execution.

    Sentient Simulation

    The Noble Ape Simulation supports either the traditional hardcoded movement or fully ApeScript defined movement. This option of either simplicity or scriptability is available. The current version of the Simulation selects the method used based on an ApeScript file being loaded. The Simulation will start normally in the hardcoded environment and allow ApeScript to be loaded as required. Alternatively as tested through the command line version of the Simulation an ApeScript file can be specified to run through the Simulation at the start.

    Currently, ApeScript relates solely to the sentient simulation. It doesn't run the biological, weather or landscape simulation (time of day etc). This is possible too. Although, mathematically intensive processes like the weather simulation still wouldn't be computationally feasible in real-time through ApeScript currently.

    The cognitive simulation is relatively central to the hardcoded version of the Simulation and optional (on by default) in the ApeScript version of the sentient simulation. This gives some freedom in the agent simulation method used through ApeScript. At least one advanced ApeScript user turns the cognitive simulation off and uses the ''brain space'' as actual memory. This is perfectly feasible and enables a far greater number of traditional or new intelligent agent methods to be used.

    Landscape and Weather Simulations

    The landscape and weather simulations are autonomous components of the Noble Ape Simulation too. The landscape (currently 256 x 256 large tiles) is generated using two 16-bit seed values and follows the legacy of the landscape generation in Planet Noble Ape;


    The weather simulation can work in either flat or spherical environments similar to the landscape simulation. It is based on localised pressure equations and produces clouds and rain in the existing implementation of the Noble Ape Simulation. It was originally written for Planet Noble Ape in 2001 and has undergone (real world) days of stress testing to eliminate anomalies in the underlying mathematics.

    Biological Simulation

    The biological simulation is based on quantum mechanics - the idea that the landscape can be the source of all the biological properties of the environment. This means for any landscape, a (long term) stable biological environment can exist and include a wide variety of plants and animals in the simulated ecosystem. Of the simulation components in Noble Ape, the biological simulation is the implicit through the current implementation. The biological components can be accessed through ApeScript;


    However there is no visualisation tool currently included in the Noble Ape Simulation that interfaces with the biological simulation. This would be a great component of any graphics port of the entire Simulation or components of the Simulation.


    This document outlines what is available in the Noble Ape Simulation currently. The method of interfacing the Simulation components to DigitalSpace's environment is yet to be defined. Hopefully this document will provide a starting point.

    Tom Barbalet, 14 February 2006.

  • ( home ) - [ simulation ] - ( podcast | monthly updates ) - [ documents | music ] - ( contact/bio )