My variant development journal

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • PaulBlay
    replied
    Originally posted by CJNyfalt
    Some problems in monster distribution are already starting to show, for example the number of 'B'irds are quite lacking.
    Because dungeons are underground? ;-) Maybe you should add puffins.



    - What to do with monsters that are 'outsiders' of an elemental nature? I'm not a fan of having to deal with a multi-planar cosmology, on the other hand removing them would make the game poorer in monster variation.
    I think that priest spells and such establish that there is at least one more plane than the prime material plane. Having spells / monsters draw their power from other planes also provides a good 'explanation' for how magic 'works' in the game.

    Using the 'directions' metaphor you can have. Up to good, down to evil. Compass directions to Fire / Earth / Water / Air. And possibly an extra dimension for Dark/Negative vs Light/Positive planes. Pick and choose to taste.

    - How to classify werewolves and similar monsters? Make priority of the humanoid or the beast status?
    Unnatural creatures are more monster than animal. You wouldn't expect a "charm animal" spell to work on a werewolf, nor would you allow a druid to have a werewolf as his animal familiar. (To pick a metaphor).

    How to classify undead? Does the undead status or the basic monster come first?
    I'll go with my previous answer here. Undead are "bodies animated by unnatural forces". So the unnatural forces seem more essential than the materials being worked on (skeletons, corpses etc.)

    How to make the basic monster + elemental theme seem more natural? It seems not plausible that there are dragons and hounds of every element.
    It's not that unlikely. If you say that hounds naturally evolved (or were magically endowed with) the ability to draw energy from other planes then which element they end up with is a matter of 'direction'. You could postulate an "ur-hound" that could breathe attacks of every element but then split into the different species. I imagine that specializing in one element gives you stronger attacks than being a generalist. Also you would probably be vulnerable to your own, and your friend's, attacks (ouch!).

    Leave a comment:


  • CJNyfalt
    replied
    So, I got the genus stuff working and started to add entries:

    Code:
    N:3:Orc
    G:o
    F:ORC | OPEN_DOOR | BASH_DOOR
    D:Orcs.
    # Not Half-orcs, which will be removed
    
    N:4:Alethinophidia
    G:J
    F:ANIMAL
    D:True snakes. An infra-order.
    # As a future project, break up into snake families.
    
    N:5:Chilopoda
    G:c
    F:ANIMAL
    D:Centipedes. A class.
    
    N:6:Troll
    G:T
    F:TROLL | OPEN_DOOR | BASH_DOOR
    D:Trolls.
    # Not Half-trolls, which will be removed.
    
    N:7:Chiroptera
    G:b
    F:ANIMAL | FLYING
    D:Bats. An order.
    
    N:8:Formicidae
    G:a
    F:ANIMAL
    D:Ants. A family.
    
    N:9:Kobold
    G:k
    F:OPEN_DOOR | BASH_DOOR
    D:Kobolds.
    # Add IM_POIS?
    Some problems in monster distribution are already starting to show, for example the number of 'B'irds are quite lacking. There are only three in Sang, and two of them are elemental type creatures.

    Some things I'm trying to make up my mind on are:
    - What to do with monsters that are 'outsiders' of an elemental nature? I'm not a fan of having to deal with a multi-planar cosmology, on the other hand removing them would make the game poorer in monster variation.
    - How to classify werewolves and similar monsters? Make priority of the humanoid or the beast status?
    - How to classify undead? Does the undead status or the basic monster come first?
    - How to make the basic monster + elemental theme seem more natural? It seems not plausible that there are dragons and hounds of every element.

    BTW, if someone else is working on Sangband: Bat of Gorgoroth was missing FLYING flag.

    Leave a comment:


  • CJNyfalt
    replied
    Originally posted by takkaria
    Load the genus file first, then add a field to the monster.txt file like 'X:dragon', or whatever. Then, when you read in monster.txt, and you hit the genus line, do a search of the genus names for that genus, and copy all the information across to the monster.txt record. The 'X' line should probably go right after 'N' or 'G'.
    Thanks. I got it working. It seems that I just assumed that it was more complicated than it was.

    Leave a comment:


  • takkaria
    replied
    Originally posted by CJNyfalt
    Haven't really gotten much done since my last post, however there are some points I'd like to discuss.

    1. "monster race" code. Here's the question how to deal with the flags and merge those from monster.txt and genus.txt. As I see it I have two options:
    a) Figure out how to merge the two set of flags at load time. Which I haven't figured out how to do. Any help on this issue would be welcome.
    Load the genus file first, then add a field to the monster.txt file like 'X:dragon', or whatever. Then, when you read in monster.txt, and you hit the genus line, do a search of the genus names for that genus, and copy all the information across to the monster.txt record. The 'X' line should probably go right after 'N' or 'G'.

    Leave a comment:


  • CJNyfalt
    replied
    Originally posted by Pete Mack
    I don't see any reason to be literalist about genera. Panthera vs Felidae or Felix seems overly specific for a game. If you want to be pedantic about families and genera, you can call your file monster_taxon or _taxa

    BTW: I assume there's a reason for this? Are you using it to generate ego species?
    It's more that I need a tool to group similar monsters together. (You could say that the monsters in monster.txt are 'ego species' of these base genera.)
    I want to group them together because:
    a) It makes it easier to get an overview of the different monster types in the game, and makes it easier to identify lone monsters that doesn't really fit in.
    b) It allows the player to have a dynamic reputation with a bigger group of monsters. (No, the PC will not be able to befriend all monsters.)


    I think the new V amnesia is a nice replacement for the silly original--adds a little risk to 0-fail spellcasters.
    A bit too late for that.

    Digging works like melee to_hit, without the 5% guaranteed chance of to_hit. For each rock type, there's a fixed "armor class" for which you need sufficient digging skill to have any chance.
    Digging to_hit chance is based on strength and weapon digger flag, then?

    I don't see why the same flags can't be used in both genus and monster. (Like DRAGON for drolems.)
    It's mostly a question about needed coding effort. Having to change every
    Code:
    if (r_ptr->flags3 & (RF3_DRAGON))
    to
    Code:
    if ((r_ptr->flags3 & (RF3_DRAGON)) || (rg_ptr->flags3 & (RF3_DRAGON)))
    is tedious.

    Leave a comment:


  • Pete Mack
    replied
    I don't see any reason to be literalist about genera. Panthera vs Felidae or Felix seems overly specific for a game. If you want to be pedantic about families and genera, you can call your file monster_taxon or _taxa

    BTW: I assume there's a reason for this? Are you using it to generate ego species?

    I think the new V amnesia is a nice replacement for the silly original--adds a little risk to 0-fail spellcasters.

    Digging works like melee to_hit, without the 5% guaranteed chance of to_hit. For each rock type, there's a fixed "armor class" for which you need sufficient digging skill to have any chance.

    I don't see why the same flags can't be used in both genus and monster. (Like DRAGON for drolems.)

    Leave a comment:


  • CJNyfalt
    replied
    Haven't really gotten much done since my last post, however there are some points I'd like to discuss.

    1. "monster race" code. Here's the question how to deal with the flags and merge those from monster.txt and genus.txt. As I see it I have two options:
    a) Figure out how to merge the two set of flags at load time. Which I haven't figured out how to do. Any help on this issue would be welcome.
    b) Make monster.txt and genus.txt use different sets of flags, and move certain of the monster.txt flags to genus.txt. Examples would be ANIMAL, ORC, UNDEAD, TROLL, .... Maybe also flags like OPEN_DOOR, TAKE_ITEM, FLYING, ....

    2. I removed adj_chr_gold, and now use a calculated value instead. Had a bit trouble deciding on which scale to use. I knew I wanted chr 10 to have normal prices, not chr 18. I also thought that using 1% for each chr point would make characters with chr 40 get too cheap prices, so I went with 1% for 2 chr points. Like this:
    - adj_chr_gold: 10: 116->100, 18: 100->96, 28: 94->91, 40: 80->85
    It should be noted that I plan to rework the store code, so future changes are possible. (It might even be that I go with fixed shop prices, once I have added another use for charisma.)

    3. For linearizing the rest of the stat tables, the problem is the weight tables, the blow tables and the digging table. With digging the trouble is that I have yet to figure out how digging works, so I can't get a feeling on which values are reasonable. For the weight tables, well, first they differ a lot from what D&D uses, and second it doesn't seem reasonable that very strong characters can wield a weapon that weight 1/3 of their total weight limit.
    There's also the question, do we really need an inventory that's both weight and slot limited, and if the answer is no, then which model to use.

    4. What to do with memory mosses? I removed amnesia, but they still have a confusion touch attack. Should I remove them or leave them in?

    5. I'm also looking for opinion on Sangband oaths. Good, bad or ugly?

    Leave a comment:


  • CJNyfalt
    replied
    Started working on the "monster race" code.
    When I started adding it, I saw that monster_race and monster_type was already taken, so I took a look at how biological classification works for ideas on the name. The reasonable alternatives I found was species, genus and family. The rank higher than family - order, is too general and would put all carnivores in the same category. Family seemed too general regarding humanoids - all would be in the same, and species on the other hand seems to generate too many for animals. So, I went with genus as a compromise.

    So, I added the infrastructure to load the monster_genus information in from an edit file today. I have yet to make the data do anything.

    Here's the two first entries I added to genus.txt file as examples:
    Code:
    N:1:Canis
    G:C
    F:ANIMAL
    D:Dogs, wolves, coyotes and jackals.
    
    N:2:Panthera
    G:f
    F:ANIMAL
    D:Tigers, lions, jaguars and leopards.
    # Not cats and sabretooths
    For the first one, canis, I thought about adding FRIENDS, but that would disallow lone wolves and dogs.

    Leave a comment:


  • CJNyfalt
    replied
    Originally posted by CJNyfalt
    I'm thinking about making adj_mag_fail having a double steepness compared with standard used above and the zero adjustment point moved to 10, this would keep the steepness from Sang while making it easier to play casters without maxing stats. (failure rates changed by about -6 for all stats, except very low)

    For adj_con_fix I'm considering the reverse case, with a halved steepness.
    This would also give values that would be comparable with Sang.

    For the rest of the tables (blows, weights, mana, digging and gold) I have no plans yet.
    I implemented the changes I discussed above:
    - adj_mag_fail: 10: 8->0, 18: -2->-8, 28: -12->-18, 40: -25->-30

    - adj_con_fix: 10: 0->0, 18: 2->2, 28: 4->4, 40: 9->7

    I also linerized adj_mag_mana, so that each stat point is worth 2/10 of a mana point. This will help starting mages out a little regarding mana.

    - adj_mag_mana: 10: 8->20, 18: 16->36, 28: 41->56, 40: 90->80

    Leave a comment:


  • CJNyfalt
    replied
    Originally posted by Atarlost
    I'm not sure this is a good idea. I've only played one d20 based CRPG, but in that the value of of odd or even stat modifiers varied widely depending on your base stats. The last stat point that puts you at an odd stat level has no value at all. In a *band with no player controlled NPCs this effect would be even greater because you only have one value for each stat to optimize with. It would make more sense to simply half the range stats vary across and use them directly.

    The d&d way there are "display stats" which vary from eg. 8 to 18 and serve to disguise the "real stat" which is used in formulas and varies from eg. -1 to 4. The "display stat" has no real reason for existing.
    Well, if I would only use D&D based modifiers, then it would make sense to halve the stat-range. However there are places where the stat is used directly in calculations, and place where every stat point have effect - such as the carrying capacity and spell failure rate calculations.

    Leave a comment:


  • Atarlost
    replied
    Originally posted by CJNyfalt
    Started with linearizing stat effects and getting rid of stat tables.
    I have used the D&D standard of 1 modifier-point/2 stat-point, since this gave a good fit in most cases.
    I'm not sure this is a good idea. I've only played one d20 based CRPG, but in that the value of of odd or even stat modifiers varied widely depending on your base stats. The last stat point that puts you at an odd stat level has no value at all. In a *band with no player controlled NPCs this effect would be even greater because you only have one value for each stat to optimize with. It would make more sense to simply half the range stats vary across and use them directly.

    The d&d way there are "display stats" which vary from eg. 8 to 18 and serve to disguise the "real stat" which is used in formulas and varies from eg. -1 to 4. The "display stat" has no real reason for existing.

    Leave a comment:


  • CJNyfalt
    replied
    Started with linearizing stat effects and getting rid of stat tables.
    I have used the D&D standard of 1 modifier-point/2 stat-point, since this gave a good fit in most cases.

    The tables I have got rid of so far and changes at various key-point stats (28 = 18/100, 40 = 18/220):
    - adj_dis: 10: 0->0, 18: 3->4, 28: 8->9, 40: 10->15

    - adj_int_dev: 10: 0->0, 18: 1->4, 28: 5->9, 40: 15->15

    - adj_wis_sav: 10: 1->0, 18: 3->4, 28: 7->9, 40: 19->15

    - adj_str_td: 10: 0->0, 18: 3->4, 28: 12->9, 40: 25->15

    - adj_dex_th: 10: 0->0, 18: 3->4, 28: 12->9, 40: 35->15

    - adj_dex_ta: 10: 0->0, 18: 2->4, 28: 6->9, 40: 15->15

    - adj_con_mhp: 10: 0->0, 18: 3->8, 28: 10->18, 40: 25->30
    (note that this value is divided by 2)

    - adj_ma: 10: 0->0, 18: 2->4, 28: 8->9, 40: 20->15

    I'm thinking about making adj_mag_fail having a double steepness compared with standard used above and the zero adjustment point moved to 10, this would keep the steepness from Sang while making it easier to play casters without maxing stats. (failure rates changed by about -6 for all stats, except very low)

    For adj_con_fix I'm considering the reverse case, with a halved steepness.
    This would also give values that would be comparable with Sang.

    For the rest of the tables (blows, weights, mana, digging and gold) I have no plans yet.

    Leave a comment:


  • CJNyfalt
    replied
    Originally posted by PaulBlay
    This is probably premature, but are you in a state where you want to be putting up alpha versions for download and getting feedback on gameplay yet?
    No, that is still quite far off. I need to get in some of the major planned features that will differentiate it from Sangband first. The testers needs to be able to visualize the goal before testing can start.
    I need to at least add the following before I have reached an alpha state:
    - Monster races
    - Monster "diplomacy"/"charming" & friendly monsters
    - Scales of opposites (hot-cold, alive-undead, ...) and adding them and related interaction methods to PCs, monsters and powers.

    Leave a comment:


  • PaulBlay
    replied
    Originally posted by CJNyfalt
    I got a fair start with playtesting today.
    This is probably premature, but are you in a state where you want to be putting up alpha versions for download and getting feedback on gameplay yet?

    Leave a comment:


  • CJNyfalt
    replied
    I got a fair start with playtesting today. Made the stat-changes to elves and hobbits that I intended, the rest I still need to think about. Made an elf character that uses bows and karate, no whirlwinds yet to test against.

    Play-testing revealed a few issues with the monster-list sub-window display. So I made the following changes: Monsters are shown in blue as long as they haven't been killed, not just at first sighting. Monsters that are OOD and have been killed before are shown in red.

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