Can These Things Be Fixed? <Long>

Users who are viewing this thread

Thou Shalt Not Replace Factions via XSL.

Seriously, what gives, lol. If you do a XSLT replacement of any Faction's entry (note; minor change to a value in an Attribute; we're not talking about trying to nuke a Node), it generates some very weird issue with saves; the game can run normally, but will crash the next time the save is loaded (something about BanditComponent / getting the Owner returns null). This doesn't affect brand-new Factions, just old ones. So, er... how on Earth can we do minor things like replacing a Faction's name, even? Post-load code changes? Specific XLST replacement of just that Attribute value? IDK. Not the end of the universe, but it's just bizarre that a bug like this is still in 3 years later.



Meanwhile, I've finally started digging into the economy a bit. Wheeeeeeeeeee. There's a lot to unpack here, and so much I don't know and can't know, because the source involved isn't available.

1. There are bizarre relationships between how much money is in a Town's shop and the contents of its Shop inventory. Seriously. I encountered this with an early build to address the next problem on this list; if a Town has a lot of items in its inventory, available cash disappears for some bizarre reason.

Moreover, that cash isn't accessible via an obvious place (like, "shopGold" etc.); I'm sure I'll find it eventually, but what on Earth was the thinking here? Shop gold should be basically infinite and shouldn't be in any way tied to the inventory; the least-Fun idea in videogames about getting massive piles of loot is that you have literally nowhere to sell it, lol.

2. I've written some basic, crude code that addressed the other major elephant in the room in terms of how shops work now. That's the explicit, obvious, heavy-handed level-gating.

I presume most people who've played the game for a bit know this, but you simply won't see high-tier gear in the Towns until pretty late in the game. There's a giant, yawning period in the midgame where the player can afford better gear, but there's literally nothing to buy, anywhere.

I think that's Not Fun, so I've written another inventory-management script to address that, along with culling the CraftedItems. Basically, it now culls CraftedItems (so that only my new weapons tend to show up) and if there isn't much gear in the shop, it puts more in, using a "curated" list of known-safe items. Now that I know about the weird money issues that'll happen w/ inventories, I've culled trade goods, with the thought that that's maybe what's going on here; probably at some point soon I'll do an "always check" to make sure that the Town has some Food in its inventory, cull random items, etc., but this basic version allows all items a chance to spawn over time.

C#:
public static void removeAllCraftedWeapons()
{
    
    List<ItemObject> curatedList = new List<ItemObject>();
    foreach(ItemObject itmObj in Items.All)
    {
        if( !itmObj.IsCraftedWeapon &&
            !itmObj.IsUniqueItem &&
            !itmObj.HasBannerComponent &&
            !itmObj.IsFood &&
            !itmObj.IsAnimal &&
            !itmObj.NotMerchandise &&
            !itmObj.IsTradeGood
            )
        {
            curatedList.Add(itmObj);
        }
    }

    foreach(Settlement set in Settlement.All)
    {
        Roster.ItemRoster roster = set.ItemRoster;

        if (roster != null)
        {
            foreach (ItemRosterElement item in roster)
            {
                EquipmentElement element = item.EquipmentElement;
                ItemObject itemobject = element.Item;
                if (itemobject.IsCraftedWeapon || itemobject.NotMerchandise)
                {
                    roster.Remove(item);
                }
            }
        }
        //In towns, generate a much wider number of items, to ensure that everything's always buyable... somewhere!
        //This gets around Taleworld's rather-transparent level-gating systems, which I find boring.
        if (set.IsTown)
        {
            if (roster.Count < 150)
            {
                if (curatedList.Count > 0)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        ItemObject randomItem = curatedList.GetRandomElementInefficiently();
                        //InformationManager.DisplayMessage(new InformationMessage("Adding randomized item: " + randomItem.StringId, new Color(1f, 0f, 0f)));
                        roster.AddToCounts(randomItem, 1);
                    }
                }
            }
        }
    }
}
 
I've written pruning code that automatically removes some items on the same pass as randomized ones are pushed in, and confirmed that, indeed, the amount of money in a given Town's shop is inversely proportional to the number of items in the ItemRoster. Bizarre!!! It's only Towns; Villages can be stuffed full of goods and they'll still have 1000 gold available. I'm really going to have to pin down what, exactly, is going on there, lol.
 
Helmet stat revisions are halfway done this evening, after further tests of the code side.

Helmets... are weird. There are so many, and they're scattered so unevenly throughout the Cultures, and the degree of protection they'd offer vs. their original stats is all over the place. I've had a merry time straightening that out.

The Empire has, by far, the greatest number of helmets. Almost twice that of Battania, for example. I'm fairly tempted to give a bunch of them to Battania; I'd really prefer that the Empire factions feel more standardized and Battania really lacks anything credibly heavy.

