What's New?
NetLogo 4.1.3 User Manual
Feedback from users is very valuable to us in designing and improving
NetLogo. We'd like to hear from you. Please send comments,
suggestions, and questions to feedback@ccl.northwestern.edu,
and bug reports to bugs@ccl.northwestern.edu.
Version 4.1.3 (April 2011)
- improvements:
- the GIS extension now works in applets
- new Code Example: Label Position Example
- fixes:
- fixed bug in diffuse primitive causing it to fail in
vertical cylinder worlds
- fixed bugs where aborting a BehaviorSpace experiment could
cause an error or memory leak
- fixed bug where a turtle forever button could fail if
multiple buttons were pressed quickly
- fixed bug in scale-color primitive where rounding
could cause an out-of-range color to be reported
- fixed matrix extension bug where matrix creation primitives
didn't sanity check their inputs
- fixed GoGo extension bug where failed initialization of GoGo
led to subsequent errors
- fixed intermittent plotting bug
- for Windows users, bundle Java 6 Update 24
- API changes:
- controlling API now allows a new model to be opened in an
existing InterfaceComponent
- controlling API now supports attaching listeners to receive
notifications of user actions
Version 4.1.2 (December 2010)
- fixes:
- Windows installer now adds NetLogo 3D to the Start menu
- fixed BehaviorSpace issue where compile errors in experiment
setups caused exceptions
- fixed regression in 4.1.1 where extension-defined data types
could cause errors in the GUI (e.g. in agent monitors)
- fixed extensions issues where NetLogo could get confused
about what extensions are active
- fixed NetLogo 3D so the stamp command works for
links
- fixed bug where pow primitive could give NaN result
- fixed bug where the F1 key didn't work on several
primitives
- fixed bitmap extension so importing works in applets
- fixed bugs where typing certain combinations of keys or
characters in the Command Center caused exceptions
- fixed agentset building primitives to give correct error
messages on invalid inputs
- fixed bug where logging of global variables didn't work
under Java Web Start
- fixed matrix extension issue where matrix:dimensions
was incorrectly typed
- HubNet clients now limit the rate at which they send
messages, to conserve bandwidth
- for Windows users, bundle Java 6 Update 22
- GIS extension now includes license information
- API changes:
- extensions API: deprecated runCommand and runReporter methods
- controlling API: added possibleViewUpdate() and
tickCounterChanged() methods to NetLogoListener
- logging: changes to the tick counter are now logged (exactly
as if ticks was a global variable)
Version 4.1.1 (August 2010)
- additions:
- new matrix extension for matrix manipulation
- new behaviorspace-run-number reporter
- new biology model: Flocking Vee Formations
- new Donate item on Help menu
- fixes:
- fixed models: Dining Philosophers, Sandpile 3D, Shepherds,
Connected Chemistry 8 Gas Particle Sandbox
- on Windows, bundle Java 6 Update 21
- fixed embedding API bug where two models could not be
embedded in the same window
- fixed bug where in worlds with certain unusual combinations
of settings, passing specific unusual inputs (involving patch
boundaries) to primitives including patch-at and
patch-at-heading-and-distance could cause a Java
exception
- fixed bug causing some models with plots to intermittently
produce spurious error messages
- fixed (we hope) intermittent bug where editing code in the
procedures tab or command center could cause spurious
ArrayIndexOutOfBoundsException errors
- fixed bug in 2D view where partially transparent turtles were
sometimes rendered incorrectly in some sizes
- fixed bug where saved applets that used extensions didn't
load additional jars used by the extension
- fixed bug where closing a browser window containing applet
could cause a spurious error dialog to appear
- fixed bug where the link primitive could fail when
given a non-existent turtle number
- fixed bug where the mini views in agent inspectors could have
incorrect appearance with very small patch grids
- fixed bug where the context menu on the view in applets
contained some non-working items
- fixed bug where movie primitives didn't fail gracefully
when used in parallel BehaviorSpace runs
- fixed bug where changing a plot pen's mode on the fly
didn't refresh the plot
- fixed bug causing models using links not to work in the
NetLogo Logging application
- fixed bug where new-seed primitive could
theoretically return duplicate seeds in a parallel BehaviorSpace
experiment
- fixed sound extension bug where the wrong instrument
sometimes played
- fixed bug where using follow could cause turtle labels not to
be drawn
- fixed bug where the remove primitive didn't fail
gracefully if given incorrect input
- fixed HubNet bug where the drawing layer wasn't always
mirrored to clients
- fixed GIS extension bug where clipping of coordinates to
user's GIS envelope was causing errors saving link datasets
- fixed bitmap extension so it works in applets
- on Mac OS X, always force use of the Quartz renderer not the
Sun renderer
Version 4.1 (December 2009)
- system:
- NetLogo 3D is no longer a separate download (but is still a
separate application)
- Java 5 or higher is now required
- NetLogo and its applets no longer support Mac OS X 10.2, Mac
OS X 10.3, Windows 98, or Windows ME
- the Windows installer and launcher are new and should be
compatible with more systems
- on Windows, we now bundle Java 6 (instead of Java 5)
- on 64-bit Linux, 3D now works
- on Mac OS X, the application now works with 64-bit Java
(though by default it still runs in 32-bit)
- BehaviorSpace is now free and open source software (under the
LGPL)
- features:
- BehaviorSpace is now multi-threaded so runs happen in
parallel
- Controlling API now supports embedding of models in a
surrounding application
- automatic indenter for code in the Procedures tab
- Models Library dialog now offers searching
- links, turtles, and the drawing may now be partially
transparent (RGB colors only, 2D view only)
- agent monitors now include a mini-view centered on the agent
- extensions that use additional jars now work in applets
- the sound extension is now supported in applets
- new resize-world and set-patch-size
commands allow changing the dimensions of the patch grid
- applet web pages now include color-coded Procedures tab
contents
- new bitmap and QTJ (QuickTime for Java) extensions allow
importing image and video data
- the GoGo extension now supports "burst mode"
- language changes:
-
set [variable] of ... is no longer allowed; use
ask ... [ set variable ... ] instead
- the with-min and with-max primitives now
have the same precedence as with
- user interface changes:
- new menu item on Tools menu closes all agent monitors
- new NetLogo Users Group item on Help menu
- the snap-to-grid setting in the Interface tab is now saved
with the model
- turning off turtle and link shapes is no longer supported
- the 3D and 2D views may now both be active at the same time
(for 2D models)
- improved fonts on Windows
- improved look-and-feel on Linux
- bug fixes:
- a single web page may now contain multiple NetLogo applets
- the __includes keyword now works in applets
- the profiler extension is now much faster
- fixed system dynamics modeler bug where incorrectly
parenthesized code was generated for some expressions
- fixed system dynamics modeler bug where some models did not
work correctly when run in headless mode
- the array and table extensions are now fully compatible with
exporting and importing worlds
- some link primitives are now faster on dense networks
- fixed bug where using the precision primitive with
negative precisions could give non-integer results
- improved error detection on extremely large integers
- fixed bug in forward primitive in non-toroidal
worlds
- fixed bug where link agentsets sometimes behaved incorrectly
when links died
- fixed bug in world importing where links stored in agent
variables weren't imported correctly
- fixed bug in run and runresult primitives
where running the same string from different procedures could
cause a Java exception
- fixed bug where in some situations zero wasn't always
considered equal to itself (e.g. in the
remove-duplicates primitive)
- fixed bug affecting 3D models where layout-circle
and tie could cause a Java exception
- fixed bug where the NetLogo window tended to jump between
monitors on multiple-monitor systems
- fixed bug in text editing where a single edit sometimes
required multiple Undo actions to undo
- fixed bug where export-interface didn't always
work properly on Windows and Linux
- fixed bug where extensions that use native libraries (e.g.
GoGo) could not be reloaded
- HubNet:
- the HubNet client is now available as a Java applet which can
be embedded in web pages, so users can participate in an activity
without installing NetLogo
- new feature: support for individualized client views, via:
- client overrides (hubnet-send-override)
- client perspectives (hubnet-send-watch,
hubnet-send-follow)
- new commands hubnet-send-message,
hubnet-broadcast-message,
hubnet-send-clear-output, and
hubnet-broadcast-clear-output
- new event type: mouse up events are now sent
- fixed longstanding performance issue that was causing
activities to use excessive amounts of bandwidth (especially
activities with many monitors)
- assorted bugfixes to view mirroring and plot mirroring
- removed obsolete hubnet-send-view command
- new activity: Memory HubNet
- improved activity: Sampler (overhauled, now verified)
- improved Code Example: Template
- new Code Examples: Client Perspective Example, Client
Overrides Example
- models:
- NIELS suite of electromagnetism models expanded and revamped,
and is now found in Curricular Models
- new biology model: Sunflower Emergent
- new social science models: Sugarscape 1, 2 and 3
- new computer science models: Simulated Annealing, PageRank
- new game: Projectile Attack
- new code examples: Move Towards Target Example, Transparency
Example
- new evolution model: Bug Hunt Drift (in Curricular Models)
- new ProbLab probability models (in Curricular Models): Histo
Blocks, 4 Blocks, 4 Block Stalagmites, 4 Block Two Stalagmites,
Sampler Solo
- improved evolution models: Bug Hunt Camouflage (includes RGB
genes, measure of genetic variance), Bird Breeder (conceptual
fix), Bug Hunt Speeds (overhaul)
- improved Biology models: Daisyworld (bugfix), Flocking
(bugfix), Wolf Sheep Predation (bugfix)
- improved Earth Science model: Percolation (colors, clarified
info)
- improved Computer Science models: Artificial Neural Net (code
overhaul), Dining Philosophers (simplified)
- improved chemistry models: Simple Kinetics 1 & 2
(bugfix), Connected Chemistry 3 Circular Particles (bugfix)
- improved code examples: Moore and Von Neumann Example
(simpler code)
- BehaviorSpace fixes:
- stop conditions now run without affecting the main random
generator
- reduced memory usage when not generating spreadsheet output
- aborting an experiment no longer discards accumulated
spreadsheet output
- the options for running from the command line have changed
(table output is no longer generated by default)
- improved error reporting when running headless
- extensions API:
- the interfaces in org.nlogo.api involving agents and
agentsets now have many additional methods
- extensions that define custom data types can now add support
for import and export of those types
- extension primitives may now take a variable number of inputs
- an example extension written in Scala is now included
Version 4.0.5 (December 2009)
Version 4.0.4 (November 2008)
- GIS extension for handling geographic data
- applets now include "powered by NetLogo" notice, linked
to NetLogo site
- bugfixes
Version 4.0 (September 2007)
- features:
- most models now run somewhat faster:
- while results vary from model to model, typical speedup
is around 1.5x
- the speedup comes from an improved compiler that now
partially compiles NetLogo code into Java byte code
- links are now their own type of agent, alongside turtles and
patches; this is useful for network models, geometry models, and
much else
- new Link Shapes Editor lets you control the appearance of
links
- logging allows researchers to record students' actions
for later analysis
- built in tick counter for keeping track of model time (see
language changes, below)
- new view update system:
- there are now two view update modes, tick-based and
continuous
- continuous is the default when you start up NetLogo;
tick-based is the default for most models in the Models
Library; continuous update mode is useful for non-tick based
models like Termites, but may also be useful during debugging
- tick-based updates are faster for most models and avoid
displaying intermediate state
- buttons no longer have a "force view update"
checkbox; most models should use tick and/or
display instead
- improved speed slider:
- you can now use the slider to "fast forward" a
model (by updating the view less often)
- in tick-based update mode, going slower pauses between
ticks rather than showing intermediate states
- in continuous update mode, going slower shows
intermediate states; you can even go so slow you can watch
agents move one at a time
- new input boxes in Interface tab permit entering text,
numbers, colors, or NetLogo code as model parameters
- arrays and hash tables are now supported via extensions (see
Arrays & Tables section of User Manual)
- new profiler extension lets you measure the running times of
your procedures
- new experimental __includes keyword allows splitting
model code into multiple source files
- color variables can now contain either a NetLogo color or an
RGB color (as a list of three numbers)
- programmable slider bounds (you can now use any NetLogo
reporter as the min, max, or increment of a slider)
- exporting the world now includes all plot data, and when you
import a world the contents of plots are restored
- the sound extension can now play audio files in addition to
MIDI sounds
- notes, monitors and output areas now have editable font size
- the color of text in notes is now editable, and a note's
background may now optionally be transparent
- "Snap to Grid" in Interface tab
- added menu items (and F1 keyboard shortcut) for quickly
accessing NetLogo Dictionary
- sliders may now be vertical or horizontal
- model files with unsaved changes are auto-saved to a
temporary files directory, in case of freezes/crashes
- HubNet clients are much easier to edit now (the client is no
longer a separate model)
- Mathematica-NetLogo link provides a real-time link between
Mathematica and NetLogo, for controlling model runs and
visualizing and analyzing results after the fact or in real time
- the run and runresult primitives are now
drastically faster when called repeatedly on the same string
- internally, lists are now represented as linked lists, not
arrays
- plotting is now supported when running headless
- language changes:
- the ask command now always runs "without
interruption"; if you need the old-style concurrent
behavior, use ask-concurrent
- turtle who numbers are now never reused until
clear-turtles or clear-all
- all numbers are now represented internally using double
precision floating point
- the + operator only adds numbers now; it doesn't
work on strings or lists anymore; models must be changed by hand
to use word instead for strings and sentence
instead for numbers
-
create-turtles now makes turtles with random headings
and colors; to get evenly spaced turtles with sequential colors
and id numbers use create-ordered-turtles
(cro for short)
- extension primitives must now (by default) be referred to
using the extension name, e.g. sound:drums instead of
just drums
- new uphill, uphill4, downhill, and
downhill4 commands for doing hill-climbing replace old
reporters with same names
- new tick counter primitives: tick, ticks,
tick-advance, reset-ticks
- new primitive of replaces VARIABLE-of,
value-from, values-from
- other new primitives: all?, other,
move-to, turtle-set, patch-set,
link-set, no-turtles, no-patches,
no-links, tie, untie, min-n-of,
max-n-of, with-local-randomness,
file-flush, base-colors,
plot-pen-exists?, import-pcolors-rgb,
netlogo-applet?
Version 3.1 (April 2006)
- topologies (wrapping at world edges now optional)
- automatically randomized ordering of agentsets
- experimental link primitives
Version 3.0 (September 2005)
- 3D view (for 2D models)
- System Dynamics Modeler
-
follow, ride and watch commands for
tracking particular agents
- "drawing layer" for marks left by turtles
- GoGo extension for robotics and devices
- buttons take turns now (instead of interleaving their code with
each other)
Version 2.1 (December 2004)
- "headless" mode for command line operation
- "action keys" let buttons be triggered by keypresses
- makes QuickTime movies of models
- add "output area" to models
- new primitives including let and carefully
Version 2.0.2 (August 2004)
- extensions API for writing commands and reporters in Java
- controlling API for controlling NetLogo from external Java code
- sound extension for making sounds and music
Version 2.0 (December 2003)
- full support for Mac OS X and Linux
- Windows 95, MacOS 8/9 no longer supported
- fast, flicker-free, non-grid-based graphics
- strict math mode for identical results cross-platform
Version 1.3 (June 2003)
- view control strip
- choosers
- new primitives including run, runresult,
map, foreach, filter, reduce
- some primitives accept a variable number of inputs
Version 1.2 (March 2003)
Version 1.1 (July 2002)
- "Save as Applet"
- printer support
- Procedures menu
- scrollable Interface tab
Version 1.0 (April 2002)
- initial release (after a series of betas)