-
-
-
Error Summary
Error |
Description |
ConvertedError |
Thrown by Simulator when a Creature that has been converted to
another species attempts to take an action.
|
Package Description
I recommend that you start with the documentation for Creature.
Changelog
2.1.27
- Added Dalek and Brain tournament winners
- Added ns_insurgency map
2.1.26
- Darwin now prints summary statistics at the end of each game
- NS Tournaments now write out tournament-stats.csv describing the result in detail
2.1.25
- Changed the way that the spawn queue is processed to guarantee
that every creature's run() method executes before its onDeath
method. Without this, it was hard to guarantee consistency for
static state in creatures if they happened to be killed immediately after
spawning. This allows a spawning creature to attack before it can
possibly be killed, which changes the nature of front-line battles
(an undesired but necessary impact of the change).
2.1.24
- The inspector now reports the percentage of time that a creature spent in computation vs. taking actions
- Darwin now calibrates the "virtual CPU" performance, so that virtual computation times should be roughly equivalent across computers. This eliminates the inadvertant advantage creatures that compute heavily had on fast CPUs and the penalty that they suffered on slow CPUs. I tuned the performance on a 2010 MacBook Pro to be 2.5x slower, approximately matching the performance of the 2006 MacBook Pro on which Darwin was originally written.
- Coarsely accounted for the overhead in swapping threads. This change slightly favors creatures that perform significant computation.
- Reduced the visible impact rendering of pheromones on the 3D map
- Updated PsyduckATS icons
- Improved tournament documentation in Player's Handbook
- Simulator now computes aggregate statistics for each species
- Increased NS tournaments to four trials per pair of creatures
- Made Tournament fonts smaller to show more data
2.1.23
- Added mz_qr 2011 contest map
- Fixed a bug where timing out quickly in a tournament on a maze
map would average in a near-zero time, allowing an artificial
win
2.1.22
- Changed Tortoise's strategy (about 2x faster now)
- Doubled the cost of pheromones to 200000
- Slightly reduced the cost of moveBackward to 700000
- Centered characters when rendered in 3D mode
2.1.21
- Added error checking for unset PATH variable on Windows
- Made shell scripts not print errors on Linux
2.1.20
- Added Skunk sample maze creature
- Added fancy formatting to the Player's Handbook
- Corrected the spelling of "pheromone" everywhere
- Renamed Type.THORN -> Type.HAZARD and added backwards-compatible aliases
2.1.19
- Renamed the Programmer Guide to the Player's Handbook
- Added clearer startup instructions to the Player's Handbook and
moved advanced topics to the end
- Restored the Inspector; however, it only works correctly when the map is not scaled down.
- Created an application icon
- Added tooltips for seeing pheremones in 2D view
2.1.18
- Visualized pheremones in 2D and 3D
- Renamed map extension from .txt to .map
- Minor corrections in Programming Guide
- Added ns_maelstrom map
- Added ns_tunnel map
- Added AOE graphics pack
- Visual index of maps in Programming Guide
2.1.17
- Darwin now detects out-of-date creatures and offers to recompile them
2.1.16
- Shell scripts for easy compilation and running of Darwing creatures on Windows, OS X, and Linux
- Darwin GUI now resizes to allow display of huge maps or running at low resolution
- Added a purely cosmetic third wall color (currently yellow)
- Added graphics pack support and default.gfx
- Added minecraft.gfx
- Added experimental fog support in Observation and graphics packs
- Added experimental pheremone support through Creature.smell and Creature.emitPheremone
- Broke the Inspector
2.1.15
- 2011 Fall Natural Selection tournament winners PsyduckATS and ProbeGAWPA added to the distribution
- New map (from the tournament): Tanhauser Gate (ns_tanhauser.txt)
2.1.14
- New map: Chokepoint (ns_choke.txt). No empty space, with a single-square front line
- Observation now has a useful toString method to help with debugging
- The full NoClassDefFoundError message now prints for creatures that are
prohibited from loading because they use a restricted class
- Simulator now uses a thread pool for onDeath methods to reduce the number of threads spawned
- Fixed unbounded thread consumption introduced since 2.1.10
2.1.13
- Tournament now displays creature names (and colors) over map
- Tournament now displays map title in the window title bar
- Tournament now prints Natural Selection results more readably in the log window
- Attempted to work around running out of threads on some systems by having Simulator no longer put death threads in the creature threadgroup
- Made the last Apple reachable on ns_resource.txt
- New (unwinnable) map: ns_pathfinding.txt for testing path finding algorithms
2.1.12
- Direction.fromInt helper method
- Direction.forward version that mutates a point rather than allocating for efficiency
- Resized the Inspector window to not need scrollbars at start
- Simulator now prints the stack trace for any creature that times out and is involuntarily Appled to help with debugging
2.1.11
- Converted creatures receive their parent's time (before the attack) plus DELAY_COST. This puts them very close to the
top of the turn queue but does not automatically allow them to run next.
- Converted creatures face perpendicular to their parent 40% of
the time. Combined with the previous rule, this allows two creatures
working together to root out one that is camping in a U-cave without
allowing a creature that moves first at a line of battle to sweep the
other by positive feedback. It is intentionally still hard to attack
at creatures that are in a defensive position.
- New map: Courts of Chaos (ns_chaos.txt), which like ns_resource favors exploration.
2.1.10
- New map: ns_gauntlet.txt, featuring a sinuous back path and a
straightforward passage down a row of flytraps. Favors
creatures that can take on Flytraps reliably and those that
explore well.
- Darwin help box now shows Simulator constants so that players
need not check the source code to see the latest values.
- Removed Creature.isAlive, which had been deprecated throughout
several point releases
- Observation.className is now null unless security is disabled,
to prevent collusion between creature classes. This unfortunately
also eliminates targeted strategies against specific creatures,
however doing so was not particularly robust and in the spirit
of the game anyway. The change to upgrade code is nearly always
converting
obs.className != getClassName()
to
obs.classId != myclassId()
.
- Added Observation.classId, Creature.getClassId
- Added Creature.myClassId() and Creature.myId() to improve the readability of
subclass code
- PopulationGraph is now created by Darwin, not Simulator, to facilitate running Simulators under ssh.
2.1.09
- Added creature sounds
- Added Josh Geller's BamfJG 2011 maze victor
- Separated time limits and tournament speeds for mazes and natural selection maps
- Added Pirate victory sound
2.1.08
- Implemented Creature.onDeath
- Added Sound class and sound effects for Tournament
- Added a victory lap for winning creature in maze Tournaments
- Redesigned the Tournament GUI layout and maze rendering to increase
performance and clarity during public exhibitions
2.1.07
- Increased Simulator.TIME_LIMIT to 24 seconds to increase the number of
Total Dominations in Natural Selection mode
- Decreased Simulator.KILL_TIME to 0.2 seconds to prevent creatures from
forcing a stalemate by busy waiting in Creature.onDeath
- Improved rendering of the map in Tournament
- Deprecated Creature.isAlive (because it always returns true)
- Added Creature.onDeath event (not implemented yet)
- Renamed Creature.getTime to Creature.getGameTime and added documentation
to all "time" routines to help clarify their use
- Documentation now includes links to standard Java classes like java.awt.Dimension
- Added this changelog
2.1.06
- Fixed hyperlinks in javadoc for "See Also" categories
- Put a leading zero in the revision version number
to make the ordering clearer when we reach 2.1.10
2.1.5
- Changed the way that timing of Creatures is performed to make it more deterministic.
- Increased the cost of actions by 10x to achieve approximately the same
results as previous versions under the new timing method.
- Increased the real-world performance of running simulations at high speed
(No changes were recorded for versions 2.1.1 through 2.1.4)
2.1.0
- Creatures now run in turns instead of being simultaneously scheduled. This eliminates
the need for players to manage thread synchronization and makes the game much
easier to play, especially if you are using complicated strategies.