At 11:14 AM 3/20/2007, you wrote:
One of the necessary elements of a ground-up system build in the upcoming Developer's Kit will be the fact that many systems you'll want to use it for are pure point-buy; the player or GM gets a single pool of points from which to purchase ll the abilities of the character (frequently having the opportunity to gain additional points by picking up things that hinder them). M&M works somewhat like that (the PL gives you a pool of points from which to buy the PC's abilities).
So not only is that capacity important to be able to include, but it is also important to have the ability to allow the GM using the system to simply pile on the points regardless of the set limits for NPCs (for which he can use any rules he wants to create characters).
ow easywil tate tocode in?
There are two factors involved with this. The first is the Hero Lab engine itself, which basically allows you to do whatever you want. The second factor is the way the data files are designed. This is where things get more interesting.
The mechanisms that are currently provided with the d20 files are actually implemented BY the d20 files. They are NOT a limitation of the engine. They are simply what has been added to the data files at this point. This is an important distinction, since users are likely to view the two as the same thing. With the development of data files for other games underway, the engine can support everything we've thrown at it so far, plus a whole lot of stuff we haven't yet tried.
Quite simply, Hero Lab provides a generic language and interface for describing RPGs. In the same way that you can write both a word processor and paint program using the same programming language, Hero Lab allows the description of radically different RPGs.
The d20 files have only implemented the handful of spell mechanisms used by the SRD. Other mechanisms can be added, with various levels of complexity involved. Each spell mechanism has to have the following performed:
1. Implement the basic mechanics for allocating the pool(s) allowed. For example, d20 assigns a fixed number of spells for each level, and so an array is used to easily specify this. For a point-buy system, a single resource pool field might be used that has points assigned to it via a script (much like how skills work). Just about anything can be supported by the Hero Lab engine.
2. Handle multiplicity. In a multi-class situation, proper handling of distinct requirements and pools must be handled properly, etc. This may require extra work to setup correctly.
3. Generalize and implement adjustments to the allocations in #1. For example, ability scores grant bonus spells.
4. Implement the basic mechanics for consumption from the pool(s). This means choosing spells and having them draw from the pool(s) allocated above.
5. Integrate the basic mechanics into the other aspects of the data files. In the case of spells, there are some aspects that tie across to other parts of the data files. This stuff needs to be verified to be working correctly.
6. Provide a reasonable interface for selecting spells with the new mechanics. This might be easy, or it might be hard. The d20 data files provide a number of pre-defined mechanisms that can be re-used within the d20 files (e.g. the cleric/wizard "memorize" method, the sorcerer "spontaneous" method, the wizard spell book, etc.). If you roll your own, you'll need to model a new solution after what's currently provided within the d20 files.
7. Add validation to ensure that the user is prompted when selections are required and when invalid conditions arise.
All of the above is handled completely by the data files. Putting the logic into the data files is what allows Hero Lab to completely morph to each game system.
For a game system like M&M, wherein point-based purchases is a standard mechanic, the core M&M files will incorporate that and it should be able to be re-used pretty easily. In the case of d20, we're already planning on adding such mechanisms so that groups that utilize those mechanics as house rules can switch over to them pretty smoothly.
As for the GM piling on points, that's easy to do. For a game like M&M, the user will specify the starting number points for the hero on the Configure Hero form instead of the starting level. This form is entirely customizable for each game system, just like everything else within Hero Lab. The Journal tab will track Power Points instead of XP (again, fully customizable). And users will be able to add custom adjustments if they want via the same approach used in the In-Play tab.
I hope this helps to explain things better. If not, let me know and I'll try to clarify further....