What's New?
NetLogo 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 2.0.0 (December 10, 2003)
- system:
- NetLogo now requires Java 1.4.1 or higher; on non-Macintosh systems,
1.4.2 is preferred
- NetLogo now fully supports Mac OS X (not beta anymore)
- Mac OS X users are strongly encouraged to get Java 1.4.1 Update 1
through Software Update
- NetLogo no longer supports Windows 95, MacOS 8, or MacOS 9
(however, we will continue to support NetLogo 1.3.x, which
works on those systems)
- our user interface now uses Java's Swing toolkit (and
not the older AWT toolkit)
- increased overall reliability
- NetLogo now functions more smoothly in many respects on
Linux (and probably other Unix systems)
- our recommended Java VM on Windows is now Sun 1.4.2 (instead of IBM 1.1.8);
we offer an installer that includes this VM
- content:
- new biology models: Fur, Sunflower
- new physics model: Turbulence
- new chemistry model: B-Z Reaction
- new computer science models: CA Continuous, CA Stochastic
- new social science model: Gridlock (non-HubNet version)
- new ProbLab model: Random Basic
- new code examples
One Turtle Per Patch Example, Look Ahead Example,
Grouping Turtles Example, User Interaction Example,
Neighborhoods Example, Partners Example, Random Seed Example,
- improved models: Plant Growth (bugfix), Fireflies (interface
changes), Decay (made flashing optional), Fire (new turtle-based
version is much faster), Percolation (much faster),
Ants (bugfix), Rugby (bugfix),
Segregation (bugfix, improved code)
- improved, and promoted out of "unverified":
Sand (bugfix), Wandering Letters (overhauled),
Lattice Gas Automaton, Dining Philosophers,
Turing Machine 2D, Division, CA Continuous, CA Stochastic,
Vector Fields, Random Basic, Prob Graphs Basic,
Stochastic Patchwork
- new sections in Programming Guide on "Random Numbers", "Buttons",
and "Math"
- restored missing punctuation marks in PDF version of User Manual
- features:
- the "Exact Turtle Positions" and "Turtle Sizes" settings have
been merged into a single option, and they are now much faster,
more reliable, and flicker-free; so much so, in fact, that they
are now on by default; turtle and patch labels are much faster
now too
- a full of suite of primitives for reading and writing
external files is now included; see the File I/O section
of the Programming Guide in the User Manual for details
- "strict math" mode is now always on, so model results are
reproducible cross-platform
- new "Export Graphics" and "Export Interface" menu items
and export-graphics and export-interface
primitives let you save the contents of the graphics window,
or the whole interface tab, to disk as a bitmap (in PNG format)
- the old BehaviorSpace tool has been scrapped; a replacement
version, still under development, is included; it does not yet have
all the functionality of the old tool, but is already useful,
and already has the following advantages over the old version:
- you can vary any global variables, not just sliders, but
also switches and choices, and any variable declared in
the procedures tab, and the values they range over can be
any values, not just numbers anymore
- you can enter arbitrary code for "setup" and "go" now;
you're not tied to using buttons that exist in your model
- you can vary variables in any order you want, rather than
BehaviorSpace choosing the order for you
- you can collect any result type you want, not just numbers
anymore
- added new "Update screen each iteration" checkbox for
forever buttons, for controlling whether a screen update
is forced each time through the button
- new primitive set-current-directory lets you
set the folder that file operations take place in
- user interface improvements:
- improved look and feel throughout the application
- mouse scroll wheels now work
- models library dialog can be navigated with the keyboard
- dialog boxes support cut, copy, and paste (using keyboard
shortcuts)
- the command center and the Procedures and Errors tabs now use the
exact same syntax highlighting editor, resolving many small
issues and inconsistencies in behavior
- added a "Go to User Community Models web page" button to the
Models Library dialog
- fixed longstanding Windows bug where the output area of the
command center could only hold 25K; there is now no known
limit
- the graphics window and plots are flicker-free now
- plots containing very large numbers of points are faster now
- you can now press the Enter or Return key to close dialog boxes
- when turtle shapes are off, if the patch size is at least 5
then turtles are now drawn slightly smaller than the patches, so
if a turtle is in the center of its patch, you can still see the
patch color around its edges
- agent monitors now report syntax errors to you instead of
silently ignoring them
- graphics control strip icons have tooltips now
- improved the automatic sizing and positioning of the main
NetLogo window so that available screen real estate is more
fully utilized
- changed the keyboard shortcuts for zooming, indenting, and
commenting to more standard choices
- fixed bug where if you made changes to your code in the Errors tab
and then saved your model without switching tabs first, your
changes wouldn't be saved
- language changes:
- changes in random number generation:
- NetLogo now uses the research-grade Mersenne Twister algorithm
to generate all random events
- added new random-gamma primitive for generating
gamma-distributed random numbers
- added new random-float primitive that always returns
a floating point number
- changed random primitive so it always returns
an integer, not a floating point number
- added new random-int-or-float primitive that behaves
the way random used to; when opening an old NetLogo
1.x model, all uses of random will automatically be
changed to random-int-or-float, but we suggest you
edit the model and change every occurrence to either random
or random-float, as appropriate
- atan 0 0 is now a runtime error, and so is using
towards (and towardsxy and so on) to ask
for the heading from a point that same point
- we now support unary minus if you put parentheses around it,
so for example you can now write (- x)
- added new n-values reporter for conveniently
constructing lists by repeatedly running a reporter
- added new reporters patch-ahead, patch-right-and-ahead,
patch-left-and-ahead, and
patch-at-heading-and-distance
(helpful for giving turtles "vision", among other uses)
- added new shuffle reporter for shuffling a list
- added new modes reporter for finding the most frequently
appearing items in a list
- added new remove-item primitive for removing an
item from a list (or string) at a specified position
- added new turtles-on primitive for collecting
the set of turtles (or turtles of a particular breed)
standing on a patch or set of patches
- added new ifelse-value reporter
(lets you put conditionals in reporters; this is the same
as what StarLogoT called ifelse-report)
- added new in-radius-nowrap reporter (like
in-radius, but doesn't wrap around screen edges)
- the display primitive now has the additional function
of forcing an immediate screen update, since the graphics window
in NetLogo 2.0 sometimes skips frames
- new primitives turtles-from and patches-from
provide a powerful new way to construct agentsets
- random-one-of and random-n-of now work
on lists too, not just agentsets
- the show primitive now puts double quotes around strings,
so you can distinguish them from other values; there is also
a new write primitive that behaves the same way, but
doesn't show the agent
- butfirst and butlast now cause a runtime
error if given an empty list as input
- the color constants (red, blue, and so on) are
now floating point numbers, not integers, since turtle and patch
colors are always floating point
- the display and no-display commands may now be
used by turtles and patches as well as by the observer
- primitives such as import-world and
hubnet-set-client-interface now interpret relative
pathnames as relative to the location of the model, not relative
to the location of the application
- old models will automatically be updated to reflect the following
changes when opened in the new version:
- dropped support for pc as an alias for pcolor
- renamed any to any?
and user-yes-or-no to user-yes-or-no?
- renamed histogram to histogram-from
- dropped support for set-plot-pen as an alias for
create-temporary-plot-pen
- engine fixes:
- fixed bug where using report or
stop inside a repeat or foreach
loop could cause incorrect results or a Java exception
- fixed bug where some primitives (including
value-from, -of, distance,
towards, and inspect) did not deal
properly with dead turtles
- fixed bug where every didn't work as expected
when used inside an explicit without-interruption
- fixed issue where using
without-interruption always caused an agent's turn to
end after the code inside ran
- fixed bug where under certain very obscure circumstances
dead turtles could continue to execute code for a short time
after dying
- fixed obscure bug where if a turtle agentset was stored in a
variable and in a turtle in the set died, then under certain
circumstances, code that subsequently tried to use the agentset
could cause a Java exception
- fixed bug where using hatch with a negative number
could cause a Java exception (now it just does nothing)
- fixed bug where min and max
didn't signal a runtime error in every case if given an
list with no numbers in it
- fixed towards (and towards-nowrap,
towardsxy, and towardsxy-nowrap) to return
numbers in the range [0,360), not [-90,270) as they previously did
- fixed bug where numbers in sliders displayed in scientific
notation could be shown with an incorrect exponent
- fixed minor issue where remove primitive evaluated
its arguments right-to-left instead of left-to-right
- computer HubNet improvements:
- computer HubNet is no longer alpha or beta, but a normal
release
- improved reliability
- greatly improved graphics window mirroring features and
performance; this is now no longer considered an "experimental"
feature
- improved activity: Tragedy of the Commons (now out of
unverified)
- new unverified activities: Polling Advanced,
Gridlock Alternate,
Beer Game, Beer Game Alternate 1, Beer Game Alternate 2
- server now asks for a name for the computer that is running
the activity; this can be the facilitator's name or some other name;
it is displayed on the clients in the server menu
- server menu on clients now only lists servers
that are running a compatible version of NetLogo,
and the version is also checked when connecting
- you can now export data from a plot in a client
(by right or control clicking)
- new feature: text input widgets in clients
Version 1.3.1 (September 2003)
- system:
- on Mac OS X systems running Java 1.4.1 Update 1, don't give
spurious warning that the wrong version of Java is installed
- documentation:
- fixed some broken links in the User Manual
- engine fixes:
- fixed bug in the at-points reporter that could cause an
agentset with duplicates in it to be returned
- fixed obscure bug in the die command that caused some
models (such as Gas Chromatography) to behave incorrectly
- fixed bug where correct code using the reduce primitive
would sometimes fail to compile
- fixed bug in "Import World" where if the import file contained
the empty string, the built-in variable would be set to 0.0
without notifying the user (this bug should only have affected
users who edited a world file using another application)
- interface fixes:
- compiler now gives a clearer error message if you try to use a
non-ASCII character in an identifier; non-ASCII characters are
now permissible in some other contexts (such as in strings)
where they weren't in NetLogo 1.3
- fixed obscure bug where occasionally models were saved with turtle
shapes in a format that couldn't be loaded on certain Java virtual
machines
- fixed bug where hitting the close box in the dialog that opens
when creating a new widget in the interface tab could cause
a Java exception
Version 1.3 (June 2003)
- graphics window control strip
- choice widgets
- "Export World" now inter-operates properly with
Excel and other programs
- Edit menu now has items for commenting/indenting
- redesigned interface toolbar
- strict math mode so results are identical on all platforms
(requires Java 1.3 or higher)
- new primitives: run/runresult,
map/foreach/filter/reduce, sort-by,
self, asin/acos
- some primitives such as list now accept a variable number
of inputs
- many improvements to usability and reliability of computer HubNet
Version 1.2 (March 2003)
- models run faster now
- beta-level support for running as a native application on Mac OS X
- running the full authoring environment as an applet
in a web browser is no longer supported (saving individual
models as applets is still supported, however)
- alpha release of computer HubNet: formerly HubNet required the TI
Navigator calculator network to operate; now you can use it
over TCP/IP with networks of laptop or desktop computers
- many new primitives and other language improvements
- display of coordinates when mousing over plots
Version 1.1 (July 2002)
- models run faster now
- "Save as Applet" lets you embed your model in any web page
- printer support
- Procedures menu
- scrollable Interface tab
- contextual menus in Interface tab
- improved agent monitors
- experimental "Turtle Sizes" and "Exact Turtle Positions" options
- many new primitives
- improved HubNet support, improved activities
Version 1.0 (April 2002)
- initial release (after a series of betas)