PDA

View Full Version : Developing ruleset inspired by Gamma World 1e



presence
September 27th, 2017, 09:01
1st off: No special dice. Rules are very similar to 1e, but quite stripped down.
I've decided to start my effort by entering data in the monster module. This, of course, may prove to not be the exact correct place to start, but its the easiest point for me to start.

I have the monster entries completed for values that are "static", ie: just regular numbers, like AC: 5. These values rarely are variable in the game, unless you have special equipment, which I will have to get to later, but for now, lets just assume that we have fixed values for many monster statistics.

What I do need is the ability to generate attributes and hit points on the fly so all monsters of the same type aren't always the exact same. I don't want to play tournament rules for this if I can avoid it.

In the monster data entries, how can I specify a range? I am assuming the type = "dice" assigns the dice to the element, and does not ROLL them for generation.

I am guessing I need to write some code for this, but I have a feeling it doesn't go into this file. The strange thing is, the few monster filesets I have looked at (PF and 3.5) seem to all have static numbers for everything.

Any guidance on how I would do this? I am guessing that this is something I need to do in the ruleset "scripts" directory. Its different enough, so much more stripped down, from CoreRPG that I'm not sure how helpful it would be to use all of those scripts as a basis, although I am sure there is enough code there that I will need (just for app managing things, like NPCs). I have code experience, although its not lua, but I'm not worried about figuring it out, it seems pretty rational.

Is there some published information that will help me to know what the core components I must absolutely have to get this usable, and what would be a good starting point?

Ive read through some of the reference documentation, and although it provides syntax and structures, it doesn't help with lacing up the solution.
I have also watched a few youtube videos that show how to do some of this stuff through the GUI itself, but since the character, monster, and item definitions are significantly different than what I have seen, I don't see how the demonstrated methods would work.

Is there a better way to do this?

Thanks for your help and guidance,
Kevin

damned
September 27th, 2017, 11:30
Typically the best way to make a ruleset that is an extension of another systems rules is to make an extension of that ruleset...
There are two quite different AD&D rulesets available one by Vodokar and one by Celestian
Both have several options for generating NPC hit points.
Have a look at both rulesets and decide which one might most closely represent the GW mechanics and then build an extension.
You are almost definitely going about it the wrong way starting with the data entry...

vodokar
September 28th, 2017, 00:45
I concur with Damned. In fact, it was one of my personal goals to, sometime in the nebulous future, modify my existing AD&D 1e ruleset into a Gamma World. As I don't know when I will ever be able to get to it, please feel free to jump in the project yourself, should you so desire. The place to start, in my opinion, would be opening up the code of my ruleset and inspecting it. Gamma World is, for the most part, a simpler system than AD&D, and so much of what you would be doing, at first, would be deciding what features to remove, and then after that, adding in the Gamma World specific features. You will find that, once you are versatile in finding your way around a ruleset's code and logic, what is already present as a framework in that ruleset should accelerate your progress. For instance, it already handles descending AC, class and race based hit tables, class and race based saving throw tables etc. The logical framework is there and all you need to modify is some of the details.

As an example, I decided one day to modify the ruleset to make a version of Basic Fantasy RPG, which while similar to AD&D 1e, has it's own specifics, quirks and differences. Morphing the ruleset from 1e to BF took only a couple of days work, because the framework is already there and I just needed to change some numbers and some of the details in the code, vice having to completely design systems from nothing; which is what I had to do a lot of when I was making the 1e ruleset in the beginning; it started life as Castles and Crusades, which is actually a remarkably different game than 1e.

presence
September 28th, 2017, 01:59
I concur with Damned. In fact, it was one of my personal goals to, sometime in the nebulous future, modify my existing AD&D 1e ruleset into a Gamma World. As I don't know when I will ever be able to get to it, please feel free to jump in the project yourself, should you so desire. The place to start, in my opinion, would be opening up the code of my ruleset and inspecting it. Gamma World is, for the most part, a simpler system than AD&D, and so much of what you would be doing, at first, would be deciding what features to remove, and then after that, adding in the Gamma World specific features. You will find that, once you are versatile in finding your way around a ruleset's code and logic, what is already present as a framework in that ruleset should accelerate your progress. For instance, it already handles descending AC, class and race based hit tables, class and race based saving throw tables etc. The logical framework is there and all you need to modify is some of the details.

