PDA

View Full Version : What I'm working on



Moon Wizard
March 7th, 2013, 21:30
I know I've gone into a dark cave a bit, as I've been busy with primary job projects and focused on FG coding in what little time I have. So, I thought I'd share a quick list of what I've been working on.


Chat window: URL identification and click-through
Button fields: Database linked option, multi-state, frame/text/icon per state, toggle
Formatted text fields: direct editing, undo, mouse shift click selection, table editing
String fields: Mouse shift click selection
Token bag: Filter support, scrollbar support, file drop support, bag bar slot memory
Modules: Modules now like books and only come in one type, GM has control over access and sharing


This is all stuff that I've been doing as I move towards a FG-supported generic ruleset that will be used as part of a "layered rulesets" feature for all the standard supported game systems (3.5E, 4E, PFRPG). This should make life easier for community ruleset developers to keep their rulesets up to par with the main rulesets.

Cheers,
JPG

Callum
March 7th, 2013, 22:15
Thanks for the update, JPG. It's nice to have an idea of what you're working on, and several of these things will be very handy!

Moon Wizard
March 7th, 2013, 22:38
It's very handy. I'm really looking forward to getting the build stable so I can use in my own games. ;)

JPG

OneSidedDie
March 7th, 2013, 23:53
I appreciate the news! I personally love reading changelogs. There is just something about a bulleted list of changes/improvements that makes me happy.

Moon Wizard
March 15th, 2013, 07:20
More goodies in the works:


Improved module and token caching
Add automatic retry for art asset downloads (images, tokens, masks, drawings)
Shared campaign records default to public mode, and can be shared before game sessions
Tokens refresh when switching back to FG
[3.5E/4E] Public option for notes
[3.5E/4E] Image list file drop support
[3.5E/4E] Buttons to open image/token folders for managing image/token files
[DEV] Built-in window position and image viewpoint memory
[DEV] Built-in fudge die (dF)


JPG

Grey Mage
March 16th, 2013, 04:08
Like OneSidedDie, I enjoy change logs. Always good to know which direction development is headed...

Can't wait to see this go live.

GM

Moon Wizard
April 9th, 2013, 00:47
And more...


Token selection - Tokens can be selected individually or via region
Token group move - Selected tokens can be moved as a group, and across maps
Targeting - Complete revamp of targeting system. Targeting will be token to token, instead of per user. Targeting will be remembered between sessions. Targeting will be shown as arrows between tokens and circles for self-targeting.
Targeting mode - Targets can be selected individually or by region.


JPG

Callum
April 9th, 2013, 09:52
I'm really looking forward to those targeting improvements, JPG!

Oberoten
April 9th, 2013, 11:03
Group selection and movement is going to be VERY useful.

- Obe

Moon Wizard
April 9th, 2013, 22:34
The targeting has been one of my pet peeves from day one. It just required a lot of back-end changes (including network changes), so I needed a major revision to make the change.

Cheers,
JPG

Leonal
April 14th, 2013, 18:46
For 3.0, could there please be an option to disable the automatic applying of damage to the targeted creature? Thank you!

I thought this was possible to disable in 2.9.3, but haven't found the option to do so.

Trenloe
April 14th, 2013, 19:44
For 3.0, could there please be an option to disable the automatic applying of damage to the targeted creature? Thank you!

I thought this was possible to disable in 2.9.3, but haven't found the option to do so.
I'm confused by what you mean by automatic applying of damage to targeted creature?

Do you mean that if you have a creature targeted and you roll damage you want to option *not* to apply damage? Essentially removing damage application to targeted creatures completely - you'd manually have to drag/drop the damage from the chat window to the creature in question to apply the damage.

Leonal
April 14th, 2013, 22:02
This is for Pathfinder.

If a player targets an NPC or a player and rolls damage through the action tab, the damage is applied automatically after any relevant DR.

I'm asking since my player/GM generally likes to adjust the HP manually, but it's still useful for a player to target the NPC to show the highlight.

Moon Wizard
April 20th, 2013, 00:08
There used to be an option like that way back, but it was very confusing to users. In the current model, the GM can always "fix" the number after the fact if the program did not auto-calculate.

If I can ask, what is the purpose of manually adding vs. letting the system apply automatically? Is the purpose to "fudge" rolls, or something else?

Regards,
JPG

