PDA

View Full Version : Seeking Advice on Ruleset Crafting



Fenix Wulfheart
June 20th, 2023, 16:05
Yo. New user of Fantasy Grounds here. Hello to the community. :)

I want to get into coding rulesets. As a game system author who intends to break into the market with my creations, I am going to try a dual-approach of breaking into the market with both Fantasy Grounds modules/ruleset and PDFs available side-by-side. I often tinker with experimental new ways of determining outcomes, or use the creation of new resources as a core mechanic in some way. I think I may struggle a little bit with some of the more complicated rules I've crafted, so I am looking for advice.

A little bit about my existing skills. I actually don't know anything about lua specifically. But I did go to college for a couple semesters learning how to be a computer technician, before deciding that career path was not for me. I can understand HTML, C++, Python, and SQL. I am reasonably confident I can figure out any coding system put in front of me, with enough effort. I am a little familiar with xml specifically, enough to have edited an existing program that run on it. The specific program was the popular character generator Chummer for Shadowrun (I made Chummer have new House Rules to fit my table and added entries for house-ruled items into the generator as a new "sourcebook", and made new edited entries override existing entries where conflicts were). I consider xml to be quite easy to work with.

If you have any tips, suggestions, or ideas as to how to implement any of the below, or if you want to tell me you think a given thing isn't possible, let me know please. Or, if someone has already done the work and my scanning of the forum for them was unsuccessful. It'd be a great help!

(other content moved to second post due to character limit - and it is pending moderator approval for whatever reason. Probably because I am a new user abruptly submitting two posts in succession, so checking if I am a spammer or whatever)

