NetLogo 6.0.4 User Manual
The following is a condensed history.
Detailed release notes
are on GitHub.
For help running models made in old versions, see the
Transition Guide.
- NetLogo now supports the Portuguese language.
- BehaviorSpace allows optionally disabling plots and the view when running experiments.
- Updated the bundled Java 8, which should resolve an issue with NetLogo failing to start on Windows computers.
- Fixed a numerical error with the
range
primitive.
- Fixed a bug with link lookup when using more than two link breeds.
- Comment and uncomment code hotkeys should work with NetLogo include source files.
- Added a better error message when a web browser couldn’t be launched for any reason.
- Document that
resize-world
only kills all turtles when coordinates really change.
- Mind the Gap Curriculum
- MTG 1 Equal Opportunities HubNet
- MTG 2 Random Assignment HubNet
- MTG 3 Feedback Loop HubNet
- Blood Sugar Regulation: Updated statistical sampling procedures
- Flocking: Changed default
vision
to 5.0
patches
- Rumor Mill: Fixed a minor bug with the spread statistics in early ticks
- Flocking (Perspective Demo): Changed default
vision
to 5.0
patches
- GenEvo - GenEvo 1: Fixed
save screenshot
bug on Windows machines
- GenEvo - GenEvo 2: Fixed
save screenshot
bug on Windows machines
- GenEvo - GenEvo 3: Fixed
save screenshot
bug on Windows machines
- Flocking (Alternative Visualizations): Changed default
vision
to 5.0
patches
- Improve the look & feel of Agent Monitor windows.
- The procedures menu in the code tab now has a search field and actively filters procedure names as the user types. This should improve navigation speed for large models with lots of procedures. There is also now a hotkey to access this menu: Ctrl-G on Windows and Linux, and Cmd-G on MacOS.
- Increase the speed of the
diffusion
primitive and make the diffusion operation symmetric.
- NetLogo enforces that plot names are unique and that pen names are per-plot unique without taking capitalization into account. This avoids certain cases where
set-current-plot
and set-current-plot-pen
primitives would set the plot or pen to something different than the user intended because names differed in capitalization only.
- Models with existing plots and pens which have the same name without taking capitalization into account will be automatically converted on first open in 6.0.3.
- We are planning on adding the ability to have multiple conditional branches to
ifelse
and ifelse-value
. However, as this is a fairly substantial change to the core language, we have implemented it in the cf extension for testing. See the cf
documentation for information about the new syntax.
- Add a table to the Output section of the Programming Guide specifying how the various output primitives differ in whether they print the calling agent, whether they print a newline, and whether they can be read back into NetLogo.
- Anonymous procedures appearing inside
ask
blocks inside repeat
blocks now close over unique copies of let-variables introduced in the repeat
block.
- Fix a longstanding HubNet bug in which HubNet would sometimes crash as a large number of users joined.
- Fix HubNet discovery when the HubNet server is run on a Mac.
- When switching from the code tab to the interface tab, the cursor switches to the command center. This prevents typed commands or copy/paste keyboard shortcuts from affecting the code tab.
- Turtles draw trails when moving backwards (regression in NetLogo 6.0.1).
- Smooth Code Tab scrolling.
- BehaviorSpace now only applies standard CSV string escaping (doubling of double quotes) to string outputs in result files. It used to apply NetLogo style string escaping (backslashes in front of special characters) and then apply CSV escaping on top of that. The new behavior is consistent with the RFC 4180 specification and the current behavior of the
csv
extension.
- The Behaviorspace dialog appears centered in the NetLogo window.
- Due to changes introduced in Java, certain dialogs in NetLogo 6.0.1 would appear under the dialog that created them instead of on top. These dialogs now appear on top of the dialog that created them.
- Non-code changes to the System Dynamics modeler are pulled in on every recompile (prior to this, changes like newly-disconnected flows were sometimes not taken into account on recompiles).
- The system dynamics code tab adjusts itself to match the size of the system dynamics window.
- NetLogo 3D loads and saves system dynamics.
- Fixes an error raised in 3D when the world was cleared following setting a patch-color to an RGB list.
- Miscellaneous small changes to the format of exported worlds. NetLogo 6.0.3 should be able to import worlds exported by older versions of NetLogo and older versions of NetLogo should be able to import worlds exported by NetLogo 6.0.3.
- The “others” execute bit is set for the netlogo-headless.sh script in the Linux installer package.
nw:generate-preferential-attachment
accepts a min-degree
parameter, specifying the number of links each new turtle preferentially creates to existing turtles.
- The
arduino
extension (and the related sketch and model in the library) have been updated to allow the arduino to send strings back to NetLogo. Two new debug primitives have also been added to help troubleshoot interaction between NetLogo and the arduino.
- The verbose
cf
extension conditional syntax as been replaced with straight-forward generalizations of the ifelse
and ifelse-value
primitives. The syntax is much simpler and these primitives run much faster than the old constructs.
- The
ls
extension has much less overhead for calling out to single models, making constructs like ask turtles [ ls:ask my-model [ run-something ] ]
much faster.
- The
ls
extension now seeds the child model RNG based on the parent model RNG at model creation. Furthermore, and ls:random-seed
primitive has been introduced, so an entire model system can be seeded simultaneously. This makes it possible to have reproducible runs when using LevelSpace.
- The
ls:let
primitive now handles scoping properly.
ls:assign
has been added to LevelSpace to make assigning globals of child models easier.
- Clarify documentation around
__includes
by providing examples.
- Fix a broken link in the dictionary.
- Update the Windows unattended installation directions in the FAQ.
- Bidding Market
- Blood Sugar Regulation
- Rock Paper Scissors
- Vision Evolution
- NIELS - Current in a Wire HubNet
- Current in a Wire HubNet (same as above)
arduino
Extension: The example model and sketch have been updated to reflect new features in the extension
sound
Extension – Sound Workbench: Minor GUI updates
sound
Extension – Percussion Workbench: Minor GUI updates
- File Input Example: Fixed a bug in the
save-patch-data
template procedure
- Lottery Example: Corrected Related Models from Preferential Attachment to the
Rnd
Example Model in the Info Tab
- Info Tab Example: Corrected reference from
pegdown
to flexmark
in the Info Tab
- BEAGLE Evolution - Fish Tank Genetic Drift: Update duplicate plot-pen names and resize plots
- GenEvo - GenEvo 4: Replaced usage of
cf:when
with nested ifelse
s
- Lattice Land - Lattice Land Explore: Fixed bug when deleting a segment that didn’t exist.
- Lattice Land - Lattice Land Triangles Dissection: Fixed bug when deleting a segment that didn’t exist.
- NIELS - Electrostatics: All turtles are now
particles
and each particle
has a charge; Changed particle coloring; Updated Info Tab and some variable names to reflect later NIELS models
- Urban Suite - Tijuana Bordertowns: Minor Info Tab updates.
- Artificial Anasazi: Update broken URLs in Info Tab
- Autumn: Update broken URLs in Info Tab
- HIV: The
AIDS
model has been renamed to HIV
†
- Color Fractions: Removed direct reference to dead web page in Info Tab
- Fairy Circles: Update URLs in Info Tab
- Fur: Update broken URLs in Info Tab
- Hex Cell Aggregation: Update broken URLs in Info Tab
- Ising: Update broken URLs in Info Tab
- Kicked Rotators: Update broken URLs in Info Tab
- Language Change: Update URLs in Info Tab
- Lennard-Jones: Added citation in the Info tab
- Lightning: Update URLs in Info Tab.
- L-System Fractals: Update broken URLs in Info Tab
- Membrane Formation: Update broken URLs in Info Tab
- Moth: Update URLs in Info Tab
- Party: Fix incorrect comment on turtle headings.
- PD Basic: Minor GUI updates
- Segregation: Update broken URLs in Info Tab. Update color scheme for color blindness. Minor GUI updates. Minor Info Tab updates.
- Sugarscape 1 Immediate Growback: Fixed “Wealth distribution” histogram bug (
turtle
with max sugar
was not displayed)
- Sugarscape 2 Constant Growback: Fixed “Wealth distribution” histogram bug (
turtle
with max sugar
was not displayed)
- Sugarscape 3 Wealth Distribution: Fixed “Wealth distribution” histogram bug (
turtle
with max sugar
was not displayed)
- Arduino Example: The example model and sketch have been updated to reflect new features in the extension (same as above)
- Segregation Simple Extension 1: Update broken URLs in Info Tab
- Segregation Simple Extension 2: Update broken URLs in Info Tab
- Segregation Simple Extension 3: Update broken URLs in Info Tab
- Segregation Simple: Update broken URLs in Info Tab
- Alternative Visualizations
- Virus - Alternative Visualization
- Virus - Circle Visualization
- Curricular Models
- epiDEM Basic
- epiDEM Travel and Control
- IABM Models
- Spread of Disease
- Sample Models:
- Disease Solo
- Virus
- Rumor Mill
- The autosuggest functionality introduced in NetLogo 6 will now display extension primitive names.
- A new
insert-item
primitive was added to the language. It works similarly to replace-item
, but without removing the item at the specified index.
- A new
set-plot-background-color
primitive was added to the language. It can be used in plotting code to set the background color of the plot.
- Behaviorsearch’s user interface has been updated. It now uses the JavaFX UI toolkit for a more modern look and feel.
- The 6.0.1 autoconverter would error when converting tasks with exactly one argument (from 5.3.1 and earlier models only). The conversion would be correct, but it was confusing. This has now been remedied and the autoconverter will correctly convert models from 5.3.1 and earlier without erroring on single-argument tasks.
- Fix a bug where extensions weren’t located properly when in a path relative to the model.
- Help browser now opens in 64-bit Windows.
- Fix a speed regression for the
import-world
primitive introduced in 6.0.
- If an unexpected reporter block is passed to
with
when used with other
, the error will now reflect that the block is unsuitable for with
instead of other
.
- When
sort-by
receives an unsuitable reporter block from the user it now shows a useful error instead of a cryptic stack trace.
- String representations of anonymous procedures now show the arguments of those anonymous procedures
- When working in an nls file, switching to a different tab will compile the nls file.
- Display error label on nls file when the code it contains causes an error.
- Some users were unable to open NetLogo 6 and 6.0.1 in Mac OS Sierra.
We’ve changed our signing process in 6.0.2 to attempt to fix this problem.
We are continuing to track this issue to determine whether our fix was effective.
More information (including a partial workaround for the problem) is available here.
- Fixed a bug in
gis:patch-dataset
introduced in NetLogo 6.
- The table extension has new
table:group-agents
and table:group-items
primitives which can be used to build a table of grouped agents and items by supplying an anonymous reporter.
- Clarify when various parts of the anonymous procedure syntax are optional.
- Fix a few small documentation bugs around
foreach
.
- Clarify relationship between speed and update modality in the “View Updates” section of the programming guide.
- Chaos in a Box
- Fairy Circles
- SmoothLife
- Lattice Land Curriculum
- Lattice Land - Triangles Explore
- Lattice Land - Triangles Dissection
- Anisogamy: New color scheme. Adds BehaviorSpace experiments.
- Ethnocentrism: Now cross-listed as an Evolutionary model.
- Fireworks: Rename
fireworks
to max-fireworks
and enforce a minimum of 1.
- GenJam - Duple: Minor info tab updates.
- Wolf Sheep Predation: Revised to better clarify the
grass?
construct and code.
- Connected Chemistry:
- Connected Chemistry 1: Fix NetLogo Web incompatibility.
- Connected Chemistry 3: Update minimum number of particles to 2.
- Connected Chemistry 8: Minor code updates. Small change to default values.
- Gridlock HubNet: Minor code updates.
- Info Tab Example: Corrected formatting of un/ordered lists example.
- LS Extension – Model Visualizer and Plotter Example: Updated code dependencies for WSP.
- LS Extension – Model Interactions Example: Updated code dependencies for WSP.
- Brackets are required around anonymous procedure reporters only when there are two or more arguments. For instance
[ [x] -> x ]
can now be written [ x -> x ]
. Note this change makes it possible to create models in NetLogo 6.0.1 that will not run in NetLogo 6.0. If you plan to use your model in NetLogo 6.0, be sure to include brackets around anonymous procedure arguments. For a short period after the release, models which use unbracketed lambda arguments may not work on netlogoweb.org.
- The NetLogo code editor navigates and indents models much more quickly and efficiently than in NetLogo 6.0.
- The NetLogo 5-to-6 autoconverter now ignores commented-out code.
- The behavior of layout-radial in NetLogo 6 did not match the 5.3.1 behavior. This has been corrected and layout-radial should be identical between NetLogo 6.0.1 and NetLogo 5.3.1
- NetLogo 6 raised a NullPointerException when numbers became too large for NetLogo to handle. This is now properly displayed to the user as a number out of bounds error.
- Improved performance of models which use
let
and anonymous procedures together.
- Reloading a model now clears global variables.
- Clearer warning dialogs when opening an older version of a NetLogo 2D file in NetLogo 3D.
- Using
foreach
improperly in the Command Center will display the same error as it would if used improperly in the code tab.
- Extremely long anonymous procedures no longer cause an exception when compiled.
in-radius
is no longer pathologically slow on agentsets created using with
.
- A new primitive,
table:values
has been added to the table extension.
- The R extension has been updated to take full advantage of the JavaGD R library using
r:setPlotDevice
.
- Users can now supply a path to the R extension by configuring the value of r.lib.paths in the user.properties file.
- Fixed a LevelSpace bug preventing interactive models from using nls files.
- Fixed a LevelSpace bug causing NetLogo to lock up when trying to load a nonexistent file as an interactive model.
- The system dynamics tutorial now instructs the user to set the
dt
to a value which gives stable behavior
- The documentation for
follow
, ride
, and watch
has been clarified to indicate that calling one undoes highlights and perspective changes caused by the other
- The documentation for
=
and !=
indicates that they work with extension objects.
- Several examples have been added to
sort
clarifying the behavior of sort
on lists featuring different types of objects.
- A new section on User Interface primitives has been added to the programming guide which discusses the behavior of the “Halt” button in the various user interaction dialogs.
- Incorrect example code for
foreach
and reduce
has been corrected.
All models have been updated to reflect the new optional nature of brackets for
zero/one argument anonymous procedures. This resulted in changes to 108 models.
All models have been updated to reflect the availability of the new range
primitive. This resulted in changes to 12 models.
- PD 2 Person Iterated: info tab updates and extensive fixes for the code.
- Party: fixed bug where a monitor covered a plot.
- Signaling Game: info tab updates.
- GenEvo curriculum:
- GenEvo 1 Genetic Switch: info tab updates and new graduated method of displaying lacZ concentration.
- GenEvo 2 Genetic Drift: info tab updates and interface tweaks. New model preview.
- GenEvo 3 Genetic Drift and Natural Selection: info tab updates and interface tweaks.
- GenEvo 4 Competition: info tab updates.
- Genetic Switch - Synthetic Biology has been renamed and is now Synthetic Biology - Genetic Switch. It also received info tab updates and a few interface changes.
- The NetLogo code editor now offers autocompletion support. Simply press the Control key and the spacebar at the same time while typing a word and you will see a list of similar NetLogo primitives as suggestions.
- The NetLogo code editor offers the option to “fold” procedures to make navigating large models simpler.
- NetLogo supports multi-level agent-based modeling with the LevelSpace extension
- Line numbering can be enabled in the NetLogo code editor by choosing “Show Line Numbers” from the “Preferences” dialog. This dialog can be opened by selecting “NetLogo” > “Preferences” in Mac, or “Tools” > “Preferences” on Linux or Windows.
- The view resizing arrows have been removed and the tick counter has been relocated under the speed slider.
- When editing NetLogo code, users can right-click a variable name or primitive and choose “Show Usage” to see all usages of that name in the file.
- When editing NetLogo code, users can right-click a variable name and choose “Jump to Declaration” to see where in the file that variable is declared.
- The NetLogo interface editor now supports “Undo” for widget addition, deletion, and movement.
- NetLogo can export code to HTML with code-colorization by choosing “Export Code” in the “Export” section of the “File” menu.
- The look and feel of NetLogo on Mac OS X has changed significantly. NetLogo is now using the Oracle-supplied Java look and feel as opposed to a third-party look and feel used in prior versions.
- Plots use a random number generator independent of the main-model random number generator.
- Model Preview Commands can be edited through the GUI by choosing “Preview Commands Editor” in the “Tools” menu. Those commands generate the preview image that appears when you upload your model to the Modeling Commons.
- NetLogo displays a more helpful error message when a program fails due to an “out of memory” error.
- NetLogo and its bundled extensions are now compiled against Java 8 and Scala 2.12.
- NetLogo has upgraded the ASM bytecode library to enable generation of Java 8 bytecode.
*-link-neighbor?
primitives now work the same way for breeded and unbreeded links.
- Resizing the world in NetLogo 3D no longer causes a black view.
- Fixed error caused by right-clicking a widget while dragging.
- Improved error message when a user-defined procedure shadows a breed procedure.
neighbors4
and neighbors
no longer report agentsets containing the same patch more than once.
- Support for plural-only breed names (e.g.,
breed [mice]
) has been removed. Write breed [mice mouse]
instead.
- Tasks have been replaced by anonymous procedures. Tasks made use of
?
variables which were confusing for novices and difficult to read for experts. Additionally, tasks could not refer to the task variables of a containing task. Anonymous procedures may have named arguments which can be accessed by inner anonymous tasks. Upon first opening a NetLogo 5 model in NetLogo 6, tasks like task [ ?1 + ?2 ]
will be automatically converted to [ [?1 ?2] -> ?1 + ?2 ]
. See the the transition guide for more information.
- Link reporters have been overhauled to be more consistent and flexible
- The
task
primitive is no longer supported.
- Breed names that conflict with language primitives are now disallowed. For instance,
breed [strings string]
is now disallowed since it makes is-string?
ambiguous.
- The compiler errors on duplicated breed singular names.
- The compiler detects a greater number of type errors, for instance
not pxcor
now raises a compiler error instead of erroring at runtime.
set-plot-pen-color
now accepts RGB lists as arguments.
- The
hubnet-set-client-interface
primitive has been removed.
- The various primitives starting with
movie-
have been removed, as has the movie encoder. They have been replaced with the new vid
extension. The transition guide provides more details and information.
- The
__change-language
primitive has been removed. You can now change the User Interface Language through the preferences dialog, which can be found by choosing “Preferences…” in the “NetLogo” menu (Mac OS X) or in the “Tools” menu (all other platforms).
- The string representation of anonymous procedures displays the body of the anonymous procedure.
- NetLogo 6.0 comes with three new, bundled extensions: LevelSpace
ls
, the vid
extension for video manipulation, and the enhanced visualization extension view2.5d
.
ls
enables multi-level agent-based modeling in NetLogo.
- The Extensions API has been updated from 5.0 to 6.0. This means that all non-bundled extensions will need to be updated to use the new API. Extensions written for NetLogo 5 will not work in NetLogo 6. If you’re an extension author, see the extension author transition guide for 6.0 for more information. If you regularly use extensions you may want to contact their authors to inform them a new version of NetLogo is on the way and they may want to update their extensions.
arduino:get
(in the arduino extension) correctly reports values from Windows 64-bit machines. In prior versions it would only report some values correctly.
- Several new features have been added to the
nw
extension:
- Added community detection using the Louvain method
- Added modularity measurement
- Added Watts-Strogatz small-world network generation
- Made other network generation algorithms easier to layout
- Weighted primitives now take symbolic variable names instead of strings. See the transition guide for more information.
- The
qtj
extension is no longer bundled with NetLogo. Users are encouraged to make use of the new vid
extension.
- The new
vid
extension is now bundled with NetLogo, combining features of the late qtj
extension and the movie primitives.
- The network extension is no longer bundled with NetLogo. Users are encouraged to use the
nw
extension (https://ccl.northwestern.edu/netlogo/docs/nw.html), which has been bundled with NetLogo for some time.
- The
gogo-serial
extension is no longer bundled with NetLogo. Users are encouraged to transition to the newer gogo
extension, which uses HID to communicate with the GoGo board.
- NetLogo will now be used to open
.nlogo
links in PowerPoint and other programs on Microsoft Windows.
- The NetLogo binaries on Mac OS X are installed as runnable by any user.
- NetLogo in Mac OS X will not use “App Nap” while running. This keeps simulations running at full speed when NetLogo is in the background.
- The NetLogo controlling API has changed since NetLogo 5. Programs that rely on the controlling API (such as BehaviorSearch) will not work until they have been changed to match the new API.
- New documentation for anonymous procedures
- The NetLogo tutorial screenshots have been updated to correspond to the new Mac OS X Look and Feel.
- The NetLogo dictionary displays the version in which each primitive was introduced next to that primitive.
- A Spanish translation of the NetLogo dictionary is available here
- A new Spanish translation of the NetLogo dictionary is available as part of the NetLogo manual.
- Language preferences can be changed by using the new “Preferences” menu instead of the
__change-language
primitive.
- A Japanese localization for NetLogo is now available and included with the standard download.
- The Chinese translation for NetLogo has been updated.
- Kicked Rotator
- Kicked Rotators
- Mammoths, a legacy StarLogoT model, has been converted to NetLogo.
- GenEvo 1 Genetic Switch
- GenEvo 2 Genetic Drift
- GenEvo 3 Genetic Drift and Natural Selection
- GenEvo 4 Competition
- Movie Playing Example (
vid
extension)
- Movie Recording Example (
vid
extension)
- Video Camera Example (
vid
extension)
- Network Extension General Demo (
nw
extension)
- Model Interactions Example (
ls
extension)
- Model Loader Example (
ls
extension)
- Model Visualizer and Plotter Example (
ls
extension)
- ProbLab Genetics
- Traffic 2 Lanes
- Giant Component: added text in the info tab.
- Team Assembly: removed unused switch widget.
- Traffic Basic, Traffic Grid, Traffic Intersection: revised info tab.
- Voting: stopped the model when voting stabilizes.
- Wealth Distribution: fixed typos in info tab, improved code formatting.
- Bug Hunters Competition HubNet, Critter Designers HubNet, Fish Spotters HubNet: removed unnecessary call to
hubnet-set-client-interface
.
- Gridlock HubNet, Gridlock Alternate HubNet: revised info tab.
- DNA Replication Fork: fixed a a monitor and runtime error when using a time limit.
- Agentset Efficiency: clarified description of
go-2
in info tab.
- Agentset Ordering: fixed typos in into tab.
- Arduino Example: improved model to demonstrate both directions of communication with the Arduino.
- Heroes and Cowards: removed extra text in info tab.
- Preferential Attachment Simple: removed extra pen in plot and extra “layout” button.
- Random Network: made sure that the number of links is never too big for the number of nodes.
- Segregation Simple Extension 1, 2 and 3: fixed
number-of-ethnicities
slider to avoid runtime errors.
- Traffic Basic Adaptive Individuals, Traffic Basic Utility, Traffic Grid Goal: revised info tab.
- Traffic Basic Adaptive: revised info tab, clarified comment in
adaptive-go
procedure.
- Voting Component Verification: stopped the model when voting stabilizes.
- Voting Sensitivity Analysis: improved code for stopping the model when voting stabilizes.
- GoGoMonitorSerial, GoGoMonitorSimpleSerial: removed the models, as the
gogo-serial
and qtj
extensions are no longer bundled.
- Random Network Example: made sure that the number of links is never too big for the number of nodes.
- Since the QuickTime extension (
qtj
) has been replaced by the vid
extension, the following models have been converted to use the vid
extension:
- Movie Example, replaced by Movie Recording Example
- QuickTime Movie Example, replaced by Movie Playing Example
- QuickTime Camera Example, replaced by Video Camera Example
- El Farol Network Congestion, a previously “unverified” model, has been moved to the NetLogo User Community Models
- Mathematica Link is now included and has been tested to work with Mathematica 10.
- A link to Introduction to Agent-Based Modelling has been added to the “Help” menu.
- The gogo extension now prompts the user for the location of Java upon opening. This version of Java is used to launch the gogo hid daemon.
- The correct version of the network extension is now bundled, which will open properly
- Bundles the cf extension, which adds match, case, and select primitives.
- Corrects a bug where turtles wrapping around a torus-shaped world with pen down would sometimes cause NetLogo to loop infinitely.
- Fixes a bug where buttons would appear to remain pressed after a right click on Mac.
- Fixes a bug where pressing the right mouse button while dragging would confuse the mouse-down? primitive.
- Fixes agent type-checking of tasks (bug appeared in 5.2.1).
- link-neighbor? now returns true if and only if the neighbor is connected through an undirected link.
- Documentation fixes for my-links and mean primitives.
- Java 8 is now bundled with all versions of NetLogo, this removes the need for a separate Java 6 installation on Mac OS X
- Separate 32-bit and 64-bit versions are available for both Windows and Linux
- The Windows installer is now an msi instead of an exe
- javax.media.opengl is no longer supported in Java 8, it has been replaced by com.jogamp.opengl
- Mathematica Link is not distributed due to Java version changes
- A minor update to the
nw
extension makes nw:weighted-path-to
behave as documented.
- Most extensions should continue to work without change unless they rely on javax.media.opengl, which was renamed in the updated version of JOGL.
- An included Arduino extension for use with Arduino boards
- New file menu item to export models to NetLogo Web
- BehaviorSpace output type preference is now remembered
- Output widget font is now saved at the proper size when zoomed
- Reporter tasks are now evaluated in variable context
runresult
arguments now only get evaluated once
- The last used directory is now remembered on Linux
- Whitespace is now stripped from models when saving
-
New Sample Models: Artificial Anasazi, Bacteria Food Hunt, Bacteria Hunt Speeds, BeeSmart - Hive Finding, Bug Hunt Disruptions, Bug Hunt Environmental Changes, Bug Hunt Predators and Invasive Species - Two Regions, Hydrogen Diffusion 3D, Lennard-Jones, Paths
- There are 46 new models in the new IABM Textbook folder: Turtles Circling Simple, Ants Simple, Heroes and Cowards, Life Simple, Simple Economy, 4 DLA extensions, 4 El Farol Extensions, 4 Fire Extensions, 4 Segregation Extensions, 5 Wolf Sheep Extensions, Agentset Efficiency, Agentset Ordering, Communication-T-T Network Example, Preferential Attachment Simple, Random Network, Traffic Basic Adaptive, Traffic Basic Utility, Traffic Grid Goal, Spread of Disease, Voting Component Verification, Voting Sensitivity Analysis, Arduino Example, Disease With Android Avoidance HubNet, Example HubNet, Run Example, Run Result Example, Simple Machine Learning, Simple Viral Marketing, Ticket Sales, Sandpile Simple
- New models in the new Alternate Visualizations folder: Ethnocentrism - Alternative Visualization, Flocking - Alternative Visualizations, Heat Diffusion - Alternative visualization, Virus - Alternative Visualization, Virus - Circle Visualization
- Promoted models: Honeycomb, Minority Game
- Many other bugfixes and upgrades
- Improved Sample Models: Altruism, Ant Lines, Artificial Anasazi, Cooperation, Daisyworld, Divide the Cake, Heat Diffusion, Hydrogen Diffusion 3D, Lennard-Jones, N-Bodies, PD Basic Evolutionary, Sandpile, Robby the Robot, Segregation, Simple Kinetics 2 and 3, Traffic Grid, GridLock HubNet, GridLock HubNet Alternate
- Revised Curricular Models: 4 Block Stalagmites, 4 Block Two Stalagmites, Bug Hunter Competition HubNet, Fish Spotters HubNet, Ising, Tijuana Bordertowns, Urban Suite - Tijuana Bordertowns,
- Revised Code Examples: Lottery Example, self Example, Network Import Example
- Revised IABM Textbook models: Simple Economy, Fire Simple Extension 2 and 3, Segregation Simple, 1, 2 and 3, Agentset Efficiency, Preferential Attachment Simple, Random Network, Traffic Basic Adaptive, Run Example, Traffic Grid Goal,
- New IABM Textbook model: Traffic Basic Adaptive Individuals
- An included CSV extension to read and write CSV files
- An included Palette extension to map different values to colors
- The previous gogo extension has been removed. It has been replaced with two different gogo extensions, gogo and gogo-serial. The extensions work with different hardware. The gogo extension works with the new style HID-interface gogo boards and the gogo-serial extension works with the old-style serial-interface gogo boards
- Upgrade to the network extension including the following changes:
- Support for many more file types, including GEXF, GDF, GML, Pajek NET, UCINET DL, and Netdraw VNA
- Fixed bugs with GraphML support
- Improved documentation
- New primitive
netlogo-web?
added to test whether you are currently running in NetLogo Web
- New primitive
behaviorspace-experiment-name
added allowing you to get the name of the currently running experiment
- New primitive
stop-inspecting
to stop inspecting agents
- New primitive
stop-inspecting-dead-agents
and menu item to stop inspecting dead agents
__includes
keyword now enables the Includes button when given an empty
- hooks added for extensions to write custom log messages
user-one-of
will now signal an error earlier when provided an empty list of choices
hsb
, extract-hsb
, and approximate-hsb
have been updated to represent true hsb conventions
- new deprecated primitives
__hsb-old
, __extract-hsb-old
, and __approximate-hsb-old
work as the old hsb primitives did when older models using the hsb primitives are opened in NetLogo 5.2, they will be auto-converted to use the deprecated primitives
extract-hsb
– fixed bug where it didn’t work correctly on rgb lists
- New Sample Models: Artificial Anasazi, Bacteria Food Hunt, Bacteria Hunt Speeds, BeeSmart - Hive Finding, Bug Hunt Disruptions, Bug Hunt Environmental Changes, Bug Hunt Predators and Invasive Species - Two Regions, Hydrogen Diffusion 3D, Lennard-Jones, Paths
- There are 46 new models in the new IABM Textbook folder: Turtles Circling Simple, Ants Simple, Heroes and Cowards, Life Simple, Simple Economy, 4 DLA extensions, 4 El Farol Extensions, 4 Fire Extensions, 4 Segregation Extensions, 5 Wolf Sheep Extensions, Agentset Efficiency, Agentset Ordering, Communication-T-T Network Example, Preferential Attachment Simple, Random Network, Traffic Basic Adaptive, Traffic Basic Utility, Traffic Grid Goal, Spread of Disease, Voting Component Verification, Voting Sensitivity Analysis, Arduino Example, Disease With Android Avoidance HubNet, Example HubNet, Run Example, Run Result Example, Simple Machine Learning, Simple Viral Marketing, Ticket Sales, Sandpile Simple
- New models in the new Alternate Visualizations folder: Ethnocentrism - Alternative Visualization, Flocking - Alternative Visualizations, Heat Diffusion - Alternative visualization, Virus - Alternative Visualization, Virus - Circle Visualization
- Promoted models: Honeycomb, Minority Game
- Many other bugfixes and upgrades
- bundle new network extension
- File menu includes recently opened files
- deprecate applets
- support retina display on new MacBooks
- upload models to the Modeling Commons
- features:
- open source (GPL license; source code online at https://github.com/NetLogo/NetLogo)
- new license for Sample Models and Curricular Models is Creative Commons Attribution-NonCommercial-ShareAlike
- international characters (Unicode) supported throughout application
- GUI is localized in Spanish, Russian, and Chinese (volunteer translators wanted)
- rich formatting and images in Info tabs using Markdown
- plotting code goes inside plots instead of in code tab
- authorable model speed (target frame rate setting)
- buttons optionally disable until ticks start
- translucent colors in 3D view and NetLogo 3D (for RGB colors only)
- language changes:
- “tasks” store code to be run later
- aka first-class functions, closures, lambda
- new primitives:
task
, is-command-task?
, is-reporter-task?
- these primitives accept tasks:
run
, runresult
, foreach
, map
, reduce
, filter
, n-values
, sort-by
- improved overall list performance (many operations take near-constant time instead of linear time)
- you must use
reset-ticks
to start the tick counter before using tick
or tick-advance
- new primitives
setup-plots
and update-plots
- new primitive
sort-on
lets you say e.g., sort-on [size] turtles
- new primitive
error
causes a runtime error
random-normal
rejects negative standard deviations
- HubNet:
- activities can run headless
- new primitives
hubnet-clients-list
, hubnet-kick-client
, hubnet-kick-all-clients
hubnet-set-client-interface
no longer required
- other fixes and changes:
- tabs renamed to Interface/Info/Code
- Command Center allows reporters, adds
show
command automatically
- NetLogo 3D uses .nlogo3d suffix, not .nlogo
import-world
is much faster
startup
no longer runs headless or in background BehaviorSpace runs
- fixed 3D rendering bug where small turtles were too bright
- Mac app runs in 64 bit mode by default
- upgraded Windows installer
- GoGo extension getting-started experience now smoother on all platforms
- models:
- new Sample Models: Sandpile, Lightning, Osmotic Pressure, Robby the Robot, Preferential Attachment 3D
- new Curricular Models: Bug Hunt Consumers, Bug Hunt Predators and Invasive Species, Plant Speciation, epiDEM Basic, epiDEM Travel and Control, Connected Chemistry Atmosphere
- new Code Examples: Info Tab Example, GoGoMonitorSimple
- matrix extension
behaviorspace-run-number
- parallel BehaviorSpace
- controlling API allows embedding
- automatic code indenter
- searchable Models Library
- translucent colors
- mini-views in agent monitors
resize-world
, set-patch-size
- bitmap, QuickTime extensions
- individualized HubNet client views
- browser-based HubNet client
- link agents
- tick counter
- view update modes (tick-based, continuous)
- speed slider fast forwards
- input boxes in interface tab
- include multiple source files
- RGB colors
- slider bounds may be reporters
- HubNet client editor
- Mathematica-NetLogo link
- array, table, profiler, GIS extensions
- models run faster (partial compilation to JVM byte code)
- logging
- topologies (optional wrapping at world edges)
- randomized agentset ordering
- 3D view (for 2D models)
- formatted Info tabs
- System Dynamics Modeler
follow
, ride
, watch
- drawing layer
- GoGo extension
- “headless” mode for command line operation
- “action keys” to trigger buttons by keypresses
- makes QuickTime movies of models
let
, carefully
- extensions and controlling APIs
- sound extension
- fast, flicker-free, non-grid-based graphics
run
, runresult
, map
, foreach
, filter
, reduce
- computers as HubNet clients
- first full release (after a series of betas)