Moon Wizard
April 20th, 2013, 00:09
Update


Basic ruleset layering (aka extension style)


Next up is enabling "merging" of windowclasses and other elements.

Regards,
JPG

Leonal
April 21st, 2013, 09:18
There used to be an option like that way back, but it was very confusing to users. In the current model, the GM can always "fix" the number after the fact if the program did not auto-calculate.

If I can ask, what is the purpose of manually adding vs. letting the system apply automatically? Is the purpose to "fudge" rolls, or something else?

Regards,
JPG

It's both for story/fudge reasons (or if the appropriate DR has not been entered in the statblock) and for times when a player has accidentally targeted more than his/her intended target when rolling damage.

OneSidedDie
April 21st, 2013, 16:12
Update


Basic ruleset layering (aka extension style)


Next up is enabling "merging" of windowclasses and other elements.

Regards,
JPG

How different is ruleset creation going to be when you are finished with this? Will current rulesets have to be remade?

spacce1889
April 22nd, 2013, 04:30
Will this still be called Fantasy Grounds II or will this be Fantasy Grounds III

Moon Wizard
April 22nd, 2013, 06:46
We haven't finalized details yet. It's going to be v3.0, but I think we are going to change to just Fantasy Grounds for the name.

I'm working pretty hard to maintain backward compatibility to prevent rebuilds, though some compatibility issues will be unavoidable. The only thing I can think of that applies so far is targeting, which is changing from client only character-based targeting to token-based targeting. Building rule sets will be almost identical, but there will be new features to allow ruleset layers to be used.

Leonal, thanks for info. A new interface will have to be defined to "queue" damage rolls, or to interrupt roll completion for "fudging". You should add to the voting on the wish list. I believe fudging rolls may be on there already, but don't remember off top of my head.

Regards,
JPG

Leonal
April 22nd, 2013, 07:47
Thank you for the reply. It may be personal preference as my GM prefers to adjust the hp-values manually, even if they are identical (or to take into account half damage or other variables).

In yesterday's session we just took care to not have any tokens selected when rolling damage, which worked ok. I will add it to the suggestion list, however.

https://fg2app.idea.informer.com/proj/?ia=68582

malvok
April 28th, 2013, 05:43
One thing I'd like to see is the ability to change the visual result of the die rolls. I mean the numbers that comes up on the 3d dice.

I'm working on a ruleset and I've created a custom d100 that simply takes a d100 roll and subtracts one, for result of 0-99. Unfortunately, the numbers that appear on the 3d dice stay the same.

For example, I roll d100, my ruleset subtracts one and displays the result in the chatbox. The 3d dice still display the original roll.

JohnD
April 28th, 2013, 06:39
A "fudge" die would be nice where the DM would have to perhaps select a check box for die type to roll and enter a number that is the desired roll result before all regular modifiers are applied.

Actual roll would be as normal from an NPC sheet or the CT, but the "fudge" box would pre-determine the roll - could kind of act like the +/- buttons.

DingoSoulEater
April 30th, 2013, 09:29
Have there been any thoughts FG3 wise in regards to being able to have more control over the grid's appearance, such as having it visually non-existant, but still working for things such as snapping, measuring, etc?

I say this with some bias, of course. I make my own maps, and I find the somewhat jarring manner in which FG makes the grid colors somewhat difficult to work with.

JohnD
April 30th, 2013, 15:05
How do you enable snap to grid again?

Moon Wizard
May 2nd, 2013, 00:23
Malvok,
FG uses a physics modelling with random vectors to implement dice rolls, which means that there is no easy way to determine what sides the dice display. To change the actual die faces requires a new physical die model to be implemented within the client code. I believe it may already be on the wish list, but you should head over to vote or add. (see sig)

JohnD,
Fudging dice is definitely on the wish list, as well as delayed damage application. I envision this as a modifier window that pops up for GM after rolls (accept default or adjust). This could probably be built as an extension today, since it would be ruleset code.

Also, the snap to grid option is on the on the image radial menu under Layers.

DingoSoulEater,
The grid is based on a single gray color, but inverts color depending on the underlying colors. I believe that custom grid coloring is on the wish list. Please head there and vote. (see sig for link.)

Regards,
JPG

Moon Wizard
May 2nd, 2013, 00:28
Updates