Fenix Wulfheart
June 20th, 2023, 16:06
In order to put together a ruleset for my CODEX system, I will need to be able to put together Success Tables to compare dice rolls against, in a fashion quite similar to Unisystem (the system that powers All Flesh Must Be Eaten, Angel RPG, Armageddon, Army Of Darkness RPG, Buffy The Vampire Slayer RPG, Conspiracy X, Terra Primate, and (CJ Carella's) Witchcraft). That one doesn't sound so difficult, to be honest. And there are old examples already on this forum I can look through.
I will also need the ability to create new "health types" on the fly. That is, the creation of a button which adds a new form of derived character element to be tracked. The reason is because in CODEX, the infliction of mental state and emotional state changes is a core mechanic, similar to Call Of Cthulhu's Sanity mechanic, and every state is resisted with a designated pair or trio of Attributes and tracked separately. Players are free to describe new states they want to "push" characters into, and the Gamemaster determines on the fly how it is resisted. The game system in actual play works out really interestingly from my testing, because it results in characters seeking to use social skills to win fights, and it captures some of the movie flavor that FATE seeks to capture, but with the dynamic and lethal combat elements of a game like Unisystem alongside. The best part is that a social action does not consume a combat action; a social action in CODEX works somewhat like Pathfinder's Swift Action, taking minimal resources, so it does "cost" from overall combat effectiveness sometimes, but not usually.
And finally, I need ranks in skills to generate resources; every level in a skill bolsters the basic three health types in CODEX, with each skill giving a different thematic boost, forming a core part of your character's basic resilience (and incidentally being the primary justification for the high fantasy trope that "higher level characters are superhumanly tough"). This health thing can probably work similar to that extension that sums coin weight automatically; just have the skills add to little fields at the bottom of the skill page for the three summed health types, and add a field to each skill to designate what it adds to each. I don't imagine this one is difficult.
So, the main question here is: Does Fantasy Grounds' internal logic support adding a button which then adds new entries, and can it be told to create a pair of new fields, one for "maximum" and another for "current", to support this kind of freeform play? Also, side question, can it be told to determine the level of success of a roll from an imported success table stored in a module (which is relevant because different genres of game within CODEX actually use different Success Tables, to support different "levels of play")?

For my other ruleset I am especially worried about, The Lies Of Astaroth, it appears to need a new functionality I don't think the VTT already has. One of the core classes, the Pyre, has the ability to directly manipulate the supernatural concept of heat, and through this create fire and cold effects. Not the actual physical heat, but the IDEA of heat. They can move the idea of heat from one place to another, and through the power of their magic the old place cools down and the new place heats up, with no actual collision of particles needed. The net result is that every object in the game universe, and every character, has a Heat Rating which can be assigned when necessary by the GM. Each power the character has depends on the Heat rating that already exists, which is set to default numbers in most cases, requiring them to use multiple turns to set up combo actions by moving heat around, or to set up heat sources to more swiftly use their powers by converting a campfire into power, that sort of thing. But the thing is, the power actually CHANGES the Heat rating of the objects involved. So it would be necessary for there to be some ability to record the Heat rating of individual tiles on the game map. When we play physically, this isn't a problem, I have one of those maps you can draw on, and little tokens we can place on tiles if needed. For a VTT, I would prefer there to be an actual function for this, to simplify it, rather than using a draw tool. Another magic-using class has the ability to grant themselves Amp tokens, which grants them temporary abilities at a later cost to their endurance. And a third has the ability to draw Blood from living beings, or from themselves, and turn it into Blood Tokens to use for blood magic stuff. Every class has unique and IMO interesting abilities and most of them rely on creating tokens from a source, or using existing tokens that are presumed - magic in this world is all very "element"-based like that.
Is it possible to add trackers to things like map tiles, objects, NPCs, and PCs to account for all of these options? And if so, can a character token be commanded to target a map tile or an object as well as another map tile or object, such that it transfers heat from one tile to a second tile as a secondary part of the main effect on the target, automatically reducing the Heat value in one place while increasing it in another and still applying an ability effect on a creature targeted? Maybe by using two separate forms of Target designation if necessary?

Another system that is probably not too difficult is also near the top of my to-do list, but could maybe use some advice. PRIMAL is a system which uses colored beads drawn from a bag to determine outcomes, with each color indicating a different type of outcome, and mechanics that actually alter the contents of the bag. For example, a character blessed by Spirit Of Great Bear might get to add a Spirit Stone to the bag before drawing whenever performing a Test Of Hardiness or a Test Of Strength, or anything else that matches the flavor of being blessed by an ancient spirit of Cave Bears (A Spirit Stone is basically a Critical Success result). (Credit: PRIMAL'S basic core mechanic came from a game called Totem, from Zozer Games, with now-extreme alterations and additions). BLOOD uses the same system, but modern occult theme.
Maybe this could work through personal success tables on a per-character basis which auto-edit the quantity of entries based on effect keywords applies to the character, and the die-number for each entry can be set to Visible-To-GM only while the table is not? It's a lot like card-draw based games, only the quantity of cards and the value of cards are both in flux to some degree.

Finally, I did not at all write this one, but I am currently running a game of it in P&P and would like to transfer it to VTT if I can. The game is Legends of the Wulin, a high-flying martial arts xianxia/wuxia game set in Mythic China with a dice system best described as unique.
It works like this: Every die roll generates numerous results. When you roll dice, typically 7D10 but can vary in quantity, you form "sets" from the dice. Every identical on-the-face result in the die is matched together, and the result is read as [number of dice in the set] on the tens digit and [value on the die itself] as the ones value, with "10s" counting as "0s" instead. So the following die set of [0, 1, 1, 4, 4, 7, 9] generates a result of [10, 21, 24, 17, 19]. Each of those results can be used for something, but normally only sets of two dice or better can be used for most actions. The most common use of a "single" die is to make an elemental magic attack, or to resist the same when on defense, but there are others, almost universally created through special martial arts techniques you must learn before use. Further complicating this, there is a special pool each character has - not just player characters, some of the stronger non-players too - where they can "store" dice from a roll, removing them from this roll for now, and later putting them into a different roll. This pool of dice is called the River. It has a number of slots based on your overall power as a character. When a die is put into the River, it maintains its face value, and if a future roll matches that value then pulling the die out of the River and into the roll will boost the roll, making it better by generating new sets or enhancing existing ones.
I notice it is possible to right click an existing roll and modify it in several ways as the GM, so theoretically a new function on that menu could be coded to pull a value out of the roll and store it elsewhere, or to pull a stored value and put it back in, right? And if so, it could be made as a restricted player ability on their own rolls only, with the River coded to work with its appropriate limits (it is always interacted with in the same order during each roll; first you can get rid of any die in a given River slot, then you can pull dice out of the roll into empty slots, then you can flow dice from existing slots out of the River and into the roll. This order means each River Slot can either take a die or give a die, but never both in the same roll). How workable is that, do you think?

Zacchaeus
June 20th, 2023, 16:28
Welcome to the forums.

Nothing like jumping in at the deep end eh?

A good place to start would be Core RPG' you can unzip that in the rulesets folder and see how that all works https://www.fantasygrounds.com/forums/forumdisplay.php?66-CoreRPG-(Generic-Ruleset)
You might also want to have a look at MoreCore; and CoreX - both of which, like Core RPG are generic rulesets.
Another option is the Ruleset Wizard https://www.fantasygrounds.com/forums/showthread.php?61387-Ruleset-Wizard-The-new-Ruleset-development-environment
And some more details in the developer page on the wiki https://fantasygroundsunity.atlassian.net/wiki/spaces/FGCP/pages/996644285/Developer+Guide

damned
June 20th, 2023, 23:59
Dont worry about the end result just yet.
You would want to unpack 5E and CoreRPG and see how things work in there.
Create a new ruleset and experiment a bit starting with the Character Sheet.
I am a big fan of the Ruleset Wizard but either way you want to do some learning of how things work under teh hood too.

Fenix Wulfheart
June 21st, 2023, 04:25
Hah, yes, I very much am the type to jump in at the deep end.

I was not aware of this ruleset wizard. That looks like it will be very useful, thank you, Zacchaeus - and thank you, Damned, as well.

Unpack 5E, you say? I have never played 5E, and don't know much about it or it's mechanics. Are you suggesting 5E on the basis that most people know it? Or on some other basis, such as its mechanics are coded in an especially understandable fashion? If it is about understanding the mechanics, it'd be better for me to look at pathfinder, which is more my jam.

I definitely like the elegance of CoreRPG on the user end. I think I'll start there when I start looking through things on the coding end; especially since I read that the rulesets are effectively built "on top" of CoreRPG.

Zacchaeus
June 21st, 2023, 09:12
damned probably suggested 5e since it is continuously developed and easily accessible (many rulesets are not accessible to users). However the PFRPG or PFRPG2 rulesets are equally well developed and all of them are based on CoreRPG; so whichever you pick will give you a good idea of how a ruleset is constructed.