About the NetLogo Obfuscator (v. 1.2 - 7/19/2020)

What it does The Obfuscator modifies the Procedures section (and possibly some code inside your interface buttons and monitors):
  • All comments removed, except comments at the top and bottom of the Procedures section, if requested.  This allows credits (for instance, at the top) and Copyright notices (for instance, at the bottom) to be retained.
  • All procedures and reporters renamed.
  • All global variables, turtles-own (including breeds-own), patches-own and links-own properties renamed.
  • multiple adjacent white space collapsed into a single space
  • entire Procedures section collapsed into a single line (except for top and bottom comments), and indented 200 spaces from the left
  • button and monitor code modified if they use renamed variables
How it does it Here is the Python program that drives these web pages-- multiple modules enclosed in a .ZIP file.  Feel free to download and modify as you please -- note the Creative Commons license below.
Why? I teach NetLogo to high school students.  It is useful to provide them with demonstration projects to duplicate as homework assignments.  I can place these projects onto web pages, but smart kids can find the source .nlogo file that the web page requires, and then they can just download the file and read and copy the procedures.  The obfuscator makes that much more difficult.
Return to Obfuscator

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.