Initial ruleset layering implemented
New merge attribute supported when using templates (reverse of mergerule)
New merge attribute value ("delete") supported.
Join and Delete merge attribute supported for panels and windowclasses
Delete merge attribute supported for dies and customdies
First pass at generic RPG ruleset as first layer built


I'm currently in the process of converting 3.5E, PFRPG and 4E to use the generic ruleset as a base layer. I also plan to convert CoC (the one in the store) in order to increase backward compatibility and sound out the generic ruleset layering approach. There will probably be several iterations of the generic ruleset before I am done.

Regards,
JPG

Moon Wizard
May 28th, 2013, 01:04
The conversion of the 3.5E and 4E rulesets to using the base layer is underway, and I'm about 60% complete on the conversion. Additionally, this is giving me a chance to refactor a few items in the base ruleset layer to support multiple rulesets.

Updates

Hit detection area for mouse interaction with window controls now includes the framed areas.
Default maximum window size removed.
insertbefore attribute added to allow controls to be inserted earlier in control order when using the merge attribute for windowclasses.
[3.5E/4E] Record locking off by default, and remembered when set.
[3.5E/4E] List add and edit mode buttons added for quick addition and deletion of list items. (Campaign record lists, spells, powers)


Regards,
JPG

Moon Wizard
June 4th, 2013, 09:02
About 70% through the 3.5E/4E conversion. All the major campaign records are converted, except for the combat tracker and the party sheet. Just finished the character sheets.

Updates

Subwindow controls will now force parent window layout on instantiation, which opens up more window layout possibilities using subwindows to group controls.
[4E] Adding header bar to editable campaign record windows to make them easier to grab and move.
[3.5E/4E] List management controls being added to all campaign record windows. (Edit button that turns on add record button and per record delete buttons.) This should reduce some new user confusion.
String controls will be vertically centered within defined height or multilinespacing attribute. Similar to numbercontrol layout. Will make lining up number and string fields easier. (v3.0 compatible rulesets only.)
Default minimum and maximum window sizes removed for embedded windows (i.e. within subwindows and windowlists)


Regards,
JPG

sakmerlin37
July 7th, 2013, 00:26
JPG,

All great news, thank you! Can't wait for the new version to hit the shelves.

Moon Wizard
July 7th, 2013, 04:14
Some more updates, though I've lost track a bit of what has changed in each step so there might be more.

The 3.5E/4E are almost back to where they were with some adjustments here and there. However, I have a big change to make CT records into first-class NPC records in the queue, which will increase flexibility of editing CT creatures (especially spell usage per creature) as well as simplifying some of the underlying code and assumptions.

Updates


New set of buttons to add/edit/delete list items, and more deeply integrated into all parts of the rulesets.
Party sheet items are full records so they can be viewed and edited separately.
Token underlays follow tokens instead of being locked to nearest grid square.
[DEV] Added -c command line option to auto-open console on launch
[DEV] Added os.clock, os.date, os.difftime and os.time Lua functions
[DEV] Added lots of DB package functions: getChild, createChild, deleteChild, getParent, getModule, getType, getOwner, isOwner, isStatic, isIntact, revert, getCategory.
[DEV] Added DB.backup function to allow rulesets to make their own campaign database backups. This is great as a backup for scripts that migrate the database structure, though the backups will still need to be restored manually.
[3.5E/4E] Drag and drop inventory between characters and between character and party sheet implemented
[3.5E/4E] Sell parcel items at percentage of cost added to party sheet inventory
[3.5E/4E] Unidentified weapons will no longer be added to weapon list on character sheet.
[3.5E] Ability effects calculate bonuses correctly when making damage rolls using off-hand or two-handed weapons.


Cheers,
JPG

Talen
July 7th, 2013, 18:55
Love the underplays following the tokens....seems like a great alternative to making the grid lines invisible if I understand it properly.

Moon Wizard
July 7th, 2013, 19:30
Well, the underlays are currently still tied to the grid being active at this point, because grid equals distance ruler at this point. But, it is one step in that direction.

Regards,
JPG

Talen
July 7th, 2013, 20:04
Got it....I was hoping the distances could be inferred from the size of the token that is set. But still promising and thanks for the update.

Paladin's Pride
July 10th, 2013, 21:24
Can someone link me to something explaining what underlays are?