Vlandia's a different story; I'm probably porting over existing full helms there; I have a huge number of full-face helms to move in and I want their theme to be Armor. First I've gotta get through all this boring stuff where I edit hundreds of text entries to support the game design goals, though.
 
Then there's the confusing system for "civilian" gear. A lot of Troops have "civilian" sets; why they do is rather a mystery, however; so far as I know, you'll never see Mercenaries in their "civilian" sets (in Taverns, they're fully armed and armored, to make it obvious to players) they never show up in Alley Fights (it's always the player and random poorly-equipped guys- I don't think even the Companions show up, which is a huge missed opportunity, imo. So, why do Sword Sisters have "civilian" gear? Wedding scenes, maybe? It's a mystery.

Thanks for some interesting knowledge in the thread so far! I'm fairly certain that when you own an alley and defend it, the troops you placed in the alley are used to defend it. Off the top of my head, that's the only use for civilian gear on a random troop, at least if those fights use civilian gear.
 
Ah, yes, that "get your precious troops slaughtered by random scrubs" mechanic, lol. I'm guessing that, like horses, anything that isn't marked "civilian" doesn't get equipped by Agents in those battles. I'll have to see if I can find that code.

Honestly, that entire mechanic makes little sense, other than as a vague nod to Gangs of New York; yes, in medieval cities, people weren't generally allowed to just go around armed and wearing armor, but you're the leader of an independent (but, somehow, legal) mercenary force, a lord serving a realm, or a ruler. One would presume that your own troops would show up fully equipped if they needed to deal with mere civilian criminals, and you'd pay off the Watch afterward, if the first situation, and in the second and third, you're an official doing their duty, so there's nothing wrong with showing up with a bunch of fully-armed people.
 
Xeno, welcome back
Blood & Steel it's still in my top 5 Warband mods of all time, and I basically played them all
It's great seeing that you're making B&S for Bannerlord, and I hope you can make the mod as fun as it was on Warband, really an unique work with your own game design and balance
Bannerlord it's a mere mod framework, the problem is that every update, most of the mods need to be updated, so it's frustrating (like the vanilla balance and mechanics, I agree with your open post)
Good luck with the mod
 
Glad you enjoyed it back in the day!

Yeah, the way things work now, without Module System, is frustrating in that respect; if a mod's good today, it may be gone tomorrow if the author disappears. This is one of the reasons I've suggested rather strongly that Taleworlds includes a runtime C# compiler, so that mods can be distributed with raw source rather than require compiled DLLs. I doubt it'll get done at this point but it's a real issue.

Meanwhile, the last of the helmet edits are done. Whew. There are sooooooo many helmets. I've edited 249 entries, lol.

I'm almost certainly going to redistribute some helmets from either Vlandia or Empire to Battania, and probably steal one helmet from Battania for Empire (it looks more Roman than English/Celt/Welsh/Scot/WhateverTheBattaniansAre). I think Empire's the best candidate for stealing from, as they have some stuff that "feels right", and I can steal in turn from Vlandia if I want to even things out.

Now I've gotta decide; do women keep pauldrons (which clash with practically everything I've ported in) or not? Probably not; at least now they're minor buffs, not up to 50% of armor values.

Honestly, I'm not sure what to do about this; I wish there was a no_pauldron tag for body armor; I'll ask for one and we'll see.
 
Last edited:
Glad you enjoyed it back in the day!

Yeah, the way things work now, without Module System, is frustrating in that respect; if a mod's good today, it may be gone tomorrow if the author disappears. This is one of the reasons I've suggested rather strongly that Taleworlds includes a runtime C# compiler, so that mods can be distributed with raw source rather than require compiled DLLs. I doubt it'll get done at this point but it's a real issue.

Meanwhile, the last of the helmet edits are done. Whew. There are sooooooo many helmets.

I'm almost certainly going to redistribute some helmets from either Vlandia or Empire to Battania, and probably steal one helmet from Battania for Empire (it looks more Roman than English/Celt/Welsh/Scot/WhateverTheBattaniansAre). I think Empire's the best candidate for stealing from, as they have some stuff that "feels right", and I can steal in turn from Vlandia if I want to even things out.

Now I've gotta decide; do women keep pauldrons (which clash with practically everything I've ported in) or not? Probably not; at least now they're minor buffs, not up to 50% of armor values.

Honestly, I'm not sure what to do about this; I wish there was a no_pauldron tag for body armor; I'll ask for one and we'll see.

Let me tell you something Xeno...
We are three years in since Bannerlord release and they barely fixed/added the minimum that you could expect from a game that has been in dev for nine years prior to it's "early access" with nice funds
The state they work in is... let's say not ideal, I've read in a post that the wages are pretty low, as their morale, main issue is that management is absent/uninterested, so the good devs that worked for them all went away or felt demotivated, and now only a bunch remains, but they can't do whatever they want to, even if there is big thread in here about what STILL needs to be fixed and improved and they know/see what's wrong...
This upcoming update it's very late and it should have been out already since a long time
Sadly the situation is... sad, the devs and such cares about it, it's the management and co. where the issues begins, at least that's what I read from other threads, I hope this will clear the state of the game's in for you

About pauldrons, as far as I know, they just add some arms protection, you could just make those pauldrons-included armors to have more arms protection value and that should balance things out

Did you managed to solve the firearms animations issue ?
You could ask The Old Realms team about it, they even managed to integrate a pretty nice magic system and much more, there is a downloadable version out but it's far from finished, still a very impressive work as it integrates a lot of new game mechanics

By the way I downloaded B&S again and still having a blast, it's a shame that there are some bugs and the lag spikes in the campaign, I remember some time ago you were working on version 2.0, is that still a thing ?
Or maybe a final 1.6 patch that fixes all the main issues to make it stable ?

Cheers
 
Last edited:
1. I have no idea about firearms yet. I'll get in touch with the Old Realms folks and see if they're willing to lend me any source code or animation how-to. As things stand, I'm not actually sure how to get a wholly-new animation into the game for characters, how to make sounds / particle FX happen, etc. I'm really kind of dealing with one issue at a time here for now; as it is, I've gotten side-tracked a few times, lol.

You're probably not aware, but firearms weren't in Blood and Steel originally; I started pretty much like this, with "make Warband feel Fun", and then went from there. I'm not sure just doing an exact clone is really the best idea, either; I'm starting with finding some actual fun, then moving on from there. When the combat starts feeling entertaining and a little over-the-top and I'm done with all of the Majorly Boring Stuff that's actually required to do something largish like this, I'll push out the first release and we'll see.

2. I realize that this may be a pretty difficult situation in terms of getting serious developer support, but I'll make feature requests and hope they're worked on, someday. A lot of things I asked for for Warband were implemented after I quit, so it's not entirely self-serving. On the rest of what you've said re: staff, etc., IDK and it's hard to say from outside their bubble what the problems are. It may be that, like many games, their contract gave / withheld bonuses based on ratings, etc. or other issues. It's pretty obvious that people are still buying the game, though, so maybe it's not really dead, it's just gradually emerging?

As for the Beta branch... yeah, it's a little odd that it's stuck in perpetual non-release mode. IDK whether that means a Really Major Feature is involved, and it's not stable, or what. I have avoided having anything to do with it, largely because when I was first starting to mess with things, it was really unstable and crashed on me constantly. When it's finally stable-enough to be released, I'll reevaluate it.

On the business side, "i.e., can TW make this a success financially" we just can't know.

I do know that TW's leaving a lot of money on the table. They should have put out some small DLCs by now- a dozen new armors for $5, that kind of thing. Yes, some people will whine... but the hardcore fans will buy it "to support TW"; if 100K buyers show up, fine, TW can now afford 5 new coders in their Turkish offices to straighten out the game's internals and bug-hunt. Given that the engine, unlike Warband, now allows data-injection to add things dynamically without destroying saves... why not?

Their PR focus, at least on Steam, is almost entirely on MP, rather than SP. That's probably a mistake, and I doubt it's backed up by solid research. SP players have to be massively more common than MP for this game. You'd think they'd get that and push the best SP mods, mod-lists, etc. They had this obsession with Warband, too, and it was always really puzzling to me, when it was obvious that sheer download numbers suggested that SP mods outstripped everything MP by a very large margin.

3. I can safely tell you that I have zero plans to update Blood and Steel. I'd gotten just about everything that a one-man show could get done, I'd hit the limits of the 32-bit Warband engine, DirectX 9c, etc. and to be really honest, it always had a scope that was well out of reach for one person (there was an Actual Backstory and a Plot, but none of it was ever implemented into gameplay other than vague hints, as I simply did not have the resources to do it any justice).

Unlike mods building on existing IP, my chances of getting much in the way of an art team were pretty minimal (although I did end up working with a surprising number of artists in the end; a lot of people back then liked that the mod was so open-ended that they could submit pretty much anything halfway-decent and I'd find a home for it, lol).

The source for everything but the fancy shaders was included with the mod, everything in the mod is explicitly OSP or credit-required-only licensed; I've made that super-clear to people over and over again. Basically, if somebody ambitious wants to extend, fix or revamp it... they're welcome to it and I didn't leave any major show-stoppers, other than Slightly Advanced Stuff in terms of how the code compiled in the very last version (any Python nerd would sneer at that, though; it's not sophisticated). My code's pretty well documented, with copious comments; even a relative newbie could try to extend its features or try to make it finally have a proper ending, etc.
 
Last edited:
OK, now that armors and helmets feel like they're about where they should be, and I've fixed up vendor gold (see code below) I've done some testing. Armor feels good now. It actually feels like... wait for it... armor. A lot flows from that:

