One of the things that makes Sharendipity so unique is the ability for anyone in the community to become a producer of components that others can build on top of. This can include small elements like a game actor or a graphic, or perhaps a behavior that can be applied to certain classes of actors.
But perhaps the best example of becoming a power builder is the ability to create entire application templates. These come in all shapes and sizes, but they allow anyone in the community to quickly and easily extend your work at the application level. This is best seen through our configurator feature. Examples include :
- Swappers : Simple games that let anyone swap out images and sounds to create custom versions of the game.
- Application Kits : A collection of parts that can be assembled in any way to create a unique game or puzzle. For example...
- The Puzzle Popper Creator lets you create your own Popper Puzzle from scratch using the various game elements.
- The Match Template lets you quickly create interactive study guides.
Not everyone realizes this, but
anyone can create one of these templates to be re-used by others. This post will walk you through the basics of creating a simple swapper template.
Application Configuration

Once you've built a fully functional application, you have the opportunity to expose different elements to be configured. In order to configure an application to be customized, start by clicking on the Director (the character farthest to the left), and selecting "Edit Class..." as show in the image on the right. This will bring up the Object Builder for the Application class, as shown below.

Clicking on the Advanced menu, and selecting "Integration..." will pop up the "Integration Step Management" dialog. This dialog allows you to set up the individual steps that a user will walk through when they are customizing an application.

Right now there are three types of steps that you can add: Instructional, property modification, and actor placement. Instructional steps require no input from the user, they just allow the author to provide information about the configuration process. Property modification steps, listed as "Ask for one or more property values" in the step addition dialog, allow the user to specify a value for any property on any object. These may be used to set the number of enemies, firing rates, or really anything that the author has set up to be configured. Actor placement steps allow the author to specify certain actors that the user can drag into the world. This allows the configurator to function as a sort of level editor where the user is actually creating the layout of the game that they're making.
Above you can see the integration steps for
Floater, one of our customizable games. You can see there are six steps. The first is simply an introduction to the configuration wizard from the standpoint of the Floater author:

The other steps allow the user to configure various properties of the application, including the image for the main character, the number of enemies (1 or 2 in this case), images for two different kinds of enemies, and the background image. When someone wants to configure the actual application, this is what they'll see:

Similarly, editing the second integration step for Floater lets us see how it is set up. The World property "character image" is the one being edited:

You can see allows us to provide some instructions for this step as well, but now user input is required to move on to the next step. Again, the corresponding dialog when the user is actually editing the application looks like this:

For an example of an actor placement step, we'll take a look at the
Puzzle Poppers Creator. This is a balloon popping game that has been set up so that the user can place balloons and walls to build their own levels for others to play. The integration step of interest looks like this:

And when the user is configuring the application, the dialog appears as such:
