elmokki / nationgen

NationGen is a program that procedurally generates new playable nations, including graphics, for the strategy game Dominions 4 published by Illwinter. Support for Dominions 5 may be forthcoming.
32 stars 25 forks source link

Dom5 stat conversion/update #898

Closed Ealb closed 6 years ago

Ealb commented 6 years ago

I'm going to try to do a couple of passes through the data files this weekend to do the stat changes that won't immediately require engine support. This issue is basically to note everything needing done, check that it gets done, and to allow anything missing to be pointed out.

Stats

Items

Ealb commented 6 years ago

Having played out a few Dom5 games to completion and poked around in the mod inspector, there's a bunch more stuff than just the above. Surprise surprise, I know. E.g., bandar basecosts are now only 16. Rec points still looks like it'll be the biggest pain of anything to work out, though...

elmokki commented 6 years ago

The rec costs for troops are really puzzling to me. MA Man, for example, seems to have cost 6 slingers and all other non-cavalry non-sacred at 9-14 and cavalry way higher.

Meanwhile, for the nation I generated to test before the MM adjustments that I barely noticed:

I think 9 is base for a standard human, but the hammerer is really weirdly costed at least.

Commander recruitment points seem sensible enough to me, but we probably want to set them customly too. I think pretty much everything is 1, except non-str mages 2 and str mages 3 or 4. It is possible to also generate some interesting variation by making a really beefy mage 5 points or a pretty good secondary 3 points or whatever.

On a related note: Wall defenders need to be defined since this custom nation has some Airya guys on walls now. It's probably whatever ranged unit if any, whatever unit with ranged bonus weapon if any and whatever unit if nothing better is available.

Ealb commented 6 years ago

Hm, the default rec points sound better than I expected. Well, mostly. Not great, but still better than I'd've guessed. I was expecting something a lot simpler based on how Dom4's autocalc pricing worked.

My understanding is that the biggest factors are gcost, age, #slave, and #holy. I wanna say #slave is a default *0.5. Militia-y troops normally get a few points knocked off, which is why Man's slingers are cheaper, and yeah, cav costs a bunch more (although the gcost isn't really reduced, which is weird - I'd think there would be more interplay between the two).

A flat +/-1 for nations (martial or not-so-martial traditions, fecundity, or whatever) would make a decent filter.

As for wall defenders, vanilla seems to like fliers if there are no ranged units. It doesn't seem to be any better than walkers, frankly, but still. I'd say any infantry would work if there's nothing ranged.

Althaea-Dominions commented 6 years ago

Recpoints are a bit complicated. The way it works in vanilla (usually) is that the cost of the unit is compared to the base cost of that unit's chassis. So in basic terms a human that costs 12 gold will cost more in recpoints than an Abysian who costs 20 gold, since the base cost of a human is 10 while an Abysian's is 20. I'm not sure of the exact formula but it's not linear. This is also why militia-style troops tend to have lower recpoint values, since they have low gold costs compared to the racial/species/ethnic/demographic tag, e.g. 8 gold vs a base of 10.

Otherwise Ealb's got it about right. I'm not sure #holy has an effect per se beyond increasing gold cost (and thus recpoint cost as a side-effect). Note e.g. the low recpoint values of Abysians, which is likely due to their low ages. The #undisciplined trait also reduces recpoint cost.

Some units are also adjusted. Zotz, for instance, tend to be quite old, but all Zotz have reduced recpoint values anyway to represent their overall fecundity and propensity to swarming.

Agreed on the interplay between gold cost and recpoints not being entirely what I'd hoped for. Cavalry did at least receive a flat -10% gcost decrease across the board, (though this was reverted for Zhayedans in particular).

elmokki commented 6 years ago

It seems that there's autocalc for it too: A value of "base price"*1000 means it will be autocalculated. Most human troops and commander have the value 10000, meaning that it will be calculated automatically based on the monster's age and that it has a base price of 10 gold, commanders also have magic and other skills taken into account.

We should probably test where this gets us if we define race/pose specific rp base costs.

Ealb commented 6 years ago

One thing about command points and national commanders is that it seems pretty routine for 120 leadership mundane commanders to cost 2 rather than 1. So if we're hewing to vanilla's model, nations with a superior mundane commander probably should have that commander be more expensive.

As a note-to-self: gladiator prices need revised, as they're more gold-expensive now.

Also, Masons need added as both an uncommon special commander archetype (probably accompanying the siege engineer bonuses) and a far-less-common mage/priest filter.

Ealb commented 6 years ago

Something annoying occurred to me - we absolutely cannot just rely on autocalc for rec points. Or even if we do, we'd need to know the precise formula so we could display its results during documentation output. I'll shrilly whine in the mod wishlist thread in hopes of getting JK to take pity and lay out the numbers.

elmokki commented 6 years ago

I do not really mind a few documentation issues, but yeah. I think I will look into approximating the formula at some point if JK isn't going to divulge the formula to you.7.2.2018 7.54 ip. Ealb notifications@github.com kirjoitti:Something annoying occurred to me - we absolutely cannot just rely on autocalc for rec points. Or even if we do, we'd need to know the precise formula so we could display its results during documentation output. I'll shrilly whine in the mod wishlist thread in hopes of getting JK to take pity and lay out the numbers.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.

Ealb commented 6 years ago

I don't mind it much, yeah... but the people who make 1000 nations trying to get that perfect OP abomination would hate it... ><

Ealb commented 6 years ago

I couldn't remember where we were talking about wall defenders, so I'll put it here. I did an exhaustive look at all wall defenders.

elmokki commented 6 years ago

I guess it should generally be:- Dude with 20+ range, priority on PD level stuff and actual ranged specialists - Random but filter adjustable chance to get more expensive stuff or infantry with bows chosen and/or higher budget for units- Small weight on fort defence that "good wall defenders" roll can vastly increase?- Javelins and such if nothing better is available- Infantry in general if no ranged- Generate unit if still nothing and there is infantry or ranged pose- Just use whatever if it is some weird full cavalry raceMages or priests rarely and randomly.

Ealb commented 6 years ago

In re: rec points, I'm noticing that some races where we just freely let the engine set starting ages will get screwed over pretty hard. Atlantians are a good example; right now autocalc sets little Atlantians to the same rec point cost as shamblers, because they're the same age. I'll go ahead and try to hammer something in with the random age assignment commands to try to get them to be 22-ish like in vanilla...

Ealb commented 6 years ago

Given that crossbows are now adding 1/3 Str to damage, and hoburgs cost more recpoints than comparable humans because they're older, should we let hoburgs use the same crossbows as everyone else?

elmokki commented 6 years ago

I suppose, yes. They could keep the old as a less common option too I guess. You don't really have to ask me about content changes. I will have no motivation to tinker with those unless any code I might have motivation to tinker with requires it.

Ealb commented 6 years ago

Well, a sanity check is always good. My judgement about balance can be a bit wonky...

Hmm, mayhaps keep the little crossbows as an option for militia-tier garbage, or as a bonus weapon.

elmokki commented 6 years ago

Well, I haven't played Dominions 4 in years and the one game of Dominions 5 I played was a multiplayer game where I was gone fairly early.

Althaea-Dominions commented 6 years ago

Seems fair to give them normal crossbows. It would be consistent with how other ranged weapons are treated these days: e.g. Markata and Pygmies use shortbows and Ashdod's archers use the same greatbow as Hinnom's rather than their own special greatbow.

Can't comment too much on balance, but I suspect Hoburg crossbows are a bit less of a problem anyway when your troop roster doesn't contain anything but Hoburgs.

elmokki commented 6 years ago

I was mostly referring to balancing in general: This is one of the relatively few cases where I see rec costs as a valid balancing mechanism. It even makes sense thematically that hoburgs aren't too keen on serving in military!

elmokki commented 6 years ago

Turns out rec costs are set to "base goldcost 1000" for pretty much anything I quickly saw: Wardens of Avalon at least are 10000 and white ones 9000 and militias seem to be basecosted similarly too. I think rec costs can just be 10000(race gcost + pose gcost + base sprite gcost). If something like Caelian wings should affect it, I am not sure, then I'll write an extra command for it to go to other item slots.

Ealb commented 6 years ago

I've been setting rpcosts in basesprites or race files as I go - right now I'm through hoburgs alphabetically (foulspawn still excepted), and all that's uploaded. It seems pretty clean as far as outcomes go, and the few instances where I've added modifiers to the RP costs from other slots or whatever have seemed to be appropriate. I'm not too worried about NG autocalc'ing one; I'd say only do it if one isn't present (and get rid of the current default 10000 in the hardcoded fallback values so it'll happen if the data definitions don't do one). If you do, make sure you're multiplying race/pose/base cost by 1000, not 10000, though.

Ealb commented 6 years ago

(I should have the mapmove and rpcost stuff done for everything by the end of the week so we could do another release candidate. Assuming I can avoid getting distracted. minocentaur_red_candidate ...)

Ealb commented 6 years ago

Stuff still to-do even after finishing the MM/RP stuff:

elmokki commented 6 years ago

The only thing out of these we should do before releasing RC2 is refining MP/RP stuff, right? Rest is for RC3.

elmokki commented 6 years ago

...or 0.7.1

Ealb commented 6 years ago

Yeah, this was one of my periodic "write down everything I think needs done because I'm convinced I'll forget it as soon as I'm not actively looking at it" notes. As soon as I'm done with mount map move stuff (which is slow and kinda tedious because of how decentralized mounts are, but something I should get done tonight, TBH), I'm planning on bundling up RC2. The above is 0.7.1+ stuff.