Trenloe
July 10th, 2013, 21:36
Can someone link me to something explaining what underlays are?
These are additional icons that can be enabled to show health and effects in the 3.5e and 4e rulesets (I'm not sure which other rulesets these are available in). Look at the "Token (GM)" options under the "Options" icon in Fantasy Grounds for what is available.

EDIT: OK, so these aren't underlays. Not sure what they're called - effect and health icons perhaps? :)

Moon Wizard
July 11th, 2013, 01:33
Underlays are actually the colored boxes shown below a token.

In the 3.5E/4E rulesets, they are used to indicate space, faction, and reach. The space field in the combat tracker denotes how large the creatures base should be relative to the grid, and the underlay is then color-coded by the faction (friend, foe, neutral) of the creature. The reach field in the combat tracker denotes the reach of the creature's melee attacks, and is visible as a dark grey underlay when hovering over the token. Only creatures linked to the combat tracker will show an underlay in the 3.5E/4E rulesets.

Regards,
JPG

Callum
July 11th, 2013, 14:56
Note that the reach underlays are the incorrect size and shape for a reach greater than 10 feet (two squares), as they are always square in shape, whereas they should really look like the examples shown here (https://img137.imageshack.us/img137/6338/gargreachwq6.gif).

Trenloe
July 11th, 2013, 17:34
Note that the reach underlays are the incorrect size and shape for a reach greater than 10 feet (two squares), as they are always square in shape, whereas they should really look like the examples shown here (https://img137.imageshack.us/img137/6338/gargreachwq6.gif).
And for Pathfinder it is also different: https://www.d20pfsrd.com/gamemastering/combat/space-reach-threatened-area-templates

Note the 15' diagonals are not included for medium and large (long) creatures with reach weapons.

Moon Wizard
July 11th, 2013, 20:34
I believe that the example from Pathfinder is actually correct for 3.5E as well, at least according to what I am reading on p.149 of the PHB. The only exception to the 2 diagonal equals 15' rule is the reach of a Large(tall) creature without a reach weapon.

Technically, the FG client only supports square underlays at this point, so it's sort of a moot point until other shapes can be implemented.

Round underlays seem like a good wish list item. :)

Cheers,
JPG

Callum
July 12th, 2013, 15:25
And for Pathfinder it is also different: https://www.d20pfsrd.com/gamemastering/combat/space-reach-threatened-area-templates

Note the 15' diagonals are not included for medium and large (long) creatures with reach weapons.
Thanks for the link, Trenloe, but some of those diagrams are wonky. The Huge (long) one states it has a reach of 15 feet, when it should be 10 feet. And both the Huge (long) and Large (tall) diagrams should have the 15-feet-away corner squares of their natural reach removed (changed from green to purple), to match what James Jacobs says, as well as what's shown in the Medium and Large (long) diagrams for reach weapons.

I believe that the example from Pathfinder is actually correct for 3.5E as well, at least according to what I am reading on p.149 of the PHB. The only exception to the 2 diagonal equals 15' rule is the reach of a Large(tall) creature without a reach weapon.
Hmm...I'm not sure what you mean, JPG, as the page you mention specifically calls out the 3.5 exception that 10-foot reach includes the diagonal squares (which otherwise count as 15 feet away). Also, this applies to all 10-foot reaches, regardless of how they have arisen, as shown by the diagrams on p.308 of the DMG.

Phystus
July 13th, 2013, 02:49
I believe that the example from Pathfinder is actually correct for 3.5E as well, at least according to what I am reading on p.149 of the PHB. The only exception to the 2 diagonal equals 15' rule is the reach of a Large(tall) creature without a reach weapon.

Technically, the FG client only supports square underlays at this point, so it's sort of a moot point until other shapes can be implemented.

Round underlays seem like a good wish list item. :)

Cheers,
JPG

Consider it done!

~P

S Ferguson
August 11th, 2013, 18:35
Hex underlays would be a beautiful addition. It makes it much easier to determine facing.:) And center to center range finding would be ideal.

Blackfoot
August 15th, 2013, 18:15
Hex underlays would be a beautiful addition. It makes it much easier to determine facing.:) And center to center range finding would be ideal.This would be a pretty nice feature for Champions/HERO too... really any ruleset that uses hex maps.

S Ferguson
August 15th, 2013, 18:35
I really don't know why they moved to squares... :cry: