Content Development

From Second Life Wiki
Revision as of 21:53, 20 September 2007 by Ralph Doctorow (talk | contribs)
Jump to navigation Jump to search

Development Use Cases

Programmed Object Creation

  • Creator wants to build a family of complex objects
    • Creator builds or buys and uses appropriate builder tools to develop the object framework for the family of objects.
    • Other members of the object family are built by using the first as a component or template for building others and letting the builder tool compile the rest.
    • Design changes can be done by modifying the initial object framework and using the builder tool to recompile the family members.

Comments

  • Practically, this is probably only possible if 3rd parties can freely build and sell development tools that will run off world. In any event, LL's expertise and value added isn't in building such tools.
  • Furthermore this means that the external object definition interface must well defined and open ended, e.g. XML so it can withstand updates.

IDE based script development

  • Creator wants to develop scripts in a productive IDE
    • Auto-completion needs to be updated whenever the scripting API changes
    • The IDE needs access to a current version of the compiler for whatever language(s) are supported.
    • Debugging needs to be integrated into the development environment.
    • Context dependent help should be available and current.

Comments

  • Again, this is probably only practical if it can be built by 3rd parties and runs off-world.
  • The language definition for the IDE needs to be kept updated and easily downloadable.
  • The actual current compiler must be able to run off-world and emit code that can be run.

Testing, Debugging

  • Creator wants to build repeatable test cases for scripted objects
    • Uses debugging tools integrated with the IDE.
    • Sets up the starting environment to run the test or reloads a saved starting environment.
    • Instruments the code with logging and breakpoints.
    • Runs the test with programmable event stimulation and/or interactions with other objects.
    • If a breakpoint is hit, the simulation freezes and allows examination of variables, object states, immediate history
    • At a breakpoint, the simulator state can be saved for immediate or later restart.

Comments

  • This probably requires some kind of debugging sim that can be loaded on a local machine.
  • Again, this is probably only practical if 3rd parties can build the debuggers, so the off-world sims need a well defined API to access both debugging information and to do things like take a state snapshot, restart from a saved point, and stimulate event firings.
  • The sim needs to