<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-27402117</atom:id><lastBuildDate>Fri, 25 Apr 2008 11:37:44 +0000</lastBuildDate><title>StarLogo TNG - Free Agent</title><description/><link>http://education.mit.edu/starlogo-tng/blog/</link><managingEditor>Corey McCaffrey</managingEditor><generator>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-4509058065106062160</guid><pubDate>Mon, 29 Oct 2007 22:35:00 +0000</pubDate><atom:updated>2007-10-29T17:37:52.433-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: Beta 1.1 released</title><description>Excerpted from a post to the starlogo-users list today:&lt;br /&gt;&lt;br /&gt;StarLogo TNG Beta 1.1 is now available.  This release contains a number of bug fixes outlined below that were present in Beta 1.  We recommend this update for all users.&lt;br /&gt;&lt;br /&gt;We apologize for this release fast on the heels of Beta 1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changes from Beta 1 to Beta 1.1&lt;/span&gt;&lt;br /&gt;&lt;div style="direction: ltr;"&gt;Fixed bug where renaming and changing shapes of breeds caused files to become corrupt&lt;br /&gt;Improved memory usage on graphs&lt;br /&gt;Fixed hill climbers model&lt;br /&gt;Fixed some problems with missing shapes on the Windows build&lt;br /&gt;Fixed bug attaching count-with block inside a monitor&lt;br /&gt;Fixed bug in commands with two arguments&lt;br /&gt;Fixed incorrect computation of atan&lt;br /&gt;Fixed color chooser in SpaceLand&lt;br /&gt;Enabled right-click (or control-click) and drag to move the canvas&lt;/div&gt;</description><link>http://education.mit.edu/starlogo-tng/blog/2007/10/agency-beta-11-released.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-2942506665745704806</guid><pubDate>Sat, 20 Oct 2007 15:07:00 +0000</pubDate><atom:updated>2007-10-20T10:10:55.326-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>block talk</category><title>Block Talk: Tutorials and More on Google Group</title><description>One of our users, Paulo Ferro, created a &lt;a href="http://groups.google.com/group/starlogo-tng?hl=en"&gt;Google Group&lt;/a&gt; for StarLogo TNG users.  He has already posted an excellent Flash-based &lt;a href="http://groups.google.com/group/starlogo-tng/files?hl=en"&gt;tutorial&lt;/a&gt; introduction to the new beta interface.  Thanks, Paulo!</description><link>http://education.mit.edu/starlogo-tng/blog/2007/10/block-talk-tutorials-and-more-on-google.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-8389747959598141345</guid><pubDate>Wed, 17 Oct 2007 19:49:00 +0000</pubDate><atom:updated>2007-10-17T15:08:25.178-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><category domain='http://www.blogger.com/atom/ns#'>release</category><category domain='http://www.blogger.com/atom/ns#'>beta</category><title>The Agency: Beta 1 released</title><description>Coinciding well with the commemoration of 40 years of Logo in &lt;a href="http://blog.wired.com/wiredscience/2007/10/forward-40-wher.html"&gt;Wired&lt;/a&gt; and &lt;a href="http://developers.slashdot.org/article.pl?sid=07/10/16/1512239"&gt;Slashdot&lt;/a&gt; yesterday, we are proud to announce the official release of &lt;a href="http://education.mit.edu/starlogo-tng/"&gt;StarLogo TNG Beta 1&lt;/a&gt; at long last.&lt;br /&gt;&lt;br /&gt;StarLogo TNG has undergone a major transformation since Preview 4.  Much of the code in our first real beta has been entirely rewritten to improve speed, usability, stability, and extensibility, and expect this code to the be the basis of TNG for quite some time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/tng_beta_1-709396.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/tng_beta_1-709384.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We are pleased to release many new features, but some features of Preview 4 have not yet been implemented in this major revision.  Therefore, if you must have those features, you should stick with Preview 4 for the time being.  Otherwise, we highly recommend transitioning to the new version.  We have made our best efforts to update projects and support backward compatibility with projects created with earlier releases, but some projects that rely on features not yet implemented will not load.&lt;br /&gt;&lt;br /&gt;New and more extensive documentation is coming (including new sample curriculum very shortly), but in the meantime we have provided a list of changes that can be used to apply the basics of Preview 4.2 to this version.&lt;br /&gt;&lt;br /&gt;We’re very excited about this new version.  The look and feel, as well as the usability have received quite favorable reviews across the board.  We hope you’ll like it too. The release is now avialable for Mac OS X, Microsoft Windows, and Linux.&lt;br /&gt;&lt;br /&gt;You can download the beta from our website:&lt;br /&gt;Changes, additions and subtractions to TNG are listed below and also available on our website at &lt;a href="http://education.mit.edu/starlogo-tng"&gt;http://education.mit.edu/starlogo-tng.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can also learn more about the changes, additions, and subtractions to TNG here:&lt;br /&gt;&lt;a href="http://education.mit.edu/starlogo-tng/beta1/StarLogo_TNG_Beta_1.html"&gt;http://education.mit.edu/starlogo-tng/beta1/StarLogo_TNG_Beta_1.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;The StarLogo Team</description><link>http://education.mit.edu/starlogo-tng/blog/2007/10/agency-beta-1-released.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-40397393434875969</guid><pubDate>Fri, 06 Apr 2007 03:28:00 +0000</pubDate><atom:updated>2007-04-06T10:18:14.289-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><category domain='http://www.blogger.com/atom/ns#'>release</category><category domain='http://www.blogger.com/atom/ns#'>preview</category><title>The Agency: Preview 4.2 released</title><description>Thank you to all of you out there who downloaded Preview 4.1 and helped us track down a couple more bugs that we wanted to fix ASAP.  If you downloaded p4.1 last week, please head to &lt;a href="http://education.mit.edu/starlogo-tng/"&gt;http://education.mit.edu/starlogo-tng/&lt;/a&gt; and download p4.2.&lt;br /&gt;&lt;br /&gt;Here's a list of the bugs fixed in this release:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed bug with collisions.  Asymmetric collisions did not always get executed.  (Asymmetric collisions are the ones with two different breeds.)&lt;/li&gt;&lt;li&gt;Fixed a few problems related to strings.&lt;/li&gt;&lt;li&gt;Provided a batch application (starlogotng-mastercontrol.bat) to disable audio on computers that don't support it.  Note that this file is for the Windows version only.  All versions of Mac OS X that support StarLogo TNG also support the sound feature.&lt;/li&gt;&lt;/ul&gt;The most significant problem is the asymmetric collision bug, a regression in p4.1 that may easily break your existing projects, so we strongly recommend that all users download the latest version.  Sorry for the trouble!</description><link>http://education.mit.edu/starlogo-tng/blog/2007/04/agency-preview-42-released.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-6897420058540633386</guid><pubDate>Fri, 30 Mar 2007 02:02:00 +0000</pubDate><atom:updated>2007-04-15T08:52:16.021-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><category domain='http://www.blogger.com/atom/ns#'>release</category><category domain='http://www.blogger.com/atom/ns#'>preview</category><title>The Agency: Preview 4.1 released</title><description>Eric made the following announcement on the StarLogo user community mailing list today:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;We are pleased to officially announce the release of StarLogo TNG Preview 4.1.&lt;br /&gt;&lt;br /&gt;This release is hot on the tail of the unofficial release of Preview 4.  If you downloaded StarLogo TNG in the past few days, you should update to Preview 4.1, which contains some additional bug fixes.&lt;br /&gt;&lt;br /&gt;There are a number of enhancements and bug fixes in this version.  In parallel, we have been working on redesigning the blocks interface from scratch.  That work is well along the way, and we hope to release the first full Beta with these features in the near future.  In the mean time, Preview 4.1 is quite stable and fun, and offers a number of valuable improvements over Preview 3.&lt;br /&gt;&lt;br /&gt;You might also be interested in the StarLogo TNG tutorial on Complexity, which is linked to from the front page of StarLogo TNG (&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://education.mit.edu/starlogo-tng" target="_blank"&gt;http://education.mit.edu&lt;wbr&gt;/starlogo-tng&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;The StarLogo TNG Team&lt;/blockquote&gt;&lt;br /&gt;Eric also published the following list of changes:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Preview 4 to Preview 4.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Fixed several last-minute bugs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed rounding error that when agents are being drawn on patches&lt;/li&gt;&lt;li&gt;Fixed collision bug where collisions were being duplicated that has been around for a long time.  NOTE THIS WILL REQUIRE A CHANGE IN PROJECTS WHERE INTRA-BREED COLLISIONS WERE USED.  IN MOST CASES THE TOP AND BOTTOM OF SUCH COLLISIONS SHOULD BE DUPLICATED.&lt;/li&gt;&lt;li&gt;Fixed a bug in the keyboard controls option&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Preview 3 to Preview 4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Primarily Bug Fixes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed comma in file format for non-US users&lt;/li&gt;&lt;li&gt;Fixed many bugs that affected performance, collisions and crashes&lt;/li&gt;&lt;li&gt;Updates to library and Windows JRE&lt;/li&gt;&lt;li&gt;Fixed installation bug on Windows&lt;/li&gt;&lt;li&gt;Fixed joystick controls on the Mac&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Spaceland Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New navigation with mouse and on screen controls&lt;/li&gt;&lt;li&gt;Introduction of status bar&lt;/li&gt;&lt;li&gt;Previous and next agent eye&lt;/li&gt;&lt;li&gt;All new layout and design&lt;/li&gt;&lt;li&gt;Can maximize in Windows&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;StarLogoBlocks Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Some new shapes&lt;/li&gt;&lt;li&gt;First version of "smell" (detects agents at a distance)&lt;/li&gt;&lt;li&gt;Commands to output to the status bar&lt;/li&gt;&lt;li&gt;Preliminary sound support (bird, boing, claps, cork, cow, glass, hit, knock, laugh, scratch, smellrat, test)&lt;/li&gt;&lt;/ul&gt;</description><link>http://education.mit.edu/starlogo-tng/blog/2007/03/agency-preview-41-released.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-117210663080713915</guid><pubDate>Thu, 22 Feb 2007 01:06:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.817-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: We're still working!</title><description>This blog has been too quiet for too long, and it has been a while since our last release, but rest assured that we are still working very hard to ready StarLogo TNG for a beta release.&lt;br /&gt;&lt;br /&gt;Eric sent this message to the StarLogo user community today:&lt;br /&gt;&lt;blockquote&gt;StarLogo TNG is still under very active development.  After the last preview release (3) we decided that there were several components that needed some significant work. We are now on the verge (a few weeks) of our first real "beta" release.  This release will include a new blocks interface rewritten from the ground up for speed, stability and extensibility.  It will also include a much more user friendly and easier to navigate 3D spaceland, new commands and capabilities (sound, lists, and "smell", etc.), and lots of bug fixes (including the comma fix).  We're still working out the final touches on the new blocks, but everything else is done.  We hope to have this released soon (followed by summer 2007 for release 1.0 - only a year late, not so bad in the software business :-)&lt;/blockquote&gt;Thank you for your patience so far, and we can't wait for you to see what's next!</description><link>http://education.mit.edu/starlogo-tng/blog/2007/02/agency-were-still-working.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-116476275120835057</guid><pubDate>Wed, 29 Nov 2006 01:08:00 +0000</pubDate><atom:updated>2007-04-15T08:59:25.007-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency insider</category><category domain='http://www.blogger.com/atom/ns#'>spaceland</category><title>Agency Insider: New camera controls</title><description>Preview 4 will feature new controls for the Spaceland camera. These include better view-dependent methods to pan, rotate and zoom, as well as buttons to move the camera in different directions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fwd2-738702.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fwd2-736218.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can read an overview of these controls in the new &lt;a href="http://education.mit.edu/starlogo-tng/camtutorial/camera-tutorial.html"&gt;Spaceland camera tutorial&lt;/a&gt;.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/11/new-camera-controls.html</link><author>Radu</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-116122027483165184</guid><pubDate>Thu, 19 Oct 2006 01:03:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.817-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: Bug discovered with non-US English setting in Windows</title><description>Several users of non-US English versions of Windows have reported seeing the error java.lang.NumberFormatException: For input string. "&lt;span style="font-style: italic;"&gt;some number with a comma&lt;/span&gt;."&lt;br /&gt;&lt;br /&gt;The problem is that most other locales use a comma where we use a period in decimal notation.  As a result, when we create the save file using local formatting, our numbers get written incorrectly (our mistake).  We have corrected this bug for our next release.&lt;br /&gt;&lt;br /&gt;If you encounter this problem and you really want to get one of your files back, simply open up the file in a text editor and replace the comma in the number with a period.  For example, change 1,0200 to 1.0200.  Of course, that can be a pain if you edit the file frequently or there are many numbers that need to be modified.  Hopefully we will be releasing Preview 4 some time this fall that will include this fix among others.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/10/agency-bug-discovered-with-non-us.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114658148223017146</guid><pubDate>Sun, 03 Sep 2006 18:01:00 +0000</pubDate><atom:updated>2007-04-15T08:53:53.779-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>model depth</category><title>Model Depth: Paintballers Anonymous</title><description>&lt;span style="font-style: italic;"&gt;Welcome to the first installment of &lt;span style="font-weight: bold;"&gt;Model Depth&lt;/span&gt;, where we take an in-depth look at StarLogo projects.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This post is about Paintball (paintball.sltng, found in the projects folder where you installed StarLogo TNG on your computer).  Paintball is one of the first and most addictive sample projects we created to showcase some of the new features in StarLogo TNG, and you can read all about it in the &lt;a href="http://education.mit.edu/starlogo-tng/tutorial-paintball.htm"&gt;Paintball Tutorial&lt;/a&gt; at our web site.&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a quick overview of the highlights of the model:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Premise&lt;br /&gt;&lt;/span&gt;The user, or player, controls a single agent who can move across the Spaceland terrain and fire paintball agents at the turtle agents scattered throughout Spaceland.  When a paintball collides with a turtle, the paint splatters and changes the color of the turtle it collided with.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Breeds&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mario&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Mario is the player's &lt;a href="http://en.wikipedia.org/wiki/Avatar_%28virtual_reality%29"&gt;avatar&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;span style="font-style: italic;"&gt;Move&lt;/span&gt; procedure detects the player's keystrokes and moves Mario accordingly.&lt;/li&gt;&lt;li&gt;The &lt;span style="font-style: italic;"&gt;Launch&lt;/span&gt; procedure creates new paintball agents when Mario fires.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Paint&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The Paint breed represents the vibrant paintballs that Mario can fire at the turtles.&lt;/li&gt;&lt;li&gt;The &lt;span style="font-style: italic;"&gt;projectile&lt;/span&gt; procedure causes the paintballs to move throughout Spaceland.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Turtles&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The turtles are the targets for Mario's paintballs.&lt;/li&gt;&lt;li&gt;The breed uses the OBJ turtle so they can &lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/06/change-agent-amazing-technicolor-obj.html"&gt;change color&lt;/a&gt; when hit by a paintball.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;In addition to defining the three breeds, the model also has setup code to create Mario and a batch of turtles, and there is a collision block that handles collisions between paintballs and turtles.&lt;br /&gt;&lt;br /&gt;Now, all you have to do is click the Runtime tab to view the Runtime Workspace, click the Setup button to setup the game, and Run to start the game.  You can move Mario with the arrow keys and fire paintballs with the 'a' key.&lt;br /&gt;&lt;br /&gt;Okay, so I know what you're thinking.  Sure, it's fun, but it's not all that challenging, and it doesn't feel like a game.&lt;br /&gt;&lt;br /&gt;But that's okay, because one of the best ways to learn how to use StarLogo is to build on top of exisiting models and experiment with your own modifications.  How could you modify Paintball to make it more fun, more game-like?  Below, I've provided a few ideas to get you started, but if anyone has more ideas to share, please post a comment below.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Goals&lt;/span&gt;&lt;br /&gt;A goal in a game gives a player something to work towards and often includes some measure of the player's success.  You can use the score blocks to keep track how many turtles the player hits, or you could use the clock blocks to give the player a limited amount of time to hit as many turtles as possible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Challenges&lt;/span&gt;&lt;br /&gt;No matter how you choose to keep score, the game is still very easy.  The turtles are like sitting ducks waiting for a paintball to turn them pink or blue, and nothing stands in Mario's way.  So give the turtles some procedures to make them smarter.  Have them run around Spaceland, maybe randomly, to create moving targets for Mario.  Give Mario a limited number of paintballs so the player is forced to aim more carefully to improve his or her score.&lt;br /&gt;&lt;br /&gt;And if you want to get really complex, give Mario a limited number of "lives" and let the Turtles fire paintballs back.  How do you make your &lt;a href="http://en.wikipedia.org/wiki/Non-player_character"&gt;non-player characters&lt;/a&gt; artificially intelligent enough to provide a challenge to the player without making the game totally impossible?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;Immersion&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;One of the ways to keep players engrossed in your game is make the environment more appealing.  Depending on the game, you might strive to make it more realistic or more fantastic.  You can create more visually appealing scenery using the terrain editor, or you can use stamp, dig, build, stomp, and yank to allow the agents to modify the terrain during the game.  For example, if an orange paintball travels fifty patches without hitting a turtle, then it falls to the ground and splatters orange paint on the terrain.  You can create mountains, valleys, walls, and even entire mazes to make it harder for Mario to find and fire at turtles.&lt;br /&gt;&lt;br /&gt;Another technique for creating an immersive experience is by giving the player more control over the avatar.  Modify the Move procedure to detect more keystrokes.  Maybe give Mario the ability to jump over obstacles and turtles, or allow him to fly around Spaceland using the up and down blocks.  There are so many possibilities!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally, if you would like to share your enhanced version of Paintball with us, feel free to attach your project in an e-mail to starlogo-request@education.mit.edu.  Happy paintballing!</description><link>http://education.mit.edu/starlogo-tng/blog/2006/09/model-depth-paintballers-anonymous.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115535390029867972</guid><pubDate>Sun, 13 Aug 2006 13:20:00 +0000</pubDate><atom:updated>2007-04-15T09:00:56.327-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>block talk</category><category domain='http://www.blogger.com/atom/ns#'>starlogoblocks</category><title>Block Talk: Recruiting agents with "ask agent"</title><description>StarLogo TNG is a great environment for studying &lt;a href="http://en.wikipedia.org/wiki/Emergence"&gt;emergence&lt;/a&gt;.  Just lay out some blocks that describe simple rules for the behavior of an individual agent and watch what happens when you put a group of them together.&lt;br /&gt;&lt;br /&gt;The sample project termites.sltng (found in the projects folder where you installed StarLogo TNG) demonstrates this notion of emergent phenomena.  Without the help of a leader or architect termite, a group of termites interacting with their environment independently of each other produce, over time, a single tower of wood chips.  Random interactions result in a predictable sense of order.&lt;br /&gt;&lt;br /&gt;And, yet, often we wish that agents could exert control over other agents, especially when we are designing models that represent games or interactive environments.  In a &lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/07/block-talk-hey-who-hit-me.html"&gt;recent post&lt;/a&gt;, we showed you how to use the collidee block in collisions to get more information about colliding agents.  The colliding agent can &lt;span style="font-style: italic;"&gt;react&lt;/span&gt; to the color, size, shape, or any other property of the collidee.  But sometimes it isn't enough to react; the agent wants to &lt;span style="font-style: italic;"&gt;control&lt;/span&gt; the collidee.&lt;br /&gt;&lt;br /&gt;With the "ask agent" block, you can.  Found in both the "Logic" and "Other Agents" categories, the "ask agent" block takes a who number and a list of commands to "do."&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/ask_agent_1-721771.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/ask_agent_1-718597.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Consider the sample project paintball.sltng, in which you control an agent that looks like Mario and can fire paintballs at enemy turtles, which change color to match the paintballs that hit them.  Let's say, for example, that you want Mario to say "Gotcha!" every time he hits a turtle.&lt;br /&gt;&lt;br /&gt;Note that you do not need to use the "ask agent" block to solve this problem.  You could have a global Boolean variable called "turtle was hit" and set it to false during Setup.  Then, in the collision block for paintballs and turtles, have either the paintball or the turtle set "turtle was hit" to true.  In Mario's code, if "turtle was hit" is true, then say "Gotcha!" and set "turtle was hit" back to false.  That way, whenever Mario gets to run his program, he will say "Gotcha!" if and only if at least one turtle got hit since the last time he ran his program.&lt;br /&gt;&lt;br /&gt;Nevertheless, the "ask agent" block makes the code much simpler and eliminates the need to create an extra state variable.  In the collision block for paintballs and turtles, instead of setting the global Boolean, have either the paintball or the turtle ask Mario to say "Gotcha!"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/ask_agent_3-705534.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/ask_agent_3-702061.png" alt="" border="0" /&gt;&lt;/a&gt;Note that we do not know ahead of time what the who number will be for Mario.  However, we do know that Mario always gets the agent-eye camera, so we can use the "who of agent camera" block found in the Control category for the who number of Mario.  Then, in the list of commands, all we need is Say: "Gotcha!"&lt;br /&gt;&lt;br /&gt;The first solution requires about a dozen blocks scattered throughout three or four locations in the program.  The "ask agent" solution only requires four blocks contained within the collision block, which is reasonable since you want the action to occur in response to the collision.  It just so happens that, in this case, the agent acting is not directly involved in the collision.&lt;br /&gt;&lt;br /&gt;Hopefully you will find as we have that the "ask agent" block is seldom needed.  There is something about agents asking other agents to do things that takes some of the elegant simplicity out of modeling decentralized systems.  In fact, as of this writing, I think only one of the many sample projects included with Preview 3 uses the "ask agent" block, and then only in setup code.  But there are exceptions to every rule, and we hope that you will remember the "ask agent" block when you discover a need for one agent to control another agent directly.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/08/block-talk-recruiting-agents-with-ask.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115438275098179658</guid><pubDate>Mon, 31 Jul 2006 21:49:00 +0000</pubDate><atom:updated>2007-04-15T09:00:04.318-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><category domain='http://www.blogger.com/atom/ns#'>release</category><title>The Agency: Fix posted for Windows Saturday afternoon</title><description>If you downloaded the Windows version of Preview 3 prior to Saturday afternoon, you may see an error message when you attempt to run the program stating that you are missing a file called MSVCR71D.dll.  If you get this error, please download the program again now and reinstall it.  We apologize for the inconvenience.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/agency-fix-posted-for-windows-saturday.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115438248636547288</guid><pubDate>Mon, 31 Jul 2006 21:40:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.818-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: StarLogo TNG got "Dugg"</title><description>StarLogo TNG appeared on Digg &lt;a href="http://digg.com/design/FREE_Modeling_Program_Developped_by_MIT_Screenshots_Download"&gt;yesterday&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For those of you not yet familiar with the site, &lt;a href="http://www.digg.com"&gt;Digg&lt;/a&gt; is a popular collaborative blog.  Articles are submitted by members of the community, and the readership votes and comments on their favorite (or least favorite) articles.&lt;br /&gt;&lt;br /&gt;Some people loved it, others hated it, and a few missed the point altogether, but feel free to check it out and add your own feedback if you like.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/agency-starlogo-tng-got-dugg.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115422426057875506</guid><pubDate>Sun, 30 Jul 2006 01:46:00 +0000</pubDate><atom:updated>2007-04-15T08:52:16.021-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><category domain='http://www.blogger.com/atom/ns#'>release</category><category domain='http://www.blogger.com/atom/ns#'>preview</category><title>The Agency: Preview 3 released</title><description>We are proud to announce the release of &lt;a href="http://education.mit.edu/starlogo-tng/download/"&gt;StarLogo TNG Preview 3&lt;/a&gt;.  This version contains many optimizations/bug fixes, and also contains some exciting new features (look for the &lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/05/agency-insider-wheres-that-block.html"&gt;search functionality&lt;/a&gt; and &lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/07/agency-insider-type-blocks-with-your_26.html"&gt;Typeblocking&lt;/a&gt; in addition to graph blocks).  A full change log is below.&lt;br /&gt;&lt;br /&gt;The final push for StarLogo TNG will see an overhaul of the blocks canvas and a number of new features that we have on tap.  We may release a Preview 4 in late summer/early fall before a final 1.0 release this fall.  Be on the lookout and enjoy Preview 3.&lt;br /&gt;&lt;br /&gt;The StarLogo Team&lt;br /&gt;&lt;br /&gt;---------------------------------&lt;br /&gt;CHANGE LOG&lt;br /&gt;&lt;br /&gt;Preview 2 to Preview 3&lt;br /&gt;&lt;br /&gt;StarLogo Changes:&lt;br /&gt;—       Saves more project state: workspace view and zoom, runtime speed and time, procedure block folding&lt;br /&gt;—       File menu maintains list of recently viewed files&lt;br /&gt;—       File dialog filters for .sltng files and starts from the most recently viewed directory&lt;br /&gt;—       Help menu items link to documentation, tutorials, and FAQ in Starlogo TNG website&lt;br /&gt;&lt;br /&gt;SpaceLand Changes:&lt;br /&gt;—       200% terrain rendering speed increase&lt;br /&gt;—       Faster collision detection (no computation for breeds without a collision block)&lt;br /&gt;—       Improved agent eye positions for all shapes&lt;br /&gt;—       Improved key press detection&lt;br /&gt;&lt;br /&gt;StarLogoBlocks Changes:&lt;br /&gt;—       Added typeblocking on workspace (select "Keyboard moves blocks" from Options menu)&lt;br /&gt;—       Added incremental search box for blocks&lt;br /&gt;—       Added Line and Bar Graph blocks in workspace and removed graph wizard&lt;br /&gt;—       Added Shape Width, Height, Length blocks&lt;br /&gt;—       Added Dig and Build blocks to create straight-walled terrain features&lt;br /&gt;—       Changed behavior of Stomp and Yank to create smoother terrain.&lt;br /&gt;—       Variables and procedure blocks dragged onto the Global page now appear in the Global drawer&lt;br /&gt;—       Improved blockdoc tooltips&lt;br /&gt;—       Fixed saving/loading bug where blocks disappeared on project load&lt;br /&gt;—       Fixed sliders bug causing incorrect updates and label changes&lt;br /&gt;—       Fixed deleting breeds bug&lt;br /&gt;—       Monitors now compatible with global variable declarations&lt;br /&gt;—       Monitors update at higher frequency (250 ms)&lt;br /&gt;—       Monitors can report positive or negative infinity.&lt;br /&gt;—       Changed procedure block collaspe/expand icon to a triangle&lt;br /&gt;&lt;br /&gt;Terrain Editor Changes:&lt;br /&gt;—       Changed underlying format to allow for vertical walls.&lt;br /&gt;&lt;br /&gt;Virtual Machine Changes:&lt;br /&gt;—       Made StarLogo time no longer dependent on computer speed&lt;br /&gt;&lt;br /&gt;As always, your feedback is valuable.  Feel free to post a comment below or send email to &lt;a href="mailto:starlogo-request@education.mit.edu"&gt;starlogo-request@education.mit.edu&lt;/a&gt;.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/agency-preview-3-released.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115395985159497850</guid><pubDate>Wed, 26 Jul 2006 23:42:00 +0000</pubDate><atom:updated>2007-04-15T09:01:17.342-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency insider</category><category domain='http://www.blogger.com/atom/ns#'>typeblocking</category><category domain='http://www.blogger.com/atom/ns#'>starlogoblocks</category><title>Agency Insider: Type blocks with your keyboard</title><description>In Preview 3, due for release very soon, we will introduce a new feature called Typeblocking. Typeblocking is our word for using the keyboard to type out blocks instead of dragging them onto the factory with a mouse. For some users who prefer to use the keyboard, mastering Typeblocking may allow for much faster StarLogo model development. To enable Typeblocking, choose "Keyboard moves blocks" from the "Options" menu. Note that if you want to resume using the keyboard to move the camera in Spaceland or control models with keyboard input blocks, you will need to choose the correct setting from the Options menu. Choosing among these options will be easier in a future version.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_menu-711151.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_menu-707916.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Just as when typewriting, there is a cursor for Typeblocking to show you which block currently has focus and where the next typed block will appear. The block cursor highlights the current block with focus in blue. For example, drag the "forward" block onto the workspace. It will appear highlighted in blue. Next, drag out the "right" block and attach it to the forward block. Notice that focus transferred to the "right" block. You can move the cursor by clicking on blocks or by using the tab or arrow keys to shift focus within a single stack of blocks.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_cursor-767333.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_cursor-764932.png" alt="" border="0" /&gt;&lt;/a&gt;To place additional blocks on the stack, simply begin typing the name of the block. For example, if you type "heading," then you will see the autocomplete list appear with your current query in red and the list of all blocks that may be connected to the block with focus. Here, the "heading" and "heading of," blocks can connect to the "right" block's number port, and the "set heading" block can connect to its next command port. You can use the arrow keys or the mouse to select the block from the list that you want to appear and then press enter or double-click to cause that block to appear.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete1-785886.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete1-783855.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete2-780466.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete2-778432.png" alt="" border="0" /&gt;&lt;/a&gt;In this example, we chose the "heading" block, and that block flew out and connected itself to the number port appropriately. Now, if we give focus back to the "right" block and type "heading" again, only the "set heading" block appears in the list because the number port is full and cannot accept a new block.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete3-776311.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete3-774228.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete4-771817.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_autocomplete4-769517.png" alt="" border="0" /&gt;&lt;/a&gt;In addition to using the autocomplete list to type blocks that fit into the block with focus, Typeblocking is further optimized for arithmetic expressions. If a block such as the "right" block has an empty number port, simply type the number you want, and a number block of that value will connect itself automatically. When a number block has focus, it is simple to extend the expression using simple binary operators to add, subtract, multiply, or divide other numbers.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_number-700462.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/typeblocking_number-791443.png" alt="" border="0" /&gt;&lt;/a&gt;Finally, in addition to supporting the connection of new blocks, Typeblocking includes other keyboard shortcuts for making StarLogo TNG more efficient to use with a keyboard. For example, Command-+ (or Control-+ on Windows) zooms into the block workspace, while Command-(minus sign) zooms out and Command-0 returns the workspace to its default zoom level. Additionally, when a procedure block has focus, Command-Enter toggles the rolled up state of the procedure. For any other block, Command-Enter causes StarLogo TNG to execute that block as though it had been double-clicked on. If a block is editable, pressing enter (without holding down the Command key) toggles edit mode for the block to make it easy to change the block's value.&lt;br /&gt;&lt;br /&gt;We look forward to sharing this exciting new feature in Preview 3 with you soon, and we would appreciate your feedback on its usefulness to you in creating your StarLogo TNG models.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/agency-insider-type-blocks-with-your_26.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115345811739150030</guid><pubDate>Fri, 21 Jul 2006 04:58:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.818-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: Email notifications back online</title><description>For those of you who subscribe to new posts via our blog &lt;a href="http://education.mit.edu/mailman/listinfo/starlogo-blog"&gt;mailing list&lt;/a&gt;, it should be working properly again.  You may wish to check the &lt;a href="http://education.mit.edu/starlogo-tng/blog/"&gt;blog&lt;/a&gt; to catch up on a few posts you may have missed in the meantime.  Sorry for the inconvenience, and thanks for reading!</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/agency-email-notifications-back-online.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-115289832486962391</guid><pubDate>Fri, 14 Jul 2006 17:25:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.818-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: StarLogo finds space at... MySpace?</title><description>Yes, you read correctly.  Apparently even StarLogo has its very own &lt;a href="http://www.myspace.com/starlogo"&gt;MySpace profile&lt;/a&gt; now.  The "26 year old Pisces from Cambridge" is still listed as single, so feel free to check it out and add StarLogo to your list of friends today...</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/agency-starlogo-finds-space-at-myspace.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114666249967733666</guid><pubDate>Wed, 12 Jul 2006 21:44:00 +0000</pubDate><atom:updated>2007-04-15T09:00:56.331-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>block talk</category><category domain='http://www.blogger.com/atom/ns#'>starlogoblocks</category><title>Block Talk: Hey!  Who hit me?</title><description>Collisions, or agent-agent interactions, are at the heart of many StarLogo models.  For example, in case you haven't seen it yet, the &lt;a href="http://education.mit.edu/starlogo-tng/tutorial-paintball.htm"&gt;Paintball Tutorial&lt;/a&gt; provides an example of using collisions to determine when agents of breed Paintball collide with agents of breed Turtle.&lt;br /&gt;&lt;br /&gt;Whenever you create a breed, new collision blocks are added to every breed drawer.  If you have two breeds, say, Turtles and Giraffes, then the breed drawer for Turtles will have a Turtles-Turtles collision block as well as a Turtles-Giraffes collision block.  The breed drawer for Giraffes will have Giraffes-Giraffes and Giraffes-Turtles collision blocks.&lt;br /&gt;&lt;br /&gt;It is important to note that the Giraffes-Turtles and Turtles-Giraffes blocks are effectively the same.  If you take one out onto the Workspace, the other disappears from the drawer as well, because you can only have one collision block for each pair of breeds.&lt;br /&gt;&lt;br /&gt;Many times, knowing that an agent collided with an agent of a particular breed is enough.  In the example below, whenever a turtle and giraffe collide, the turtle &lt;span style="font-style: italic;"&gt;reacts&lt;/span&gt; to the collision by turning right 90 degrees.  It does not matter which giraffe was involved in the collision, only that it was some giraffe, and that was enough to make the turtle want to turn 90 degrees to the right.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_1-732744.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_1-730314.png" alt="" border="0" /&gt;&lt;/a&gt;However, sometimes we do want to know information about the other agent in the collision so we can react specifically to that agent.  For example, what if the turtle would prefer to turn in the direction of the giraffe instead of simply turning right?  Well, the turtle would need to set its own heading to the heading of the giraffe, as shown below.  But we're missing something in the example.  We need the who number of the giraffe that collided with us in order to obtain its heading.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_2-726794.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_2-723416.png" alt="" border="0" /&gt;&lt;/a&gt;That's where the &lt;span style="font-style: italic;"&gt;collidee&lt;/span&gt; block comes in.  It is special block found in the Other Agents category (show below), which is the same category that the "heading of" block is in.  The collidee block is a special kind of number block that can only be connected inside of collision blocks.  It automatically provides the who number of the other agent in the collision.  Thus, if you use the collidee block in the Turtles region, then it returns the who number of the giraffe.  If you put it in the Giraffes region, then it returns the who number of the turtle.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_3-720489.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_3-717519.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Therefore, in our example, if we want the turtle to set its heading to the heading of the giraffe, we use the collidee block to get the who number of the giraffe for the "heading of" block, and we're done!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_4-713623.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/collidee_block_4-707919.png" alt="" border="0" /&gt;&lt;/a&gt;If you look at the  &lt;a href="http://education.mit.edu/starlogo-tng/tutorial-paintball.htm"&gt;Paintball Tutorial&lt;/a&gt;, you'll see that the collidee block is used to set the color of the turtle to be the color of the paintball it collided with.  The collidee block is not used in the Paintball region, because the paintball does not care which turtle it hit.  The paintball dies because it hit &lt;span style="font-style: italic;"&gt;some&lt;/span&gt; turtle, regardless of which one it happened to be.&lt;br /&gt;&lt;br /&gt;In your models that incorporate agent-agent interactions, you won't always need the collidee block, but if the response you need requires information from the other agent in the collision, just remember to use the collidee block and the other blocks found in the "Other Agents" category.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/07/block-talk-hey-who-hit-me.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114657484836691573</guid><pubDate>Tue, 27 Jun 2006 15:39:00 +0000</pubDate><atom:updated>2007-04-15T08:59:25.008-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>turtle speed</category><category domain='http://www.blogger.com/atom/ns#'>spaceland</category><title>Turtle Speed: Faster simulations with OBJ shapes</title><description>In a &lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/06/change-agent-amazing-technicolor-obj.html"&gt;recent post&lt;/a&gt; I demonstrated how to set the visible color of OBJ shapes.  Today, I will highlight another benefit of OBJ shapes over their MD3 counterparts:  they are often faster.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/05/turtle-speed-slide-into-high-gear.html"&gt;Recall&lt;/a&gt; that you can always monitor the rendered FPS and the VMPS by pressing the "H" key twice.  If a model with many agents that are represented with MD3 shapes seems to be running slowly, even with the Speed Slider set to Max Speed, you may achieve better frame rates by switching to OBJ shapes.&lt;br /&gt;&lt;br /&gt;Consider the sample project &lt;a href="http://education.mit.edu/starlogo-tng/tutorial-epidemic.htm"&gt;Epidemic&lt;/a&gt; (epidemic.sltng), found in the Projects folder in the StarLogo TNG installation directory.  Epidemic uses simple OBJ spheres to represent agents that may become infected as they move around and interact with other agents.  The use of OBJ shapes in Epidemic is primarily to be able to use color to differentiate between sick and healthy agents.  However, you may find that Epidemic runs much more quickly thanks to the use of OBJ shapes instead of MD3s, especially on older computers.&lt;br /&gt;&lt;br /&gt;To see the effect, try changing the shape of the agents from the sphere to an MD3, such as Mario or one of the animals.  You will no longer be able to visualize sick and healthy agents with color, and you may also notice that the model runs much more slowly when many agents appear on the screen at once.&lt;br /&gt;&lt;br /&gt;If we ever find a way to improve the performance of MD3s significantly, blog readers will be the first to know!  In the meantime, if you find that your model is running sluggishly, consider changing some of the breeds to OBJ shapes.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/06/turtle-speed-faster-simulations-with.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114988330511923731</guid><pubDate>Fri, 09 Jun 2006 19:58:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.819-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: Get email updates</title><description>Now, there is a new way to find out when information is posted to our blog.  Just sign up for our new mailing list by clicking &lt;a href="http://education.mit.edu/mailman/listinfo/starlogo-blog"&gt;here&lt;/a&gt; or the new link under "Syndication" labeled "Get Email Updates."  Subscribers get the latest post sent directly to their inboxes automatically.  Since the list is moderated, there is no risk of spam, and they can choose to stop receiving updates at any time.&lt;br /&gt;&lt;br /&gt;Of course, you are still welcome to use RSS/Atom feeders such as &lt;a href="http://reader.google.com/"&gt;Google Reader&lt;/a&gt; to get automatic updates with &lt;a href="http://education.mit.edu/starlogo-tng/blog/atom.xml"&gt;our feed&lt;/a&gt;, but we hope many of you enjoy this new option!</description><link>http://education.mit.edu/starlogo-tng/blog/2006/06/agency-get-email-updates.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114657509722045420</guid><pubDate>Fri, 02 Jun 2006 19:30:00 +0000</pubDate><atom:updated>2007-04-15T08:59:25.008-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>change agent</category><category domain='http://www.blogger.com/atom/ns#'>spaceland</category><title>Change Agent: The amazing technicolor OBJ shapes</title><description>While StarLogo TNG stays true to &lt;a href="http://en.wikipedia.org/wiki/Logo_programming_language"&gt;its&lt;/a&gt; &lt;a href="http://el.media.mit.edu/Logo-foundation/"&gt;roots&lt;/a&gt; by providing several turtle shapes, including one that is the default shape for agents when TNG first loads, it also provides dozens of other shapes to help the user differentiate agents in a visually appealing way.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/obj_color_turtle_shapes-712917.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/obj_color_turtle_shapes-708962.png" alt="" border="0" /&gt;&lt;/a&gt;StarLogo TNG supports two different formats for 3D shapes.  One is the MD3 format used by the &lt;a href="http://en.wikipedia.org/wiki/Quake_III_engine"&gt;Quake III engine&lt;/a&gt;. The MD3 shapes provide vividly rendered creatures to enhance your TNG models, featuring multicolored skins such as the clown fish's orange and white stripes.  However, you cannot (yet) change their color to suit your model.  The other format is called &lt;a href="http://en.wikipedia.org/wiki/Obj"&gt;OBJ&lt;/a&gt;, first developed by Silicon Graphics, for which TNG does support changing colors.&lt;br /&gt;&lt;br /&gt;Granted, you can always set an agent's internal pen color, but StarLogo TNG's MD3 shapes do not express these colors on their skin, fur, clothing, or even turtle shell.  That is where TNG's OBJ shapes really shine.  Though they only appear as one color at a time, their color changes to match the color of their pen.&lt;br /&gt;&lt;br /&gt;Unfortunately, we do not (yet) provide an easy way to tell from the Shapes category whether a particular shape is MD3 or OBJ.  One trick to figure it out is that if the image on the shape block has more than one color, then it is probably an MD3 model, and if it is all a solid color, then it is probably an OBJ model.  If you want to be absolutely certain, you can test a shape by setting your agents to be that shape and then calling set color.  If the agent visibly changes color, then it is an OBJ shape.  In the example below, the OBJ turtle shape turns bright magenta:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/obj_color_setcolor-791951.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/obj_color_setcolor-785363.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;StarLogo TNG Preview 2 includes several OBJ shapes.  All of the letter and number shapes, as well as all of the geometric shapes (the cone, cube, cylinder, diamond, pyramid, sphere, and tetrahedron) are OBJs.  We also have several creatures that come in both MD3 and OBJ format, including the clown fish and one of the turtle shapes, and future releases will include more still.&lt;br /&gt;&lt;br /&gt;So, if your model relies on color to convey information in Spaceland, the OBJ models are there to help.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/06/change-agent-amazing-technicolor-obj.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114870880892752726</guid><pubDate>Sun, 28 May 2006 01:11:00 +0000</pubDate><atom:updated>2007-04-15T09:00:56.332-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency insider</category><category domain='http://www.blogger.com/atom/ns#'>starlogoblocks</category><title>Agency Insider: Where's that block?</title><description>&lt;span style="font-style: italic;"&gt;Welcome to the first installment of Agency Insider, where we give you a sneak preview of features slated for upcoming releases!  Today's feature will be available in the next release, &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Preview 3&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, which is due out this summer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Block languages make it easier for us to program because we don't have to remember the names of the commands or what types of arguments they take.  All we have to do is find the command we want in the block factory, drag it out, and connect it in the right spot.  The problem is that sometimes we can't remember which category the block we want is in.  Another tricky problem is when we've been working on a really large project for a while with dozens and dozens of blocks, and we can't remember where we put parts of our program.  Sure, the Minimap helps us find our way around, but we often wished that we could just search for the block we're looking for, the same way we use &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; to find a web site quickly instead of hunting through our bookmarks.&lt;br /&gt;&lt;br /&gt;Well, now we can search for blocks, and when Preview 3 is ready to be released, then you can too!  We added a handy search bar to the corner of the Blocks view:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/search_bar-700579.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/search_bar-798104.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As you type into the search bar, StarLogoBlocks begins to light up, highlighting every block bright yellow that contains what you typed in its name.  Below, I typed "set."  Both the "setx" and the "set height" blocks contain the letters "set," so they light up, both in the workspace and in the factory.  You'll also notice yellow splotches on the Minimap that show where other "..set.." blocks are that we can't see.  For example, the tall one in the middle is a "Setup" block.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/search_results-701546.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/search_results-793311.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Also, notice that some of the categories lit up yellow as well:  Interface, Movement, Colors, Control, and Traits.  That's because those are all of the categories that contain blocks that have "set" in their name.  So, now, if you ever forget where the "setx" block is, just search for it, and the Movement category will glow yellow!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To make it even easier to use search, we added a few extra menu items and keyboard shortcuts:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/search_menu-793968.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/search_menu-789105.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;"Find Blocks" is nothing special; it just moves your cursor to the search bar so you can start typing your search term.  After you type your search term, and a bunch of blocks on the workspace turn yellow, you can use "Find Again" or "Find Previous" to jump to the next or previous block in the search results.  Actually, "jumping" is not the right word; it's more like you &lt;span style="font-style: italic;"&gt;fly&lt;/span&gt; to the next block.  The workspace glides from wherever you were looking over to the next block so it becomes the center of your view.&lt;br /&gt;&lt;br /&gt;Finally, "Find Related Blocks" is for those times when you're looking at a procedure and want to find all the places where it gets called, or you are using a variable and wish you could find the variable declaration block so you can rename it.  "Find Related Blocks" searches the workspace for blocks with the same name as the last block you clicked on.   Since procedure call and definition blocks have the same name, and since variable declaration, getter, and setter blocks all have the same root name, Find Related Blocks helps you find all those similar blocks instantly.&lt;br /&gt;&lt;br /&gt;We are really excited about the new search feature, and we can't wait to share it with you in Preview 3!</description><link>http://education.mit.edu/starlogo-tng/blog/2006/05/agency-insider-wheres-that-block.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114658090298469566</guid><pubDate>Tue, 23 May 2006 00:53:00 +0000</pubDate><atom:updated>2007-04-15T08:53:13.819-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>agency</category><title>The Agency: Video tutorials now available</title><description>Kevin Wang, one of our curriculum developers for StarLogo TNG, produced some excellent &lt;a href="http://education.mit.edu/starlogo-tng/tutorial-videos/"&gt;video tutorials&lt;/a&gt;, which you can download from the StarLogo TNG web site.  If you have trouble viewing the videos, you may need to download the free &lt;a href="http://www.apple.com/quicktime/download/"&gt;Apple QuickTime player&lt;/a&gt;, which is available for both Mac OS and Windows.&lt;br /&gt;&lt;br /&gt;The video tutorial series begins with an introduction to StarLogo TNG and continues with guides to making simple procedures, controlling agent movement with the keyboard, editing the terrain, utilizing different camera perspectives, and handling agent collisions.&lt;br /&gt;&lt;br /&gt;We'll let you know here when more videos become available.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/05/agency-video-tutorials-now-available.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114657518757847485</guid><pubDate>Wed, 17 May 2006 01:21:00 +0000</pubDate><atom:updated>2007-04-15T08:59:25.012-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>turtle speed</category><category domain='http://www.blogger.com/atom/ns#'>spaceland</category><title>Turtle Speed: Focus on Spaceland</title><description>In a &lt;a href="http://education.mit.edu/starlogo-tng/blog/2006/05/turtle-speed-slide-into-high-gear.html"&gt;recent post&lt;/a&gt;, I explained the difference between FPS and VMPS in StarLogo as well as how to monitor them by pressing the "H" key.  I also showed you how to control the VMPS using the Speed Slider.&lt;br /&gt;&lt;br /&gt;Unfortunately, there is no way to control the FPS directly.  The number of frames per second that StarLogo can show you depends a lot on your computer's hardware, especially its graphics card and processor.  Nevertheless, today's tip explains one way to boost Spaceland's FPS substantially.&lt;br /&gt;&lt;br /&gt;Many 3D games take up the whole screen while they are running.  They can run as fast as possible without worrying about whether it will slow down your ability to surf the web or compose an e-mail message, whereas StarLogo does not have that luxury.  One of our design goals is that running a model in Spaceland, even at max speed, should not interfere with your ability to modify the blocks code or work with other pieces of software.  Spaceland cannot greedily hog your computer's processor if you want to multitask.&lt;br /&gt;&lt;br /&gt;In order to meet this goal, we designed Spaceland to automatically throttle the FPS when it is not the focused window.  For example, when you push a Forever button in the Runtime workspace, Spaceland will not have focus, as shown for Mac OS X in the screenshot below, where you'll notice that the title and the three buttons on the left are grayed out:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fps_spaceland_not_focused-702710.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fps_spaceland_not_focused-799336.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Even at max speed, when Spaceland is not in focus, this Mac only gets about 34 frames per second and 33 virtual machine cycles per second.  Now, if you click on the Spaceland window, the buttons light up red and green, and the title becomes bold:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fps_spaceland_focused-792593.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fps_spaceland_focused-781455.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Wow!  The FPS shot up to 110 frames per second on this Mac, and all we had to do was click on the window.  By giving focus to the window, we are literally telling StarLogo that we intend to give Spaceland our attention, and Spaceland speeds ahead.  Then, when we want to control the model with blocks, as soon as we click on a block, Spaceland loses focus and slams on the brakes, giving the blocks a chance to move.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/05/turtle-speed-focus-on-spaceland.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114657572828592966</guid><pubDate>Fri, 12 May 2006 20:21:00 +0000</pubDate><atom:updated>2007-04-15T08:55:20.896-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>change agent</category><title>Change Agent: Save early, save often</title><description>Losing data is one of our biggest fears when it comes to working with technology.  A web site goes down, and we lose that e-mail message we spent an hour composing.  A program crashes, and the document or presentation we were working on vanishes.  Ever had a mobile phone stolen or run over by a truck?  Then you might know how hard it is to recover all of your friends' phone numbers.&lt;br /&gt;&lt;br /&gt;As much as we wish StarLogo TNG could be the most reliable piece of software you have ever used, it isn't.  Preview 2 is still a beta release, and while it is good enough to use and play with, sometimes it breaks when you least expect it.  For that reason, I'll give you the same advice about StarLogo that I would give you about any piece of software:  save your project early and save it frequently.  That way, if and when StarLogo crashes, you will be able to load your project without having to redo too much yourself.&lt;br /&gt;&lt;br /&gt;One caveat is that even the saving and loading mechanism of StarLogo may not always work either.  Some users have reported that some of their blocks disappear or show up disconnected when they load their projects.  The "Save Next Version" feature can help you avoid extreme data loss from corrupted save files.&lt;br /&gt;&lt;br /&gt;After you save a new project for the first time, you can choose File...  Save Project to update the existing save file with the current project, or you can choose File... Save Next Version, which preserves your original file and creates a new one with the next available version number appended to it.  So if you're working on pacman.sltng, Save Next Version will put a new file called pacman01.sltng in the same folder.  Save Next Version again, and you'll be working on pacman02.sltng.&lt;br /&gt;&lt;br /&gt;That way, when you try to load the most recent version, you can easily go back to an earlier version if there is a problem.  If your project loads without any trouble, then you can safely delete earlier versions of the project.&lt;br /&gt;&lt;br /&gt;One last warning:  In Preview 2, there is a bug that prevents Save Next Version from warning you if it will overwrite an existing file.  So if you are editing pacman.sltng, and you already have a file called pacman01.sltng in the same folder, Save Next Version will overwrite pacman01.sltng without giving you a chance to change your mind first.  We'll fix that for the next release.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/05/change-agent-save-early-save-often.html</link><author>Corey McCaffrey</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-27402117.post-114719540664546824</guid><pubDate>Tue, 09 May 2006 20:22:00 +0000</pubDate><atom:updated>2007-04-15T08:54:49.093-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>turtle speed</category><title>Turtle Speed: Slide into high gear</title><description>We designed StarLogo TNG with the following goal in mind:  Models should run at the same speed on all computers that meet the minimum system requirements.&lt;br /&gt;&lt;br /&gt;In order to meet this goal, we defined two distinct measures of model speed called FPS and VMPS.  FPS may be familiar to all the gamers out there.  It measures the number of "Frames Per Second" that your computer draws in the Spaceland window.  Computers with high-end graphics cards will achieve higher FPS, and the higher the FPS, the smoother the animation.  It will still take an agent the same amount of time to walk forward one step, but it will look more fluid on a faster computer.&lt;br /&gt;&lt;br /&gt;VMPS is the number of "Virtual Machine [cycles] Per Second," and it measures the number of times per second that your model gets run by every agent.  So if your block program is "Forward 1," there are 100 agents in the model, and you put the program in a Forever button, then the VMPS is how many times every second that all 100 agents take one step forward as the program is repeated forever.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tip:&lt;/span&gt; The "H" key toggles displaying the FPS and VMPS in Spaceland.&lt;br /&gt;&lt;br /&gt;While it is true that a given model should run at the same speed on any computer, we realized that not all models need to run at the same speed, and sometimes it is useful to speed up or slow down a model while you are developing it.  The Speed Slider makes this task easy!  Just click the "Runtime" tab and drag the slider to adjust the speed.  You can even pause the model entirely and run it one VM cycle at a time with the "Step" button.&lt;br /&gt;&lt;br /&gt;So, if you want your model to run twice as fast, drag the slider to the tick mark labeled "2x," or just click on "2x."  The FPS might stay the same, but the VMPS will double!&lt;br /&gt;&lt;br /&gt;But what if you don't care about your model running at the same speed on any computer, and you just want your model to run as fast as your computer will let it?  Games would not be as fun if they played this way, but sometimes it helps if you are running a simulation.  The good news is that you can; just move the slider all the way to "Max" to get the maximum speed.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fps_speed_slider_max-710349.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://education.mit.edu/starlogo-tng/blog/uploaded_images/fps_speed_slider_max-706802.png" alt="" border="0" /&gt;&lt;/a&gt;Now, if you press the "H" key to look at the FPS and VMPS for your model, you'll see that they are about the same.  Instead of trying to get smooth animation, TNG will only draw one frame for every cycle of the VM.  It may not look as nice, but it will be fast!&lt;br /&gt;&lt;br /&gt;You may also notice that the numbers fluctuate-- a lot.  That's because your computer may be trying to do other things while you are running the model.  For example, if your computer is also playing music or connecting to a web site, it will have less free time to run your model, and the model will run more slowly.  At max speed, the fewer other things your computer has to worry about, the faster your model will run.</description><link>http://education.mit.edu/starlogo-tng/blog/2006/05/turtle-speed-slide-into-high-gear.html</link><author>Corey McCaffrey</author></item></channel></rss>