As an example, I decided one day to modify the ruleset to make a version of Basic Fantasy RPG, which while similar to AD&D 1e, has it's own specifics, quirks and differences. Morphing the ruleset from 1e to BF took only a couple of days work, because the framework is already there and I just needed to change some numbers and some of the details in the code, vice having to completely design systems from nothing; which is what I had to do a lot of when I was making the 1e ruleset in the beginning; it started life as Castles and Crusades, which is actually a remarkably different game than 1e.

I was pretty sure it was probably the wrong method, but I wanted to see what kind of effort might be involved, so I went on anyway.

Makes sense. I couldn't find your code, however. I did find Celestian's on github. Do you have a pointer?

vodokar
September 29th, 2017, 20:12
https://www.fantasygrounds.com/forums/showthread.php?36009-AD-amp-D-Ruleset

Note that it is layered on top of the C&C ruleset, so you will need that ruleset installed in order to open in FG. That isn't necessary if you just want to open the ruleset and inspect the code, however, although it is useful if you have C&C, so that you can trace the logic trail of what is old code, what code has been replaced or overrides the old code and what is completely new. You can use NotePad++ to inspect the code once the file is unzipped and can use it to do file comparisons. NotePad++ is the tool of choice for FG xml and lua programming.

Andraax
September 30th, 2017, 13:50
NotePad++ is the tool of choice for FG xml and lua programming.

Maybe for you; I'll stick with vim.

Bidmaron
September 30th, 2017, 17:53
Why? What does it bring to the table Andraax?

Paul Pratt
October 1st, 2017, 09:37
I still like SciTE for the built in LUA/XML highlighting and the LUA API assist.

Andraax
October 2nd, 2017, 01:08
https://www.viemu.com/a-why-vi-vim.html
https://www.quora.com/What-are-the-advantages-of-Vim-over-other-text-editors

damned
October 2nd, 2017, 01:16
https://www.viemu.com/a-why-vi-vim.html
https://www.quora.com/What-are-the-advantages-of-Vim-over-other-text-editors

Vi is a brilliant editor and incredibly powerful - but if you are not working in Linux environments regularly Id never bother with it. There are many much easier text editors to learn.

Andraax
October 2nd, 2017, 01:43
There are ports of vim for every OS that I know of. I use it regularly on Windows.

Just looked it up, vim ports exist for:


Unix/Linux
PC: MS-DOS and MS-Windows
Amiga
OS/2
Macintosh
Android
i/OS
QNX
Agenda
Cygwin (this is actually the same as Linux, but compiled to run under Windows)
Open VMS
MorphOS


So, learning it on one OS gives you the ability to use the same editor on all those other OSes...

damned
October 2nd, 2017, 02:13
There are ports of vim for every OS that I know of. I use it regularly on Windows.

Just looked it up, vim ports exist for:


Unix/Linux
PC: MS-DOS and MS-Windows
Amiga
OS/2
Macintosh
Android
i/OS
QNX
Agenda
Cygwin (this is actually the same as Linux, but compiled to run under Windows)
Open VMS
MorphOS


So, learning it on one OS gives you the ability to use the same editor on all those other OSes...

All true - but most people use only one OS, or very predominantly use only one OS, and there are far easier Text Editors to learn than Vi. If you use linux then learning Vi makes lots of sense. And then using it on other platforms continues to make a lot of sense. I use Vi when I have to and I use other tools when I have the option because these other tools are easier to learn.

Andraax
October 2nd, 2017, 02:43
Yeah, but more applicable to this discussion, vim supports stuff like syntax highlighting and language auto-complete for multiple languages in a single file (so the XML portion uses syntax highlighting and language completion for XML, while the LUA portion does the same for LUA). Also, you have multi-file search and replace.

And for compiled languages, I use it to perform compilation and have the editor go directly to the reported error / warning locations for the compiler output.

vim is really more than an editor, it's effectively an entire IDE, with support for many languages.

vodokar
October 3rd, 2017, 00:01
The reason I said that Notepad++ is the tool of choice is because it is the one that is mentioned in the developer help guides and is what many of the developers here are using. There may be better, cooler, more powerful, whatever, choices, but consistency with existing documentation and simplicity are more important to a potential new person wanting to learn their way around programming for FG, especially if they are not a professional codeslinger There is plenty to learn without confusing them with nuances on which of the potentially hundreds of choices of editors out there they might have to choose from. Notepad++ has enough features to get the job done. Once they are familiar enough with programming for FG, then any tool they might choose to move on to is fine.