1. Bowmen with bodkin / piercing arrows have a distinct point (pun intended). Cut-type archers plateau but are absolutely devastating against low / no-armor troops.
2. Troops with Pierce attacks but lower raw DPS work like they should; they're effective against armor.
3. Spears come into their own, when they're doing enough damage to armored targets that they remain relevant into late-game play.
4. Cutting polearms can be properly devastating to low-armor horses and troops without feeling OP vs. heavily-armored troops (there is a reason why the halberd, with its piercing spear attack, was a popular weapon in the late Middle Ages, whereas glaives were rarer).
5. Maces feel like they have a distinctive place; weaker than swords and doing less Pierce than most spears, but faster up close.
6. Axes and swords have distinct feels. A sword does what one would expect- swing to deal best raw damage, thrust against armor. Axes combine some Cut and Pierce in their strikes, and that feels about right; they're a little slower than swords and they don't get as much Pierce, but they're pretty ubiquitously good up until you're fighting against enemies in plate and maille.
7. Charging light horse with no armor into heavy infantry = dead cav. Charging knights with heavy horse and couched lances can go either way, but the knights have a real shot at breaking through.
8. Sea Raiders no longer feel like vendor trash and the best free loot in the game (did anybody here know that they can drop a helmet that's worth $87K, in Native? Well, it happened to me, so it can happen to you, lol). When I get around to putting in the "advanced" version of those guys, showing up in hordes... the player's going to have a good way to learn about how a Lord army might feel.

it's time to talk seriously about troop trees, and how they relate to the desired game design.

In Warband, troops could have between zero and two choices for upgrade paths; presumably there were mods that added more via UI mods, but I generally kept to this convention and used branches. The old UI made this pretty simple for players to understand, and it wasn't visually clunky.

Bannerlord doesn't have this problem; the UI is actually better, in the sense that seeing what troops become what is easy now. So far as I've been able to determine, there isn't a real upper limit on how many branches one can make; the problem is more of how cumbersome it becomes for end-users to navigate. The limit there is about 3, I've found; while the main UI showing upgrades is fine, the UI where we actually pick the upgrades requires scrolling at 3, and the scroll-bar isn't visually obvious. Maybe I can fix that?

The existing troop trees make no sense at all, except from some sort of power-gating perspective. They're hard to read, visually, and aren't kept simple for players; it's hard to even know if a given troop is an upgrade, side-grade or (in some clear cases) a downgrade (for example, despite stats and slightly better equipment, an Imperial Infantryman is clearly less bang-for-buck than an Imperial Recruit in Native; they're both so weak it's ludicrous, but one of them costs a lot more).

I'm going to fix that. Each major culture's troops will have a straightforward tree. Power levels will be controlled through the simple expedient of gear and stats. Each branch should be viable; there should be a case made for "army of XYZ" or "army of ABC" working just fine, balance-wise; it shouldn't be full of newbie-traps.

I think one of the themes I see in the existing system is that TaleWorlds wanted to keep cavalry out of reach, at least for a few factions. This is sensible... if cavalry are inherently OP vs. everything else. They shouldn't be. Cavalry, while potent, have some inherent problems, starting with their cost to acquire and upgrade. In combat, they're no longer a panacea; the new damage system more-or-less keeps them reasonable in their interactions with infantry.

Infantry are harder to get right; they need to have enough protection that they're worth fielding, don't take excessive losses, and due to how the experience system appears to work now, they need to be used often to level up into something that's really dangerous. I'd like to address that issue with how they level up (I don't know why army-wide XP has largely disappeared, but it has, and that's not a good thing, imo, because it hurts infantry above all else) but I have yet to determine how that system works.

So, let's start with the Empire. They look complicated in the original UI, but really, they just have 5 troop types at present:
BL_new_troop_trees_approach01.jpg


There are obvious changes that need to be made, to meet the new goals:

1. Having four ranks is reasonable. All of them need to have four ranks. The first past Recruit should be OK; the fourth should be worth the effort and costs.

2. What spots are empty? Is the army missing a major capability? Is that good, for flavor, or is it bad, because they can't compete? Five branches fit in the standard UI; six or more mean the player has to scroll, but there's a scroll-bar system now. What is a good limit? 6 or 7? Or should I just kind of go nuts and offer huge numbers of choices?

3. Looking at the re-arranged tree, are there some that are obviously weaker than others? How should that get fixed? Archers, for example, should not always be weak in terms of armor, but should be weak in terms of HTH skill and armament, unless they're really, really expensive. Otherwise, why bother having line infantry? This is the general problem with line infantry in the game; like Warband, the case for having them in large numbers doesn't make much sense, except as speed-bumps. There should be factions where infantry really works.

4. Keeping on-theme for a given culture, what should the player who's trying to optimax generally lean towards, if they've chosen that culture?

5. Early infantry troops shouldn't be practically naked. This just wasn't done IRL; you only have so many farm-boys to waste, and shields are cheap. A recruit with a spear should beat a Looter, on average. Now, this could be done by merely nerfing Looters even further than they're already nerfed, but I'd rather solve the problem at the root and make them feel reasonably protected.

6. Something needs to be done about the "suicide infantry multiple times to promote the few survivors" mechanic. It profoundly disturbs me that this is how it's done in Bannerlord at present; I feel like the player's deliberately encouraged to run their armies by walking over a carpet of their own dead. I'll have to look into how XP is distributed and make everybody get 1 XP per kill or something. The current system massively favors the groups that do the most damage, rather than treating participation as a group effort; your infantry can obey their orders, patiently stand in lines in a shield wall, taking arrows for hours, doing their job... and they get zero experience until you run them in and they get kills. It's a silly mechanic.

Then there's faction themes. I'm mainly writing this for me, but this is da plan.

1. Aserai:

Base: medium-tier armors, flexible troops with missile weapons throughout. Decent archers and crossbowmen. Camel-cav durable horse-archers. Probably some specialized infantry types with two-handed Godenak swords and mace-men who are really dangerous to armored troops.

Nobles: very heavy infantry with shields and thrown weapons. High-speed flexible archer-cav that use throwing weapons and bows. Heavy cavalry with couching lances that are slower but pack a wallop in a charge.

2. Battania:

Base: medium-tier armors ranging to heavy. Very strong archers; at the top end, they should be able to do something like Crecy, heh. Mediocre crossbowmen. Strong two-handed weapons (glaives, spears and axes). They should have at least one branch that gives infantry shields.

Nobles: heavy infantry with bows and two-handed weapons, medium cavalry with bows, spears and swords, moderately-heavy cav, roughly 1066-era Norman knights with throwing spears, fighting spears and swords.

Battania's one of the trickier existing factions to remodel. Fians are cool, but honestly, the rest of the whole lineup is meh. I think that they should probably be more British than pseudo-Celt, personally, but I like the idea of claymore-armed, kilt-clad idio- er, "glorious volunteers" shouting "freeeeeeedom" as they charge Imperial lines.

3. Empire:

Base: heavier-tier armors. Armored and flexible signature Legionnaires, backed up by pikes, halberdiers and spearmen. Mediocre-but-cheap archers; acceptable crossbowmen. Bucelarrii archer-cav as a weak-but-cheap annoyance troop. Empire should have a lot of choices, and a lot of them should be OK; everybody should want to build Legionnaires if playing a themed army, though, imo.

Nobles: Really Heavy Infantry (Centurions, etc.). Noble heavy cavalry that has best-in class horse armor, but second-or-third-best otherwise, armed with couching lances, shields and hand weapons.

4. Khuzait:

Base: Low-tier armors. Cheap, plentiful archer-cav, obviously. But they should plateau and not be great. I want the rest of the base army to be Chinese / Japanese. Swordsmen with shields, lots of polearms, decent bowmen, crossbows (Zhuge Nu needs to show up, for sure). A Khuzait force shouldn't be mono-themed; how to get the tactical AI to employ them without always getting defeated in detail is going to be a bit of a challenge.

Nobles: elite archer-cav, again obviously- but I'm hoping to rescue SacredStoneHead's Japanese stuff for them. Mongol-style lancers. Some sort of cool / ridiculous infantry unit that does something different; maybe grenadiers make their first trial appearance? Until I figure out how to do custom projectiles, I'm a bit limited in terms of where I can go.

5. Sturgia:

Base: Medium-tier armors, but they get them early and almost ubiquitously. No crossbows. Axe, spear and sword- infantry always get thrown weapons; they're mirrors of Aeserai, but with better armor. Reconsider role for stuff like Line-Breakers; axes are more viable now that they do "cleave" type damage, but they have issues w/ AI if given a shield but no one-handed weapon and no-shield troops tend to get slaughtered when up against anybody with bows; maybe they'll just get pretty ridiculous stats for durability or speed, like the Berserkers in Blood and Steel? Should get some sort of horse troop; light shield-and-spear troop. Sturgian armies should feel hard to take down with missiles and resistant to cavalry.

Nobles: split between one or more pretty-ridiculous damage-dealers / tough infantry types and a medium-heavy cav option with the ringmail barding, which is distinctly "mid". Might bring back the Valkyries.

6. Vlandia:

Base: Best armors. Composition should be pretty Generic Medieval: polearms and shields, crossbow, bowmen, perhaps pikes. Vlandian infantry should start weaker than average, then become really, really hard to kill. Their bowmen should be "ok I guess", but their crossbowmen should be really decent. The should have high variety of polearms but their best troops are almost missile-immune tanks with shields, swords and battle axes.

Nobles: hard-hitting knights with best personal armor, second-best horse armor, lances, shields and hand weapons. Super-ridiculous dismounted knights with swords, battle axes and maces; if I have to import Narf's armors in to justify them, fine, but they should cause dread in anything but maybe the Sturgians (who might be able to out-damage them). Maybe something really special, like a "duelist" class equipped with piercing sword and a crossbow.


7. Other Thoughts:

I have no idea what to do with Wheene's stuff. It's all very High Fantasy flavored. I'm inclined to give these things to the Minor Clans; maybe they're the remnants of ancient cultures who still used magic before the Empire banned its practice, or this is a post-apocalyptic setting and they have the remains of Super Tech. Or maybe they just have glowy stuff that's cool-looking as a neat surprise.

I have no idea whether a return of the Dark Armies is a good idea or not. Thus far it's been sooooo much harder to get going on certain aspects of code, and to do them properly (i.e., have a faction that starts owning nothing, but conquers the map if not confronted) is going to be a lot harder. Making giant armies of Undead show up for players to fight, however, should be fine, and making some huge force that the player can take on as a challenge is also fine.

I miss the Rhulg Destroyers; they were one of the few things in the "bandit" armies that actually inspired any level of dread. Re-making the Merry Men was relatively easy; if anything, they're more dangerous and truly feel like a mid-tier threat. My "bandit population" system is working really well at keeping the world feeling lively and interesting.

I have stand-ins for the new bandits that can spawn. They need to get fleshed out.

Vendor gold is now regulated by this per-frame code (there's something bizarre going on here with TW's code; until I find it and kill it, it has to run very frequently, if shop inventories are going to stay large; thankfully, this is a very cheap thing to run):

C#:
foreach (Settlement set in Settlement.All)
{
    if (set != null && set.IsTown)
    {
        SettlementComponent settlementComponent = set.SettlementComponent;
        if (settlementComponent.Gold < 100000)
        {
            //InformationManager.DisplayMessage(new InformationMessage("Settlement Gold: " + set.Name.ToString() + " " + settlementComponent.Gold, new Color(1f, 0f, 0f)));
            settlementComponent.ChangeGold(100000);
            //InformationManager.DisplayMessage(new InformationMessage("Settlement Gold After: " + settlementComponent.Gold, new Color(1f, 0f, 0f)));
        }
    }
}
 
Last edited:
Tried out Imperial pikes for the first time, after setting up the new troop trees, in masses enough to matter. They... well... let's just say I wasn't impressed. I think that pikes have two main problems:

1. In my case, I gave them thrown weapons. I think this lets them get into trouble with nearby infantry.
2. Guys with spears and shields are just plain better against most things. They get the pointy-stick bonus and they get a shield. Either I have to make pikes have an extra type of pointy-stick bonus- say, a charging bonus or a guarantee to slaughter horses or something- or they're just having real problems. IRL, pikes did have all these issues and pike formations were elaborate and full of troops with special functions, like "kill those guys crawling under our pikes", etc. But that's a giant stretch for the Bannerlord AI. I just wish they were smart enough to stab at faces and back up from infantry, lol.

The other long polearms thus far appear to work pretty well in their roles. Glaives, fauchards, polehammers and halberds are all, "swing and stab" polearms, and they're fine.

IDK whether there's something wrong with my pike data, or that the AI just cannot handle pikes correctly; the guys with them seem OK, but the combat results suggest they're just not connecting properly. I'll try making them two-handed spears instead and see if they work better.

The new Legionnaires are really feeling great, though. They definitely have that, invincible wall of doom feel you'd expect them to have. Watching them advance and throw their spears is cool, and it dearly makes me wish for the good ol' days, when we could assign troops to 2 or more rank depth. The new automatic system is probably better for newbies, but I want ranks of these guys throwing spears before joining a charge, lol.

Meanwhile... you know (well, if you've been bored enough to read this thread) that I've already found and restored some "lost content". Guess what? There are a bunch of Roman things that are in the game files; in particular, there are nice models of pilums and spiculum, and a bunch of axes and a bow- that one even has LODs; it was clearly considered to be finished content (heck, it might even have bow morphs). Their specular maps aren't great and the axes aren't textured terribly well (they look like they'd just been roughed out when the artist was told to move on), but otherwise, they look fairly serviceable.

There's also a rather amazing crab:
bl_amazing_crab.jpg

Seriously, hats off to whoever worked this from photo refs. That's an impressive diffuse.

Who knows what else I'll find, lol.
 
OK, I've gotten Pikemen sorted. It appears that:

A. The Agent AI can't figure out "pike, hand-weapon, shield, thrown", but it can figure out "pike, hand-weapon, thrown".
B. Having Pikes doing a little more damage made them quite viable in testing.

Bucelerrii are set up with four ranks. First and third cost a horse. Fourth is not a knight, but is a moderately-durable cav-archer gimped with a fairly weak bow and cutting arrows, but they have cool swords. I think that Empire's bowmen should continue to have the same problem (giving Battania and possibly Sturgia the only bowmen with bodkin arrows at the high end), but I haven't gotten to them.

Crossbowmen are now in a smoother progression where they start fairly bad and end up second-best vs. Vlandia's, but are going to be slightly-better foot troops.

All I've got left in the normal-troop tree is whether or not to add halberdiers and any other troop branches. I'm spoilt for choice, with as many weapons as are in the game now. Ironically, I think the biggest problem may be dressing them; there are only so many armors in each tier, and it's so uneven for each faction.

It's probably time to start figuring out what to do w/ the Vigla tree, to make them more interesting than just another cavalry set. In my head, Empire has a lot of direct competition with Vlandia here; perhaps they get some sort of tank troop with battle-axes as a counter to Vlandian maces; not quite as armored, but better raw DPS, so they're better against a mixed bunch.
 
OK. Empire is sorted out. In the end, I did a lot of testing this week and I think I'm happy with them. I think my biggest complaint with Empire turns out to be the lack of variety of helmet designs. Despite looking like they have a lot of variety on paper, when you start reviewing the meshes, it turns out that more than half of them are basically just reskins of a base, with very minor variations. Once I've ported more helmets in, I can fix this.

Basic troops:

Recruits: starts with spear, shield. The shield gives them 100% better survival rates; I no longer feel like throwing them into combat with Looters is an act of necessary stupidity. Spears give them a teeny chance against early light-cav foes, but they'll still get destroyed by anything scarier than Mountain Bandits.

1. Legionnaires: heavy infantry, equipped with swords, shields, throwing spears. They're very heavy on the high end, but their damage vs. heavy armor is meh.
2. Archers: relative lightweights; they're equipped with a spear as their secondary, which makes them interesting despite their relatively-bad stats, armors, and mediocre bows.
3. Crossbowmen: also relatively light troops; they're equipped with battle-axes and are also mediocre infantry.
4. Pikemen: Pikes, dussacks and throwing weapons. Fairly decent armor, but no shields.
5. Halberdiers: very much like the Pikemen; they're equipped almost identically, except for having halberds, which allow for longish-range sweeping cuts. They should be pretty good in siege fights and OK in open-field, since they can stop horses.
6. Bucellarii: mediocre horse-archers with light bows and arrows. Decent, but not spectacular armor, but they have no horse armor, so they're strictly for harassment or mopping-up.

Noble Troops:

Viglas are equipped better out of the box; they're not great, but they're much better than recruits. It made no sense that sons of the nobility show up with civilian-level arms and armor.

1. Equite tree: more-or-less like it is now, arriving at Cataphracts, who remain very effective tank cav. They don't start quite as light (see: Viglas).
2. Centurion tree: very heavy infantry on the Legionnaire model, but better stats and hand weapons.
3. Colossi: powerful high-end infantry with two-handed swords and weak bows. Very good armor, no shields. They're death on legs vs. anything with lighter armors.

For the Centurions and Colossi, I need to convert some Warband armors; nothing in the game quite fits. For now, they're using what's available.

Overall... Empire's got a really solid infantry force and a very effective tank-cav. Bucellarii are fine for harrying enemies who've halted but will not generally survive if used in assault roles. Empire's biggest weak spots are that they really don't have much that takes on high-armor foes well and their missile troops aren't super. That said, they feel pretty good and they're still Vaguely Roman with dashes of the Byzantines, so I'm calling it a wrap and moving on to Sturgia.
 
Did some testing last night, to see what happens when you join an existing empire as a vassal. The sophistication of the simulation battles is pretty lousy.

More importantly, here's code for doing basic manipulation of the army sizes (to allow large forces ala Blood and Steel), effectively getting rid of Prisoner Limit (because that's a boring mechanic) and... altering troop wages.


C#:
internal class fixPartyLimit
    {
        [HarmonyPatch(typeof(DefaultPartySizeLimitModel))]
        [HarmonyPatch("GetPartyMemberSizeLimit")]
        private class newGetPartyMemberSizeLimit
        {
            private static void Postfix(ref ExplainedNumber __result)
            {
                __result.Add(999);
            }
        }
    }


    internal class fixPrisonerLimit
    {
        [HarmonyPatch(typeof(DefaultPartySizeLimitModel))]
        [HarmonyPatch("GetPartyPrisonerSizeLimit")]
        private class newGetPartyPrisonerSizeLimit
        {
            private static void Postfix(ref ExplainedNumber __result)
            {
                __result.Add(999);
            }
        }
    }

This one requires a special note. It appears that while this function is being called, Taleworlds is also calling other stuff that's multithreaded, needs access to the Character object, and doesn't lock it!!!

I've gotten it working here, on this hardware; it can now differentiate between Cavalry, Archers, Archer-Cav and Bandits. Just be careful and test things a lot before trying a variation on this. The code I wrote that crashed before used a switch.

C#:
    internal class fixWagesOfTroops
    {
        [HarmonyPatch(typeof(DefaultPartyWageModel))]
        [HarmonyPatch("GetCharacterWage")]
        private class newGetCharacterWage
        {
            private static void Postfix(ref CharacterObject character, ref int __result)
            {

                if (character != null)
                {

                    if (character.IsHero && !character.IsPlayerCharacter)
                    {
                        __result = character.Level;
                    } else
                    {
                        if (character.IsRanged)
                        {
                            __result = Math.Max(3,(__result * 3) / 2);
                        } else
                        {
                            __result = Math.Max(3, character.Level / 2);
                        }
                        
                        //Allows "elite pricing" for high-level Troops.
                        if (character.Tier > 6)
                        {
                            __result *= 2;
                        }
                        //Bumps/nerfs for whether the troop is mounted or is a Bandit scrub.
                        if (character.IsMounted) { __result *= 2; }
                        if (character.Occupation.Equals(Occupation.Bandit)) { __result /= 2; }
                    }
                }
            }
        }
    }
 
Last edited:
Overall, it's a bit frustrating when these limits are turned off. Lord armies are, just like Warband, completely divorced from the "real economy" of the game. Ever notice that Lords only have about 5K in cash, every time you meet them? Yeah... they don't actually have any relationship with the in-game economy like the player does. They still magic up armies.

But apparently just giving them more headroom isn't enough; I think they're forced to at least pretend to be like players and sit on Villages until they hit their current size goals; when "killed" the goal can reset. I think I'll change my tune when enough of them have gotten "killed" and come back from the dead, though; I'm starting to see 250+ sized Empire armies.

The only thing that's obviously and immediately affected is, strangely, Caravans. It was kind of amusing seeing 1000+ Caravans running around w/ total immunity to 500+ Bandit parties, lol. I'll have to look at that; something very random's happening there.
 
Man, these old armors are so old and stuff. They'll never look good in Banner-

bl_amade_armor01.jpg


On a more serious note... of course I had to start with the hardest male armor I've got. Seriously, I don't think Narf's stuff will be worse. I feel kind of dumb, honestly; I should've started with one of mine. At least this was easier than Dthehun's stuff...

Amade's armors were pretty delicate in Warband; the rigging's not typical, etc. But now I've crossed the Rubicon... largely by leveraging all the hard lessons from the female ones. I"ve already built a maille "bodysuit" that I can use wherever I want to avoid seam issues (you can't see it here, but there's a little bit of it in this armor at the knees; Warband armor legs end considerably higher up than Bannerlord's do, so I've built that to make sure there's no seam with the existing boots).

The biggest issue w/ these is that the neck / shoulder area is massively different from Warband. Every armor's going to need its neckline area raised considerably to avoid issues with the necks. I got lucky with this one on a few places; armors with maille in that area are probably a no-go without a repaint.

bl_amade_armor02.jpg

Seriously, if you're trying to model armors for BL, you need to build one of these things (a quick, rough version of the base mesh w/ some nice dark texture at the border areas, preferably w/ some neutral armor-ish material elsewhere) first; it saves sooooo much time. I could've probably cut Amade's armor into a few bits and replaced the maille / leather with this, using booleans... and it would've cut my rigging time in half).
 
