View Full Version : v2 Status Report
Simon
Jun 17th, '03, 07:24 AM
OK...I wanted to give folks an update on the status of v2 development:
Things are going rather well so far. On the performance side of things, I've completely revamped the way that the purchase lists work. The improvement from this change has been dramatic....I'm seeing several orders of magnitude of speed improvement on large characters like Dr. Destroyer when adding items to a list, moving purchased items around in the list, etc. Speed is up (way up) and memory consumption is down (way down).
So, good news there.
I've just finished the first round of work on the hierarchical template structure (with templates "extending" a parent template). This seems to have worked out without a hitch and has created a MUCH simpler template structure. I've attached an example (the Standard Hero template) to show you what I mean.
What this new structure will allow folks to do is to very easily create their own templates, extending one of the pre-defined templates and only including those items that they want to change.
It also means that folks that do develop their own templates will not need to update their custom templates everytime the main templates are updated. The updates to the main templates will automatically flow through to their edited templates. The only time this won't occur is if they have re-defined one of the updated items in their own template.
To give an example:
<blockquote>
Main.hdt is the main template definition, containing all abilities and definitions, etc.
StandardSuper.hdt extends Main.hdt and really only defines the starting base points and available disad points. Everything else is the same.
Durnin creates a custom template called Durnin.hdt which changes the base level of STR, changes the cost of STR to 2 points per level, and changes the cost for EGO Attack to 5 points per level.
In order to make these changes, Durnin would simply need to extend StandardSuper.hdt and define his version of STR and EGO Attack. Nothing else would need to go in the template.
Now...If I release an update after Durnin creates his template and that update contains a template change for Mental Defense, that change will flow through to Durnin's template, since it is inheriting the definition for Mental Defense from StandardSuper.hdt (which inherits it from Main.hdt).
The only time Durnin would need to worry about changing his template is if the definition for STR or EGO Attack changed in some way and he wanted to reflect that change in his custom template.</blockquote>
My next order of business is to make some template additions to define such items as damage types, defense types, etc. (for use in modifier intelligence) and then do a fair bit of work on the Modifiers (how the intelligence functions, how they are assigned, etc.).
So....that's where things sit right now. I'll post more as I have it ;)
Derek Hiemforth
Jun 17th, '03, 08:08 AM
This sounds great, Dan! This should make creating and maintaining custom templates MUCH easier. :)
xanatos
Jun 17th, '03, 08:16 AM
Can you "hide" skills/powers/etc. defined in the main template in child templates?
Simon
Jun 17th, '03, 08:46 AM
Originally posted by xanatos
Can you "hide" skills/powers/etc. defined in the main template in child templates?
yes...I should have included an example of that....
All you need to do is to put the XMLID of the item inside of a "REMOVE" container. For example, to remove the Acrobatics Skill, you'd have something like the following:
<TEMPLATE version="2.0" extends="builtIn.StandardSuper.hdt">
.
.
.
<SKILLS>
<REMOVE>ACROBATICS</REMOVE>
.
.
.
</SKILLS>
.
.
.
</TEMPLATE>
You can have as many "REMOVE" containers in each section as you want. The app will go through the parent's list and remove any matching item with the corresponding XMLID.
tiger
Jun 17th, '03, 12:19 PM
First, I'm not trying to add fuel to another fire or anything. Just want to make sure I understand this.
in V2, if I modify a templet with my added disadvantage, or new skills, talents whatever. IT will access the main.hdt, my.hdt and then bring them both up in the program. Right?
Simon
Jun 17th, '03, 12:25 PM
Originally posted by tiger
First, I'm not trying to add fuel to another fire or anything. Just want to make sure I understand this.
in V2, if I modify a templet with my added disadvantage, or new skills, talents whatever. IT will access the main.hdt, my.hdt and then bring them both up in the program. Right?
I think that you've got it, but just to be sure, I'll give a bit more detail on the actual process:
When you change templates, the app will go through the following process:<ol>
<li>See if the currently loaded template has any common ancestors with the template that you are loading in. If they do, then the process will start with the common ancestor, using the currently loaded version of it. If they don't, then the process will begin by loading in the ultimate parent in the chain defined by your template (for example, if your template extends "builtIn.VeryPowerfulSuper.hdt" which extends "builtIn.StandardSuper.hdt" which extends "builtIn.Main.hdt", then the ultimate parent is "builtIn.Main.hdt" -- the template that starts the whole chain)</li>
<li>Load in the templates from teh top down....in other words, start with the ultimate parent, then load in the next template in the chain, then the next, and so on. In the case of the above example, "builtIn.Main.hdt" would be loaded, followed by "builtIn.StandardSuper.hdt", followed by "builtIn.VeryPowerfulSuper.hdt", followed, finally, by your template. As each template is loaded in, it's definitions, removals, additions, etc. are taken care of.</li>
</ol>
I hope that this helps clear up the process a little bit....as I said, I suspect that you've got it pretty much right.
There will only ever be one template active on a given character....but that template may be defined in multiple files, as it inherits definitions from its parents, grandparents, etc.
tiger
Jun 17th, '03, 12:35 PM
One quick question.
If I have a disadvantage I want on all templetes I'm going to assume I'll need to modify each one and save them for the templet "chain" if you will
Simon
Jun 17th, '03, 12:41 PM
Originally posted by tiger
One quick question.
If I have a disadvantage I want on all templetes I'm going to assume I'll need to modify each one and save them for the templet "chain" if you will
Sort of....you'd create a custom template for each of them. The custom template definition would be extremely simple (containing only that one disad). The only thing that would need to change between each of the custom templates would be the template that it was extending.
That's the one disadvantage to going with a "flat" hierarchical structure (as opposed to a more amorphous, multiple inheritance structure), but the benefits on performance, tuning, and clarity are well worth it, IMO.
Simon
Jun 18th, '03, 09:51 AM
More reports from the field:
The new modifier functionality is complete. The changes made include:<ul>
<li>All modifiers are now placed in the "Assign dialog", accessed through the "Add Modifier" button. The only modifiers that will appear in the ability dialog itself will be those that have already been assigned.</li>
<li>The "Assign dialog" for modifiers will now remain open until dismissed, allowing you to add as many modifiers as you want without having to click the "Add Modifier" button each time.</li>
<li>The Assign dialog now has four lists: "Available Advantages," "Available Limitations," "Unavailable Advantages," and "Unavailable Limitations". The unavailable lists will show all Modifiers that cannot currently be assigned to the Power and will display the reason why when selected. Frex: if you select Damage Shield on a straight EB, you will get "Damage Shield can only be applied to Constant, Persistent, or Inherent Powers (or Powers with the Continuous Advantage)."</li>
<li>The modifier intelligence has gone through the first round of upgrade, adding in such attributes as what defense type applies to the Power, whether the power does damage or not, whether the Power does BODY or not, whether the Power does knockback or not, whether the Power does killing damage or not, and what the "target' of the Power is (DCV, ECV, HEX, etc.)</li>
</ul>
Back to the coding....
xanatos
Jun 18th, '03, 01:29 PM
Can you RENAME skills/powers/etc.? In some genres some skills have different names... If there was the possibility of renaming skills then I could seamlessy move a character between genres.
Simon
Jun 18th, '03, 01:37 PM
Originally posted by xanatos
Can you RENAME skills/powers/etc.? In some genres some skills have different names... If there was the possibility of renaming skills then I could seamlessy move a character between genres.
You can already do this....
You can simply rename the Skill when purchasing it....
You can create a Prefab with the renamed Skill so that you can just select the Prefab item...
You can edit the template to change the name of the Skill in the available list.
The third option will become markedly easier in v2 as a result of the hierarchical template structure.
JohnTaber
Jun 18th, '03, 01:57 PM
Hi Dan: Man-o-man these changes sound bueno. Great stuff!
Simon
Jun 19th, '03, 03:29 AM
Since my new pup kept me up last night, I've got more functionality ready to roll on v2: user preferences.
You can currently set the following options:<ul>
<li>Restore window position/size at startup</li>
<li>Remember dialog position/size for edit windows</li>
<li>Load characters at startup</li>
<li>Load prefabs at startup</li>
<li>Use 'Modifier Intelligence'</li>
<li>Number of decimal places for rounding</li>
<li>Character template directory</li>
<li>Export template directory</li>
<li>Username for repository</li>
<li>Password for repository</li>
</ul>
The next thing that I'll be working on will be implementing "campaign rules". Here's the list that I'm looking at for this section:<ul>
<li>AP Max (attack) + response type (ignore, warn, do not allow)</li>
<li>AP Max (defense) + response type</li>
<li>Disad category max + response type</li>
<li>Exceed available Disad points (ignore, warn, do not allow)</li>
<li>Exceed available total points (ignore, warn, do not allow)</li>
<li>Skills max + response type</li>
<li>Perks max + response type</li>
<li>Talents max + response type</li>
<li>Equipment max + response type</li>
<li>Equipment max value (monetary) + response type</li>
<li>Equipment value units (monetary) -- e.g. "gp" or "$" or whatever</li>
<li>Standard Effect allowed</li>
<li>Use Language similarities</li>
</ul>
Talon
Jun 19th, '03, 05:37 AM
Sweeeet.
As per the monetary units thread, will there be a way for the GM to distribute all of the campaign settings to players?
Simon
Jun 19th, '03, 05:47 AM
Originally posted by Geoff Speare
Sweeeet.
As per the monetary units thread, will there be a way for the GM to distribute all of the campaign settings to players?
Yes. You will be able to save your "campaign rules" into a file, to be restored whenever you want.
You can distribute these files (.hdr) to your players. I will also have the "package character files" function include the rules file in the package, since the character save file will specify the rules that it was created with.
I should mention that this only applies to campaign rules. The application prefs that I have implemented are stored for your application and not on the character.
rjcurrie
Jun 19th, '03, 09:51 AM
Hey Dan:
I think a lot of people would like to see an option for turning on and off the limit on only selling back one figured characteristic.
Rod
Simon
Jun 19th, '03, 09:55 AM
Originally posted by rjcurrie
Hey Dan:
I think a lot of people would like to see an option for turning on and off the limit on only selling back one figured characteristic.
Rod
I'm planning on putting that into the campaign rules....there's going to be a rather large section in there in which users can toggle pretty much all of the 'automatic' rules that are currently in place (only 1 figured characteristic being sold back, 'does not add to figured' on characteristics in Frameworks, etc.)
I will, over the long term, also be working in all of the "with GM permission" items from the rulebook....I doubt that many of these will be in place for the initial release, however, as I will be concentrating on the "hard rules" mentioned above.
DocMan
Jun 19th, '03, 11:20 AM
Dan,
I know this is one of those fiddly things that you probably don't have time for, but...
Would it be possible to set up an option sheet where one could assign abbreviations for common powers and disads? For instance, instead of Distinctive Features, have the output show up as DF:.
I don't know how much this has messed with anyone else, but I've had to edit two characters in order to keep them from spilling over into extra pages. Most of the time, I was making the same changes over and over. Usually Psychological Limitation to Psych Lim.
Anyway... thought I'd mention it. If not v2, maybe v3?
DOc
Simon
Jun 19th, '03, 11:30 AM
Originally posted by DocMan
Dan,
I know this is one of those fiddly things that you probably don't have time for, but...
Would it be possible to set up an option sheet where one could assign abbreviations for common powers and disads? For instance, instead of Distinctive Features, have the output show up as DF:.
I don't know how much this has messed with anyone else, but I've had to edit two characters in order to keep them from spilling over into extra pages. Most of the time, I was making the same changes over and over. Usually Psychological Limitation to Psych Lim.
Anyway... thought I'd mention it. If not v2, maybe v3?
DOc
You'll need to edit the templates for that. The good news is that editing templates will be a lot easier for v2.
DocMan
Jun 19th, '03, 12:23 PM
The output templates, or the base character templates?
I'm sorry if it seems like I'm asking stupid questions, I haven't had to time to do a detailed read of the documentation, much less experement with the more esoteric modifications.
Doc
Simon
Jun 19th, '03, 12:27 PM
Originally posted by DocMan
The output templates, or the base character templates?
I'm sorry if it seems like I'm asking stupid questions, I haven't had to time to do a detailed read of the documentation, much less experement with the more esoteric modifications.
Doc
The character templates. They provide the initial settings and rules for all of the objects/abilities in the system.
Teflon Billy
Jun 19th, '03, 06:07 PM
I've run into problems with some of the limits on large numbers in HD when trying to make certain powers, one being powerful items (i.e. nukes etc...) and two when I tried to make a high end FTL power.
For the first issue could it be possible to widen the number fields for starting points, disadvantages and experiance to 6 digits instead of 4, also some of the characteristics run don't have a wide enough field for their figured characteristics (END, REC for STR and CON) that is you can max out STR and CON but the progam can't display the figured characteristics for these primary characteristics because the digits field is too narrow.
And specifically for the FTL power I was trying to do about 21 levels of FTL and overflowing the integer (32 bit I think in this case). (If you must know why you would need speeds this high, it was to simulate some of the speeds seen in Star Wars)
Would it be possible to maybe move some of the variables that store large discrete values (e.g. high FTL, max lift for high STR) over to long ints (64 bit) or over to floats (since Hero values start rounding to the nearest 50 after so many doubleings and would be restricted to 2 significant figures, you shouldn't run into gross floating point errors)? Also would it be possible to choose which unit increments the power is displayed in (i.e. 3600 ly/hr, 60 ly/min, 1 ly/sec, seconds would probably be the smallest unit of time needed)?
I realize these are both rather extreme corner cases for the progam and aren't really any where near a priority. But I just wanted to toss them out there and see what you thought.
TB
Simon
Jun 19th, '03, 06:17 PM
Originally posted by Teflon Billy
I've run into problems with some of the limits on large numbers in HD when trying to make certain powers, one being powerful items (i.e. nukes etc...) and two when I tried to make a high end FTL power.
For the first issue could it be possible to widen the number fields for starting points, disadvantages and experiance to 6 digits instead of 4, also some of the characteristics run don't have a wide enough field for their figured characteristics (END, REC for STR and CON) that is you can max out STR and CON but the progam can't display the figured characteristics for these primary characteristics because the digits field is too narrow.
And specifically for the FTL power I was trying to do about 21 levels of FTL and overflowing the integer (32 bit I think in this case). (If you must know why you would need speeds this high, it was to simulate some of the speeds seen in Star Wars)
Would it be possible to maybe move some of the variables that store large discrete values (e.g. high FTL, max lift for high STR) over to long ints (64 bit) or over to floats (since Hero values start rounding to the nearest 50 after so many doubleings and would be restricted to 2 significant figures, you shouldn't run into gross floating point errors)? Also would it be possible to choose which unit increments the power is displayed in (i.e. 3600 ly/hr, 60 ly/min, 1 ly/sec, seconds would probably be the smallest unit of time needed)?
I realize these are both rather extreme corner cases for the progam and aren't really any where near a priority. But I just wanted to toss them out there and see what you thought.
TB
I'll be going through most of the app to make adjustments (changing from 32bit Integers to 64 bit longs). That should take care of any of the overflow issues. I'll also be limiting the max levels on some powers so that folks that are just experimenting don't go overboard...I doubt that I'll change any of the cost fields to 6 digits, though. I think that 9,999 points for a single ability is MORE than enough.
Melchior777
Jun 19th, '03, 07:02 PM
<pom-poms waving> Dan, Dan, he's our man. If he can't code it, no one can.
Kristopher
Jun 19th, '03, 10:28 PM
I'd like to see a "Native Language" switch in the languages.
Also, are the language "chart" and the resulting point alterations already implimented in a way I haven't found, or are they simply not there? Are the skill enhancers somewhere I haven't noticed yet?
OK, I'm done.
rjcurrie
Jun 19th, '03, 10:43 PM
The language chart has not yet been implemented. I believe it may be in Dan's plans for v2.
For native language, your best bet is to simply use an appropriate negative custom adder to reduce the cost to 0. You can either edit "Custom Adder" to something like "Native language" or remove the "Custom Adder" text altogether if you want no indicator.
You can find the Skill Enhancers in the menu bar at the top of the character screen pane (that is, the pane where the purchased abilities appear) on the Skills tab. The one exception is Well-Connected which is treated as a Perk Enhancer because it affects Perks and is found in a similar location on the Perks tab.
You may want to read the documentation which is available by selecting "View Documentation" from the Help menu.
Kristopher
Jun 20th, '03, 10:19 AM
I've been using a negative custom adder for the languages.
I'll have to look for those enhancers again. I keep forgetting that HD actually has documentation included...
rurwin
Jun 21st, '03, 02:15 AM
Is there any chance of making v2 more *nix friendly?
1. Install under /usr/local/bin
2. Write log files under /var
I don't like executables in my /home directory, and if I move it I have to make it world-writable or it complains about having access to write its logs.
Thanks
Simon
Jun 23rd, '03, 06:24 PM
Still more new stuff that's been sent to testing:<ul>
<li>Abilty to specify whether to use metric or English units of measurement (App Prefs)</li>
<li>Ability to specify whether to display the Active Points by default on new Powers (App Prefs)</li>
<li>Equipment has been reworked to include price, weight, and whether or not it is carried. A warning dialog appears if the character has more Equipment being carried than he can lift.</li>
<li>Max total value of Equipment (campaign rules) -- with action to take if exceeded</li>
<li>Equipment cost units (for converting outside lists of Equipment)</li>
<li>Equipment cost display parameters (allowing you to have the cost display as "$1.00" or "4 gp" or "5.534 galactic credits" etc.</li>
<li>Ability to specify whether Equipment is allowed in the campaign rules (rather than in the templates. This allowed for a "cleanup" of the number of builtin templates.</li>
<li>Ability to specify whether NCM is automatically selected (campaign rules) and whether the user can change the selection</li>
<li>Sorting of all purchase lists (ascending or descending)</li>
<li>Purchase lists now expand horizontally to take up all available room</li>
<li>Further speed enhancements to the purchase lists</li>
</li>And a number of other little tweaks and additions....</li>
</ul>
More as I code it....
Talon
Jun 24th, '03, 06:16 AM
Cool. :)
Any chance of tags for weight carried?
I'd ask for encumbrance category tags, but I don't use the book encumbrance rules anyway. :)
Simon
Jun 24th, '03, 06:50 AM
Originally posted by Geoff Speare
Cool. :)
Any chance of tags for weight carried?
I'd ask for encumbrance category tags, but I don't use the book encumbrance rules anyway. :)
Total weight carried as well as the weight of individual items (in whatever units are specified in the prefs) will be made available.
Given that you have an export tag for the total lift capacity of the character, I think that the total weight carried should suffice for encumbrance, since those settings are so flexible anyway....
Jhamin
Jun 24th, '03, 07:18 AM
Originally posted by dsimon
.I doubt that I'll change any of the cost fields to 6 digits, though. I think that 9,999 points for a single ability is MORE than enough.
We will just have to hope that Tyranon is written up differently from 4th edition when he finally shows up :)
Powered by vBulletin® Version 4.2.0 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.