Polyworld and its build instructions have been updated for Mac OS X 10.9. Due to Apple's change to clang/llvm, plus recent Qt installation changes, and new licensing policies from Enthought, Polyworld build methods have had to change a fair bit. Ain't bit rot grand?
Polyworld and its build instructions have been updated for Mac OS X 10.6 (Snow Leopard). Certain issues regarding default architectures and Xcode build settings have resulted in a decision to stick with i386 (instead of x86_64) on Snow Leopard, which has implications for building gsl. And 10.4 (Tiger) support is currently on life support, with only the command-line builds working there, short of some minor surgery on the part of the builder. More details on the build instructions page:... read more
Polyworld now requires Qt 4.5 (or later).
Qt 4.5 greatly enhances Qt's compatibility with Mac OS X. Frameworks and executables are placed in correct, default locations, eliminating the need for various environment variables and manually entered code paths in Xcode, substantially simplifying Polyworld's installation (and maintenance). Qt 4.5 also can be installed from binary libraries rather than requiring a multi-hour build from source, further simplifying Polyworld's initial installation. But in order to move to Qt 4.5, enough things had to change that Polyworld will now only build with Qt 4.5 (or later).... read more
Command line arguments to PwMoviePlayer have been implemented to make it easy to run and script for demo purposes. New options are:
-f movieFile
-l legendFile
-e endFrame
-r frameRate
In addition, the Xcode project has been modified to support easy static builds. The Xcode project now requires QTS and GSL source tree variables (in addition to the previously required QT).
The Polyworld installation and build web page has been updated with instructions to match this 1.5.2 release. See:
http://beanblossom.in.us/larryy/BuildingPolyworld.html
The initial setup and build process for Polyworld has been streamlined and documented. See http://beanblossom.in.us/larryy/BuildingPolyworld.html for step-by-step instructions.
(Note: There have been many unannounced updates since the last News posting, including the ability to use complexity as a fitness function and the ability to carry out parallel "driven" vs. "passive" evolutionary runs, using McShea's terms, to investigate the existence and nature of any evolutionary "arrow of complexity".)
Both FoodBands and the original uniform random distribution of food have been replaced with Matt Whitehead's new FoodPatch objects. They allow any number of rectangular or elliptical patches, with any amount of food and arbitrary food growth rates distrributed uniformly, with a linear probability distribution, or with a Gaussian/normal probability distribution, either probabilistically or rigidly/deterministically.... read more
Polyworld has been updated to use Qt 4.1, gcc 4.0, Xcode 2.2, and -shared (as opposed to -static) libraries. Moving to Qt 4.1, gcc 4.0, and Xcode 2.2 is just to keep up with the latest tools. Using shared/dynamic libraries greatly speeds up linking, facilitating the development cycle.
Thanks to Strick & Virgil, the current source base now builds on linux, while continuing to build on Mac OS X. It is currently necessary to swap the polyworld.pro file (see README.txt), but that will be fixed also in a later update, as Qt supports platform-specific code in .pro files.
The worldfile revision has been turned up to 11 and now allows run-time enabling of brain anatomy and function (neural activity) recording. Recordings can be enabled for all critters turning on brainAnatomyRecordAll and brainFunctionRecordAll (in the worldfile). Recordings of the best-so-far, based on Polyworld's heuristic fitness function, can be enabled at a desired frequency (in time-steps), by setting bestSoFarBrainAnatonomyRecordFrequency and bestSoFarBrainFunctionRecordFrequency to the desired number of time-steps between archived recordings. (All non-archived recordings are deleted, when used in this "bestSoFar" mode.)
Polyworld has been ported to Qt 4.0. It does not require the Qt3-compatibility macros or libs. It does, however, now require Qt 4.0 to build.