What is a "Framework"?
Posted: Fri Aug 21, 2009 6:52 pm
MapTool provides support for a lot of different game systems by not supporting any of them directly. (Yeah, sounds strange. Keep reading.)
The most flexible way to support a wide variety of games was to put as little game-specific code into the program as possible. Instead, MapTool provides support for all the things a game needs, but requires configuration for them to be active.
For example, light sources work differently in different games. Some games won't need light sources at all (such as backgammon or chess). For those games that do need light effects there are tools to configure the light sources: range of light, bright or dim, color of the light as shown on the map, transparency level, and so on. (Not all of these may be implemented in a particular version of MapTool. I'm trying to stick with concepts here so bear with me.)
Other examples of the differences include types of vision, how to count movement along diagonals, whether fog-of-war should be used, and many more. All of these are configurable by the user who sets up the map (usually called the GM, short for Game Master).
Some functions in a game can be very complex. It might be setting up an attack that affects a large area of the map or calculating how many hits a unit can take before it's destroyed. (Some games call them "units", others might use "tokens", "figs", "creatures", "pogs", or some other term. Essentially they are the player-controlled pieces on the board.) There's no way that MapTool could possibly support every different type of combat resolution technique!
So that's where the macro language comes into the picture. It's a way of automating things that happen over and over again in the game(s) you play. There are so many people playing certain games (D&D3.x, D&D4, Savage Worlds, and so on) that those individuals have pooled their talent and created campaign frameworks that serve as a base for other GMs to build on.
A campaign framework includes definitions for light sources, vision types, token states (such as "Blinded" in D&D or "Movement Reduced" in a game like Axis and Allies), and various properties that apply to every token. A key feature is that once that list has been established, it's quite practical to build a collection of macros that use those features to make things easier for both players and GMs.
Even if you're not going to be playing a particular game, that game's framework may be useful as a stepping off point for learning how to create your own framework!
The most flexible way to support a wide variety of games was to put as little game-specific code into the program as possible. Instead, MapTool provides support for all the things a game needs, but requires configuration for them to be active.
For example, light sources work differently in different games. Some games won't need light sources at all (such as backgammon or chess). For those games that do need light effects there are tools to configure the light sources: range of light, bright or dim, color of the light as shown on the map, transparency level, and so on. (Not all of these may be implemented in a particular version of MapTool. I'm trying to stick with concepts here so bear with me.)
Other examples of the differences include types of vision, how to count movement along diagonals, whether fog-of-war should be used, and many more. All of these are configurable by the user who sets up the map (usually called the GM, short for Game Master).
Some functions in a game can be very complex. It might be setting up an attack that affects a large area of the map or calculating how many hits a unit can take before it's destroyed. (Some games call them "units", others might use "tokens", "figs", "creatures", "pogs", or some other term. Essentially they are the player-controlled pieces on the board.) There's no way that MapTool could possibly support every different type of combat resolution technique!
So that's where the macro language comes into the picture. It's a way of automating things that happen over and over again in the game(s) you play. There are so many people playing certain games (D&D3.x, D&D4, Savage Worlds, and so on) that those individuals have pooled their talent and created campaign frameworks that serve as a base for other GMs to build on.
A campaign framework includes definitions for light sources, vision types, token states (such as "Blinded" in D&D or "Movement Reduced" in a game like Axis and Allies), and various properties that apply to every token. A key feature is that once that list has been established, it's quite practical to build a collection of macros that use those features to make things easier for both players and GMs.
Even if you're not going to be playing a particular game, that game's framework may be useful as a stepping off point for learning how to create your own framework!