Last edited:
"I'm from the Empire. We're here to 'help'."

Anyhow, that's a wrap on Amade's stuff; now I just need to integrate them with the game, etc. I think the main takeaway from this is that I'll want to pick my battles about what to try porting next; not everything will work out this nicely.
bl_amade_armor03.jpg
 
Well, I'll be darned, it actually worked.

When I posted the above, I thought I had it done and could just move on to the shynbaulds. Nope. Got them in, looked at stuff, and I'm like, "er, what on earth is going on w/ the knees", lol.

The knees... they're going to haunt my dreams. Narf expected that the verts would be just so in relation to the knee joint position, and guess what, it's not where it used to be, lol. Working around that was fun, and it still clips slightly, but it's probably invisible to Average Joe Gamer during normal gameplay. The pauldrons were also fun, but in a totally expected way.

Also! I finally figured out what that extra arm bone (between the elbow and shoulder) is for. It's been a mystery and I've largely ignored it. It's for elbow armors, so that they (largely) go where they should. The results here still clip a bit, but it's not bad, considering Narf wasn't rigging for that at all.

bl_narf_02.jpg
 
Banged this out. This is way, way better than I thought it'd be, lol. Yes, the specular on the pants is a bit too high; I'll tune that down later.

I guess I have to try the Milanese armor now. I don't think I can fully rescue the Transitional Armor; the maille neck will be a real issue. But there is enough stuff in Bannerlord that more-or-less covers that category.

Full-face helms are another problem; we have wonderful ones that I'm sure I can make look good as individuals, but Bannerlord doesn't have a "hides_head" tag for helmets, so I'm a little stuck there, and any of them that require a super-specific connection to the neckline will present problems.

The proper gauntlets for this armor are a problem, too; I can probably kludge them in and make it all work, but only the sense that the complete set will look good, visually. They won't get along with any other armors, though.

bl_narf_03.jpg
 
Back
Top Bottom