With the MiceOnABeam visual scripting tool, you can now graphically design your LSL (Linden Scripting Language) scripts and have the tool automatically generate most of the programming code for you. MiceOnABeam simplifies the development of new scripts by reducing the amount of manual coding. Users of Second Life® or OpenSim based virtual worlds that are new to programming and/or LSL will find that by expressing programming concepts graphically, designing scripts will be much easier.
However MiceOnABeam also provides advanced design techniques¹ that will prove invaluable to you if you are an experienced scripter, enabling you to develop complex scripts with less effort and providing more clarity to the design.
With MiceOnABeam you choose among graphical modeling components to specify the program flow of your script in terms of a design concept called a State Machine, whereby your script's logic is broken down into several states. You then specify the events from your virtual world that you want your script to respond to by drawing transition lines between the states.
To specify what happens when an event occurs you can then either use the built-in LSL Actions and the LSL Action Wizard or insert your own LSL code directly.
The program then generates the LSL code for the model to form a complete ready to be deployed script for the SL® or OpenSim based virtual worlds.
Features for New Scripters
- Visual Scripting!
- Automatic LSL code generation
- LSL Action Wizard provides easy form-based access to many LSL functions
- Built-in LSL code editor with syntax checking and keyword completion
- Debug your scripts with automatic execution tracing
- Model Comments allows you to fully document all components in your script model
- General text search capability which can search for text scoped to a portion of the model.
- Extensive Online Documentation of program and modeling features
Features for Experienced Scripters
- Advanced modeling concepts including Composite States & Group Transitions
- Model editing features including the ability to aggregate and decompose states
- Easily browse your more complex designs using a State Explorer and automatic pop-up notes that contain design information for each model component
- Comprehensive support for reusable and configurable components which can be saved to serve as templates or design patterns
- Conditional Compilation to control the inclusion or exclusion of blocks of LSL code
- Option to use your favorite external LSL code editor
- Measure and report execution times of model components with Performance Analysis
¹While LSL supports state machines, it only provides the most basic features of this technique. Software modeling methodologies have evolved over the years and currently the state machine formalism refined and documented by the Object Management Group's (www.uml.org) Unified Modeling Language (UML®) V2.0 is used by many developers world-wide to design software for event-driven systems like Second Life, where everything happens dynamically in real-time as you interact with the virtual world. MiceOnABeam is based on a subset of this specification.
Further, in practice few scripters use LSL states in their scripts due in part to the side-effects in transitioning from one state to the next. These include the clearing of all queued events and the canceling of outstanding event filters. MiceOnABeam solves this problem by letting you graphically model the state machine logic for your script, including multiple states as desired. The model is then mapped to a single state in the generated LSL code.
Second Life and SL are trademarks of Linden Research, Inc. UML is a trademark of Object Management Group, Inc.