Making a new complete troop tree set

Users who are viewing this thread

Hey guys. I like the MTT system, and I wanted to make my own unique troop tree so that I don't have to touch the original troop trees and just make my edits to the new troops. I need some help and pointers on what I need to do in order to make my troop tree playable.

Basically the difference between my troop trees and what we got in Floris right now will be less emphasis on upgrades and tiers, and more focus on soldier classes instead. It'll be kinda like the multiplayer troops, but just a little more diverse than that. For example, Swadia will have common peasant militia, regular swordsmen and separate halberdiers, men-at-arms, organized longbowmen, and rare elite/officer troops like knights. Sarranids will have a lot of desert tribesmen pulled together for war, regular guardsmen equipped with swords and spears, fast archers, and numerous horse archers and light lancers, which is consistent with the Saracen/Ayyubid armies in medieval times.

Each faction will be pretty minimal, with about 5-7 classes per faction. They will have no upgrade paths, and therefore no tiers. This is so that the game can be played a little bit more like an RTS, for those of us who play with a lot of tactics on their mind and don't really like the idea that simply rolling around with 200 tier 6-7 troops making you almost invincible. It also aims to further develop the differences between the different factions in their play styles, so that if you choose to lead an army of one of these factions, you have to learn to play their style, or develop your own style with what you've got, rather than just picking the tier 6 or 7 troops and using only those, which seems to be the normal trend. To put it another way, this is a hard mode that forces you to learn to use all classes of soldiers of your faction to be effective.

With that out of the way...

Here's what I already know how to do:
1. Create the new troop entries, complete with setting up their equipment and stats.
2. Set up the party templates so that garrisons, patrols, etc., use the new troops.
3. Create special script checks that will allow the player/Diplomacy Recruiter NPC to recruit them from villages with varying rarities.


Here's what I don't know how to do yet:
1. Make it so that the new troop trees are a selectable option when you start a new game (as a 4th option of course, Native/Reworked/Expanded/<my troop tree that I haven't yet named>).
2. Make sure the game loads my troops for all cases, so that my version of the other troops like Mercenaries, Sword Sisters, bandits and Manhunters will load.
3. Make the presentation for the Upgrade Trees pages in Reports, so players can view what the troops look like (even if they don't have "upgrade paths".
4. Anything else I may be forgetting... D:


Any help would be appreciated.
 
On my phone so I'll be brief.  I really like the concept behind the troop tree you are looking to build.  The way to add a 4th trees is to add a constant for it in the module_constants file, add a new menu item for it in the ccp_presentations (character creation) file.  I believe there are 9 placeholders for trees with us only using 3 so far.  One of those just needs renaming.

There are many MTT "switches" in the main module source that will need a new (else_try) option for your new troop type.  For 2.6 I would like to consolidate all of those to a single script that returns the appropriate troop type, but that is not available yet.
 
Interesting idea, and quite something different than what is available!

Since you know already how to create special script checks, I assume you are no stranger to the module system. A good thing, for that's what you'll be needing :smile:.

1. Make it so that the new troop trees are a selectable option when you start a new game (as a 4th option of course, Native/Reworked/Expanded/<my troop tree that I haven't yet named>).

To make the new troop tree selectable, you'll need to look at the Character Creation (In the source you find the files in ./Source/Source Kits/Character Creation/). This is a separate modmerger kit created by Windyplains. In ccp_presentations.py you must search for the following line:
Code:
####### TROOP TREE SELECTION MENU #######
This is obviously the place where you can select which troop tree you use. You find the following:
Code:
			(try_begin),
				(eq, ":value", 0),
				(assign, "$troop_trees", troop_trees_0),
			(else_try),
				(eq, ":value", 1),
				(assign, "$troop_trees", troop_trees_1),
			(else_try),
				(eq, ":value", 2),
				(assign, "$troop_trees", troop_trees_2),
			(else_try),
				(display_message, "@ERROR: No valid troop tree selection found."),
			(try_end),
This is an important part of code to understand, for this structure is used on hundreds of places in the source. You see that the three troop trees are numbered 0 till 2. Your new troop tree will be numbered '3' (even tough it's the 4th tree). Keep this in mind, for you will need it. To add the new tree to the list, add it like this:
Code:
			(try_begin),
				(eq, ":value", 0),
				(assign, "$troop_trees", troop_trees_0),
			(else_try),
				(eq, ":value", 1),
				(assign, "$troop_trees", troop_trees_1),
			(else_try),
				(eq, ":value", 2),
				(assign, "$troop_trees", troop_trees_2),
			(else_try),
				(eq, ":value", 3),
				(assign, "$troop_trees", troop_trees_3),
			(else_try),
				(display_message, "@ERROR: No valid troop tree selection found."),
			(try_end),

But that's just the option in the menu, and the tree itself hasn't been defined yet, let alone named.

2. Make sure the game loads my troops for all cases, so that my version of the other troops like Mercenaries, Sword Sisters, bandits and Manhunters will load.

You already know how to make new troop entries, so you know to look into module_troops.py. Keep in mind tough that it's preferable to do this in both the Expanded source as in the Gameplay source, so that people who play the gameplay version also can use your tree. When looking into the troops file, you see the following naming convention for the troop ID's:

mercenary_n_townsman
mercenary_r_townsman
mercenary_e_townsman

These are of course the ID's for the Mercenary townsmen in the Native (n), Reworked (r) and Expanded (e) tree. Pick a name for your tree before you start creating one, so that you can continue in this naming convention. If you are to name your tree 'Classes Troop Tree', you could name your mercenary townsman ID like this:

mercenary_c_townsman

For the ease of comparing troops in the source, I kept the ID's in the different trees similar. The Native 'Mercenary Cavalry' has as ID mercenary_n_komtur_ritter, which is comparable to the Reworked tree troop 'C5 Mercenary Komtur Ritter' with the ID mercenary_r_komtur_ritter, which is comparable to the Expanded 'C5 Mercenary Komtur Ritter' with the ID mercenary_e_komtur_ritter.

Keep in mind that any added mercenaries must be put before 'mercenaries_end'.

Don't forget to add the custom troops (which are the freelancer troops, but they have an old ID from before we thought of them as freelancers), bandits, women and Top tier units as heroes for your new tree.

Also, at the beginning of the troops file, you find the following troops:
Code:
  ["troop_tree_0","{!}native_troop_tree","{!}native_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_1","{!}reworked_troop_tree","{!}reworked_troop_tree", 0, 0, 0, fac_kingdom_1,																																													[], 0, 0, 0, 0, 0],
  ["troop_tree_2","{!}expanded_troop_tree","{!}expanded_troop_tree", 0, 0, 0, fac_kingdom_1,																																													[], 0, 0, 0, 0, 0],
  ["troop_tree_3","{!}extra1_troop_tree","{!}extra1_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_4","{!}extra2_troop_tree","{!}extra1_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_5","{!}extra3_troop_tree","{!}extra2_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_6","{!}extra4_troop_tree","{!}extra3_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_7","{!}extra5_troop_tree","{!}extra4_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_8","{!}extra6_troop_tree","{!}extra5_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
  ["troop_tree_9","{!}extra7_troop_tree","{!}extra6_troop_tree", 0, 0, 0, fac_kingdom_1,																																														[], 0, 0, 0, 0, 0],
Since you'll be using troop_tree_3, you need to rename 'extra1_troop_tree' to the name of your tree, for example 'classes troop tree'.

And also don't forget to edit the upgrade paths if needed, which can be found at the bottom of the troops file.

Then you'll need to go to module_party_templates.py. Here the different parties and reinforcements are defined. You'll need to add everywhere where there's multiple entries, like:

village_defenders
village_defenders_r
village_defenders_e

new entries for your tree. In this case you would be adding

village_defenders_c

Keep in mind that each party can have a maximum of 6 different troops, but there's no maximum or minimum to the amount of troops each kind has.

Also, you'll see that there are six types of reinforcements instead of the native three, like:
Code:
kingdom_1_reinforcements_a
kingdom_1_reinforcements_b
kingdom_1_reinforcements_c
kingdom_1_reinforcements_d
kingdom_1_reinforcements_e
kingdom_1_reinforcements_f
a = low level reinforcements for villages and castles.
b = low level reinforcements for towns.
c, d and e = midlevel reinforcements for castles and towns, with e being better than c.
f = highlevel reinforcements for towns.

3. Make the presentation for the Upgrade Trees pages in Reports, so players can view what the troops look like (even if they don't have "upgrade paths".

Read this post in the FAQ, especially the part 'Creating a new tree using the source files' on how to edit the troop tree presentations in the troop tree viewer.

When you search in module_presentations.py for
Code:
#Floris: The ingame viewable upgrade tree
you see that each presentation is named like "upgrade_tree_1". 1 till 10 are the Native presentations, 11 till 20 are the Reworked presentations and 21 till 30 are the Expanded presentations. So your new troop tree presentations will be named "upgrade_tree_31" till "upgrade_tree_40".

4. Anything else I may be forgetting... D:

Throughout the source you can find all parts of the Multiple Troop Trees (MTT) by simply searching for:
Code:
Floris MTT
There are hundreds of places which you must edit, but luckily they are all marked.

In module_scripts there is a script called "initialize_troop_tree_sets". This is an important script. When you start a new game, the game already makes new parties and such, before you have selected which troop tree you use. tandard parties from the Expanded tree are chosen. This script corrects that in case of the other trees. Make sure you also correct for your tree. And don't forget to put your troop_trees_3 corrections before this:
Code:
		(else_try),
			(eq, "$troop_trees", troop_trees_2),
		(try_end),

Don't forget to add constants for your specific troop tree. Just search in module_constants.py for the MTT constants and add your own :smile:.

Please note: This post is by no means a manual. I just point some things out, and hopefully I pointed you into the right direction. I probably have forgotten to mention quite some other important scripts, but you'll encounter them when searching for the places to edit MTT.

Also, adding a new tree will be quite some work. Maybe it's wise to first use one of the existing trees (for example, the Native tree) and edit it to include your own tree. That way you can get relatively fast your tree released as a submod, so that you can get feedback on - for example - balancing. If you create such a tree, and if we like it or if it gets extremely popular, and if it differes enough from the other trees (which it will be judging by your description) we are prepared to incorporate it into the main mod.

[edit] Heh, Windy, you ninja'd me![/edit]
 
I wanted to add, but didn't have the time earlier that I would definitely be interested in incorporating a system like this into the workshop to tie into the center improvements.  The improvements would be one way to modify which troops were available for direct hiring (perhaps with a training delay and modified price to offset).  A singular troop tree system may be easier for initial design & construction prior to trying to incorporate it into the MTT system.  That is if you'd be interested in that route as opposed installing it directly into Floris which would be more difficulty to redistribute for play testing until 2.6 comes around.
 
monnikje said:
Please note: This post is by no means a manual. I just point some things out, and hopefully I pointed you into the right direction. I probably have forgotten to mention quite some other important scripts, but you'll encounter them when searching for the places to edit MTT.

Also, adding a new tree will be quite some work. Maybe it's wise to first use one of the existing trees (for example, the Native tree) and edit it to include your own tree. That way you can get relatively fast your tree released as a submod, so that you can get feedback on - for example - balancing. If you create such a tree, and if we like it or if it gets extremely popular, and if it differes enough from the other trees (which it will be judging by your description) we are prepared to incorporate it into the main mod.
Wow that's really in-depth. It's exactly what I'm looking for, thanks. :grin:

Actually I've done personal troop trees already before, which is where I got a lot of my current confidence lol. I made entire multiple troop trees for the Player Kingdom that can change depending on how I play (like if I'm a Sarranid player, they'll be based on the historic Hashashiyyin/Assassins). Got the idea from the Freelancer troops, but I didn't want to overwrite the Freelancers because I thought they were interesting especially for filling roles you needed in your army. While I enjoyed playing with my troop trees, it made me feel weird that I never actually used the lower tier troops that I worked so hard on thinking of, putting together and balancing. Even in Native, tiers 1-3 last only a handful of battles before they either die or get upgraded to the next tier. It didn't make too much sense to me, because in real life, peasants made up a large part of many armies, and the commander's ability to use what troops are available to him was a true test of his skills. Though of course some armies were comprised almost entirely of professional soldiers, like the Spartans, Hashashiyyin and the military of the Kievan Rus... But I'm taking all that into account lol.


winrehs007 said:
@Hanakoganei: So it will all be be I2,C2,A2, etc..?? But more classes. I like it. :mrgreen:
Something like that. I won't be needing the tags anymore since it'll kinda be obvious. Also, some troops are going to be obviously better than others, so they won't all be like level 20 or something. A Knight, for example, will typically be an elite troop, probably the equivalent of a tier 6 or 7 in the current system. I mean, there's practically no way a knight that trained from childhood in swordsmanship and equestrianism, would lose to a conscripted peasant with a pitchfork and a knife. But you can't upgrade any troop into a Knight. Let's just assume for the sake of the game that the guy you recruit to be a knight had already passed through the necessary page-to-squire-to-knighthood rites, and joins your army already fully-fledged.

A typical peasant will be about level 4, equivalent to the tier 1 recruits we have now. Again, not all armies will have peasants fighting in their ranks. Swordsmen and halberdiers are just about as good as each other and are there to comprise the main bulk of the Swadian army, just like the North-western European armies they are based on, while they are supported by longbowmen, peasant militia (possibly as a flanking/ambush force or just to boost the infantry numbers), and the cavalry charge that leads the way.

See what I'm doing here? It's a little closer to military historical accuracy, even if it's not necessarily good for "game balance". I have no real interest in balancing the factions on a per-troop basis anyway. That would make the game boring for me. D: But hopefully, particularly with numbers, they all balance out as a whole. I'd love to watch the battles between completely different styles in this new system. As it is in Floris now, it's already pretty fun to watch, but I think I can make it more suited to my needs by doing this troop tree thing.

It'll also hopefully promote faction congruency, flying in the face of Lezalit's idea of a super-balanced army that has little or no weaknesses, but absolutely no strengths either. Boring. Made me stop playing Warband for many moons before I came back and installed Floris.

The only thing that some people might not agree with is that I'm going to use English names for most troops, except for legendary soldier types like "Assassin", "Huskarl" and "Druzhinik". These were well-known classes of warriors in that they would be deployed together with their comrades as a unit, even if they weren't necessarily dictated by their weapon choices.

The definition of a "class" for me is if you would lump the soldiers together on the battlefield in order to perform a specific function or achieve a specific goal, instead of being based on their weapons. For example, a professional longbowman in history was not typically trained in melee combat. They wore no armor, just tabards so you know which commander they belong to. They mostly didn't even have melee weapons (though I'm going to give them knives in the game). Their purpose is to provide potent fire to soften the enemy up, if not decimate them, before the cavalry + infantry has to go in there to finish them off. While a ranger (not a historical troop for the time period Warband is copying, but a general term for a warrior that could fight in the jungles and forests) was a good archer but arguably an equally good close-combat fighter. I would not group and my rangers together with my longbowmen, because it would waste my ranger's ability to fight in close-combat, or reduce the efficacy of my longbow archer force.

Assassins used knives, straight swords, scimitars, archery, crossbows, spears, throwing spears, throwing knives, and were mounted just like all other desert warriors, as furusiyya, their version of the chivalric code, considered equestrianism as part of the discipline. But they would dismount to fight especially in cities. The game engine would qualify them as horse archers, but they're actually supposed to fight and be used like infantry. Their versatility was their strength, and in-game this translates into sending them on fast flanking missions and just unleashing them into the enemy line.

Finally, different infantry units are supposed to fulfill different roles, and qualify as different classes. Fore example, spearmen were typically deployed separately from the swordsmen, and were used in different ways but for spearman-specific purposes, like stopping horses or leading a charge into an infantry line. Swordsmen were never expected to fill the same roles if spearmen were present in the army.

While I like the culturally diverse names we got going on especially in Expanded, some of them don't make too much sense and I don't feel would be fitting in the type of modification I'm trying to do. And I'm all about making it as close to historical military sense as possible. For example, the Mangudai (known in the game as "Mandugai") were not a class of soldier. They were a clan, one of the Mongolian tribes of the confederation that included Genghis Khan's clan. They were certainly not limited to just horse archers, and just like the rest of the Mongolian army, they were comprised also of some lancers. I also find it strange that a Vaegir "Posadnik" is just a tier 5 troop, considering that he's supposed to be a government official (hence one of the lord titles for the Vaegirs is also Posadnik), and that a lot of nobility or clan titles in various factions were used to name many of the troops. This is obviously stemmed from the need to fill the names of cultural troops for something like 25+ various troops in 4-7 tiers, and being unable to find any cultural words for these troops, simply because most such jargon never existed.


Windyplains said:
I wanted to add, but didn't have the time earlier that I would definitely be interested in incorporating a system like this into the workshop to tie into the center improvements. ... That is if you'd be interested in that route as opposed installing it directly into Floris which would be more difficulty to redistribute for play testing until 2.6 comes around.
If you like how it turns out, you can do whatever you want with it heheh. :grin: I can probably finish this submod in a week or so, including balance testing. There's only 5-7 troop types per faction, so it isn't really hard to design them or anything. I don't wanna wait for 2.6 (I think you mentioned 2~ months?) before I can play with my new troop trees lol.

But yeah it sounds like it'd be great for the features you guys have lined up. It'll definitely make the game harder, and feel more diverse.
 
Your troop tree idea sound great, and I would probably try it out if you get it in the Workshop or something.

While I really like the idea of being able to hire a bunch of already trained troops (especially faction-defining troops like Swadian knights), I do like the way in the current system you can get improved troops through battle or training. Are you planning on having each class be a single unit only, or having each of them have multiple levels (for example: Longbowman recruit -> Longbowman regular -> Longbowman veteran)?
 
No more tiers. I didn't like that aspect of M&B at all. I know it's great for gamers, but I don't want to focus on individual soldiers, which that system tends to do because you'd be like, "yes I can finally upgrade <veteran tier 6 guy> to <elite tier 7 guy>!" But rather I want the focus on the entire collective of soldiers moving as a unit, with the classes bunched up together and working as one. This way, you won't be thinking about single soldiers like "oh man my tier 7 guy died!", but focusing on using each squad or soldier grouping to achieve what you need on the battlefield.

The intention is to both make the game more difficult and to emphasize the tactical aspect of the game. Bring out the inner tactician in each player lol.

Lastly, since each troop tree will be significantly simplified, it should allow players to assign one hotkey per class. For example, after the basic Infantry/Archers/Cavalry groupings, you can have a specific "Shield Wall" group, which may include a few archers and spear-chuckers, just like real Viking shield walls operated. You can also have a Light Lancer group, which should be positioned and ordered separately from the Heavy Chargers group.

Some samples of the intended tactics that will be easier to implement with this new system, and some other outcomes:
- Order Swadian Rangers to move to an enfilading fire position, while your Longbowmen fire continuously to suppress the enemy. During this time, your heavy cavalry and infantry units are also advancing, ready to charge.

- While the Vaegirs will still have the strongest archers, there will be more emphasis on their historically correct elite infantrymen from their real life counterparts, the Druzhina. Use them to close with the enemy quickly as a shock tactic, while the archers continually pick off opponents from safety.

- Use Mongolian tactics for the Khergit horses. Charge, retreat, lure, then complete a pincer movement to encircle your opponent. Multiple horse archer groups moving independently of each other can easily outflank even the best turtled enemy formation.

- Nord/Viking style shield wall will allow you to separate specialist Nord archers from the archers that move forward with the shield wall. The specialists don't need strong melee skills, while the frontline archers do. The frontline archers don't need legendary archery skills, as they'll be so close to the enemy line that they practically can't miss.

- Use multiple separate Rhodok phalanx formations that can move independently of each other, positioning them as you see fit for the situation, backed of course by their ever-prominent crossbow line.

- Use the various [fictitious] Sarranid tribesmen for separate hit-and-run movements as necessary, to weaken and break the enemy lines and send them into disarray. Then, finish them off with your regular soldiers, like the separate Sarranid and Assassin armies.

I'm also thinking about making a system where each lord may prefer certain army compositions over the other. I have some idea of how to pull it off, involving scripted events to replace the standard recruitment system via randomized reinforcement lists, to give them their "preferred" soldiers after some time. This could be based on how much money they have currently, while their preference will be based on their personality. But it may be too much work for me to do, for too little gain. Maybe some other time lol.

Another reason I won't use tiers is to reduce the odds that you'll be rolling around with 200 tier 6-7 troops. This is practically inevitable if you keep winning battles against large bandit groups or weaker lords. Even a large army of AI troops may bring 1000 soldiers to the fight, but about 750 of them is peasants or recruits, or otherwise poorly-trained soldiers. Not a fair fight at all, and gets boring after a while. I tend to just retreat and let them leave the battlefield when I see their line is that pathetic and fleeing for their lives right after reinforcing. I don't see why they even bother reinforcing when I've clearly routed them already. I've actually had some situations where I just stand in the reinforcement spot and each reinforcement wave comes in within 2-3 seconds. Just sad.

As you can see, I play M&B more like chess. I know I have a few fans and other curious readers that want to try out my style of play, and using this new troop tree system should help them to do so, and enjoy the game in a whole new dimension, as a legendary tactician and strategist. :grin:
 
Sounds really cool!

Hm... would you be willing to at least give the soldiers levels that (barely) affect their stats? Something like +1 HP or +5 Weapon Proficiency points or whatever on level up? That should satisfy the power gamers to an extent without throwing the chess rules entirely out of the window.
 
I'm thinking of a completely new system where they don't upgrade after battle. Perhaps the Constable can change their class through a certain training period. Should be possible with some new dialogue options that only show up if you're using this class-based tree.

There are some other ideas I wanted to do, but are too complicated for my limited scripting skills. For example, if a unit used to be a Swordsman but took up archery training, he could become a Ranger (instead of becoming a Longbowman). I'm thinking maybe if the constable trains them in "ranged", they would all become the faction's designated "Ranged" or ranged hybrid unit, unless they're units that shouldn't downgrade, like Knights. I have an idea of how that could work but yeah it's too complicated for now. I can add that in later, since scripts and dialogue options seem to be completely save game compatible.

Through this new way, they have to undergo training in a fort, rather than from "experience" through battle. Nobody ever suddenly jumps from being a poor swordsman that can barely grip a sword, to being a better one with better equipment for standing around and doing nothing in combat. That's basically what you do when you train tier 1-3 troops, because charging them into combat is simply wasting their lives. I think this whole "training" troops thing is ridiculous anyway. I wouldn't take a litter of new recruits and peasants to combat to fight 10 Looters in real life, just so they can level up and become archers suddenly. Instead, I would subject them to proper training specific to what class they're trying to be.

In any case, no offense to anybody, but I'm not at all interested in pleasing the power gamers. They have enough options as it is with Expanded, which is already a great and already-completed version of the mod by itself. The entire point of this new troop tree set is to get rid of the whole tier/level up system for troops. It's for people like me who don't want to "power game", but just want to deal with the other aspects of strategic and tactical gaming, which is pretty diverse btw. Like complicated chess. After all, under the proper tactical direction, even light militia troops should be able to defeat even a larger professional army. In real life, anyway. Hopefully, this new troop tree should allow that kind of thing as well.


Anyway, I'm about 25% done with everything, and I now have new questions! I suddenly realized a few things! D:

1. Do I need to create checks to prevent that "upgrade troops" quest from coming up? Or will that be compatible anyway, but cause the troops the lord gives you to be the "final product" and therefore instant-complete the quest? What would happen, since there are no real upgrade paths for faction troops? D:

2. If I make the troops available for "Gameplay" mode by adding them to Gameplay's module_troops.py, do I also need to edit the scripts, presentations, etc., in the Gameplay source folders?

3. What do you guys think would be the best way to deal with troop training and recruitment? Because it makes no sense to be able to recruit a "Knight" from a village, even by a low chance. I'm thinking that you can only recruit militia and equivalents from villages. So until you get your own castle, you're pretty much just a militia captain. Getting a castles gives you access to the Constable, who will perform specialized training of militia and similar troops for you, into the class(es) that you specify. I think, since this is scripted instead of relying on upgrade paths, this should allow you to take militia from other factions, or farmers/townsmen and train them properly in your faction's combat style. Just like what would've happened IRL.
 
Hanakoganei said:
I'm thinking of a completely new system where they don't upgrade after battle. Perhaps the Constable can change their class through a certain training period. Should be possible with some new dialogue options that only show up if you're using this class-based tree.
This is doable and what I had in mind when I suggested things for the workshop.  You want to have some option for upgrading troops, but have a training delay & cost associated with it.  Your idea opens a lot of possibilities for faction flavor without having as many "filler" troops in the tree.  It will take probably more reworking of the game than you're likely envisioning though.

1. Do I need to create checks to prevent that "upgrade troops" quest from coming up? Or will that be compatible anyway, but cause the troops the lord gives you to be the "final product" and therefore instant-complete the quest? What would happen, since there are no real upgrade paths for faction troops? D:
You could simply disable that quest from working in the "get_quest" script.  Just put in a line that will always fail on its part of the try_else.  Such as if this new troop tree is being used.

2. If I make the troops available for "Gameplay" mode by adding them to Gameplay's module_troops.py, do I also need to edit the scripts, presentations, etc., in the Gameplay source folders?
No.  Scripts, presentations, menus, etc...are common for both versions and are stored in the expanded folders only.  You will need to limit yourself to using items from the gameplay version though.  The ones that begin with "min_" otherwise they'll be invisible to gameplay users.

3. What do you guys think would be the best way to deal with troop training and recruitment? Because it makes no sense to be able to recruit a "Knight" from a village, even by a low chance. I'm thinking that you can only recruit militia and equivalents from villages. So until you get your own castle, you're pretty much just a militia captain. Getting a castles gives you access to the Constable, who will perform specialized training of militia and similar troops for you, into the class(es) that you specify. I think, since this is scripted instead of relying on upgrade paths, this should allow you to take militia from other factions, or farmers/townsmen and train them properly in your faction's combat style. Just like what would've happened IRL.
I would actually consider recruiting "groups" in a specific way and setting requirements on where they may be obtained.  A "knight" for instance may come along with a decent foot soldier (their squire) and a peasant (a servant perhaps).  This knight should only be recruitable from a town or castle unless done via a training dialog with a period of training.  Just a thought.  I'll expand on this a little bit later.
 
Windyplains said:
This is doable and what I had in mind when I suggested things for the workshop.  You want to have some option for upgrading troops, but have a training delay & cost associated with it.  Your idea opens a lot of possibilities for faction flavor without having as many "filler" troops in the tree.  It will take probably more reworking of the game than you're likely envisioning though.
D: In that case, I'll relent for now. It's possible to recruit the other troops via the castle/town's recruitment anyway.

Windyplains said:
You could simply disable that quest from working in the "get_quest" script.  Just put in a line that will always fail on its part of the try_else.  Such as if this new troop tree is being used.
k

Windyplains said:
No.  Scripts, presentations, menus, etc...are common for both versions and are stored in the expanded folders only.  You will need to limit yourself to using items from the gameplay version though.  The ones that begin with "min_" otherwise they'll be invisible to gameplay users.
Hmm okay. Shouldn't be too big a problem.

Windyplains said:
I would actually consider recruiting "groups" in a specific way and setting requirements on where they may be obtained.  A "knight" for instance may come along with a decent foot soldier (their squire) and a peasant (a servant perhaps).  This knight should only be recruitable from a town or castle unless done via a training dialog with a period of training.  Just a thought.  I'll expand on this a little bit later.
Wow this is a cool idea! I have an idea of how it might work but I'm not that experienced a scripter to really completely visualize this. I'll wait for your further input heheh.

In the same light, perhaps such things could be made possible in taverns, or in the town center/streets, kinda like how the special stat+ troops and mercenaries are hired. I mean, it would make sense for some swordsmen looking for a new captain to be reassigned to to be walking around the streets or hanging out in a tavern.

- edit: While I'm at it, I could probably make it so that certain villages and forts will spawn only certain unit types. I have "tribesmen" troops particular to the Khergits and Sarranids. The many of the Sarranid troops are tribesmen from certain village regions (ex.: "Iqbayli Tribesman"), which affects their equipment and specialties. Did it this way to more closely resemble their real life counterparts.
 
Can't wait for this to be released...Plus...when WSE is updated for 1.153 or later versions...for Floris Workshop...This will be my ultimate Warband mod.... :mrgreen:
 
Making good progress so far. :smile:

Completed some of the troop trees already. It's not that hard because I already wrote down a detailed plan for each faction, so they're more closely related to the real armies the game factions were based on, while still maintaining much of the flavor that Floris brings to the table.

I expect all troop trees, including the mercs, sword sisters, manhunters and bandits to be completed within a few hours.

Script, presentation and other edits might take another few hours after that.

I'll have a test version ready for myself tomorrow. If all goes well with that, I'll have a public test version ready maybe tomorrow as well.

I just have Notepad++ minimized lol. I'm just sneaking this stuff in while I'm doing my real job stuff heheh.
 
Hanakoganei said:
Windyplains said:
I would actually consider recruiting "groups" in a specific way and setting requirements on where they may be obtained.  A "knight" for instance may come along with a decent foot soldier (their squire) and a peasant (a servant perhaps).  This knight should only be recruitable from a town or castle unless done via a training dialog with a period of training.  Just a thought.  I'll expand on this a little bit later.
Wow this is a cool idea! I have an idea of how it might work but I'm not that experienced a scripter to really completely visualize this. I'll wait for your further input heheh.
Concept image:
Capture.JPG

Disclaimer: Any numbers and/or descriptions used in the above picture are merely for conceptual purposes.
The image shown would present a new version of a troop tree presentation.  Yet by removing the previous/next faction buttons & enabling the recruitment button you turn it into a "hire more troops" presentation that could be accessed from a village or town.  One could simply disable the "recruit" button on troop choices that are not valid at the current location.

The idea here was to bundle troops into themed groups.  Each entry in this scrolling list shows a separate troop (and only the titled troop, not his accompanying forces) with an image of the troop and a link to a stat page (similar to the current troop viewer).  The accompanying troops are what come along with the package and should also be members of the same faction so if you looked further on the list they'd have an entry somewhere.

There are a few reasons for going with this route.
[*] You'll have a more realistic army composition and it makes for an interesting theme in certain groups should you want them to have specific options available to them.
[*] You can tie production of specific troops to requirement improvements.
[*] Since you plan on removing troop tiers this means that some method for recruiting "higher tier" troops must be available, but you probably don't want the player running around with a full army of knights.
[*] This allows the recruitment of "higher tier" units, but also makes you pay for lesser ones.
[*] Lesser units can still be purchased separately if you want more of them.
[*] New style of representing a faction's troops that is probably more fitting to your theme and is easily made modular to create that troop line for any troop (thus not as hard to build as it may appear).
[*] Since you don't have tiers you don't need the filler troops which means you should have -many- viable troop types in a single faction.  You just don't need peasant -> slightly better peasant (now he has a sword vs. pitchfork) -> militia (woot, he has leather armor) -> soldier (actual armor and a shield even!) -> castle defender (heavy armor!).  This doesn't mean that there shouldn't be a peasant, soldier or castle defender troop.  It just means that they no longer have to have any similarity in their design and weapon choices.  Each are their own stylized class of troop.
 
That's awesome. It sounds exactly like what this troop tree thing needs. And the bundled troops is such a good idea because it will kinda force the player to have the lower tier troops too, like you said. It's definitely unrealistic for the player to run with 200 Knights and no other units. It can also help to fix up the army compositions, to encourage the player to use each troop type instead of just focusing on the tier 6 and 7 troops.

Since I have no experience whatsoever with presentations (other than doing minor edits to the existing ones), I don't really know how to go about doing something like what you just showed lol. What's a good temporary alternative approach for the time being? Perhaps just a simple new menu option in castles and villages?

There are almost no filler units in the current troop trees I'm working on. I want to think there are no filler units, because even the "peasants" and "conscripts" have a role to play, but I'm sure some players will either dump the supposed "fillers" into garrisons, or outright dismiss them. Still, I plan to release videos on how to use these units properly in a combat setting, to help further encourage players to use them well.

To give a sample of what the new troop trees look like, here's a short summary of one of the troop trees and descriptions of the units' roles, style, etc.

The Kingdom of Swadia
Swadian Knight
Elite heavy cavalry units, full heavy armor and a wide choice of weapons aside from their lance. These units are members of nobility or have otherwise proven themselves in battle to earn the title of "Knight". Group them with the Cavaliers and do either a flanking or head-on heavy cavalry charge.

Hiring them gives one or two squires (Swadian Cavalier) and their own small army (up to 10) of various Swadian infantry.


Swadian Cavalier

Heavy cavalry units, but not quite as heavy or as skilled as the Knights. These units are often knights in training, and may be given special training at a garrison to graduate them into Knights. Use these together with the Knights for a heavy cavalry charge.


Swadian Longbowman

Powerful archer units that specialize in archery, but almost don't train in anything else. They are equipped lightly in order to be able to bring more arrows to unleash on the opponents. Positioning and protecting these units should be a priority.


Swadian Ranger

Versatile infantry units that are as good with their sword as they are with their bow. They can move quickly and position around the battlefield well for various purposes. Group them with infantry during a charge, place them with the Longbowmen to rain arrows on the enemy line, or place them closer, to the side or even behind the enemy line for maximum damage.


Swadian Billman
Slow but damaging infantryman that uses a Bill and similar polearms. They are very good at stopping cavalry. Use them for protecting the Longbowmen or for leading an infantry charge.

These units may be given specialized training to graduate them into Cavaliers.


Swadian Swordsman

Lighter than the Billmen, these units are equipped with various swords and sometimes carry shields. Use them for protecting the Longbowmen, or charge them just behind the Billmen during an infantry charge.

These units may be given specialized training to graduate them into Cavaliers or Rangers.


Swadian Peasant Militia

Lightly-armed troops that have some generalized weapons training. They are fast, easy to train and very useful for boosting your infantry line. Charge them with the other infantry units, or send them on a flanking run with the Rangers to attack the enemy from the sides.

These units may be given specialized weapon training to graduate them into either Longbowmen, Swordsmen or Billmen.


Target Army Composition:
2% Knight (king's personal army can have more of these units)
15% Cavalier (king's personal army can have more of these units)
20% Longbowman
15% Ranger (optional; may be replaced with other units)
15% Billman
15% Swordsman
18% Militia (king's personal army should not have these units)
Each faction only has about 7 troop types. I didn't intentionally make it 7 lol. It's just that with every troop type and role I could come up with, based on what Warband/Floris and historical troop types balance out to be while keeping each faction's specialty, 7 was the number of troop types that kept coming up.

Some factions have technically more than 7 but qualify the troops into the same class. For example, the Khergits use conscripts from Vaegirs and Sarranids as their infantry line, usually as fodder, which is in-line with the Mongol policies when they were conquering the Russian, Turkish and Arab lands. Each conscript unit is unique, but they group together, being actually of the same class (Light Infantry).
 
Hanakoganei said:
Since I have no experience whatsoever with presentations (other than doing minor edits to the existing ones), I don't really know how to go about doing something like what you just showed lol. What's a good temporary alternative approach for the time being? Perhaps just a simple new menu option in castles and villages?
Yes, game menus would be a viable alternative, but a presentation would serve you best in the long run.  That is one area I am fairly good at and could help you with should you get to that point.
 
Okay, thanks. I appreciate it. :grin: I'll finish the basic version including the temporary game menus stuff, so you have a better idea of the groupings and numbers I intend, and work your magic from there.

I'm currently distracted by two work-related problems, and it's messing up my brain lol. I'm hanging out in the forums right now to get my mind off work.
 
This might be a long shot but do you think there might be room for events that grow your army? My idea was when you have over a certain amount of renown there's a small percentage a Knight or similar elite unit will seek you out to join your army? It would be cool to have that sort of event and would validate your awesomeness of gaining so much renown. Or perhaps a small band of hedge knights seek you out to join your cause?

What are your plans with the Training skill? Rid it completely or have an option to train troops at a Castle or Town with specific improvements? Maybe you can have an option like "Train your peasant militia to better use a bow". And you have a small percentage for 1 or 2 to turn into Rangers maybe. "A couple of your Peasant Militia showed good skill with the bow. You can choose to train these as Rangers of your party." But instead of instantly turning them in to Swadian Rangers it costs you 300 denars per unit and 24 hours of time. I'm not sure of the game limitations so that might not be possible (the time thing) but it would make it more of a risk as they could die before training.

I wasn't sure about this at first but the grouped unit idea certainly has a lot of potential and could be a lot of fun. It would definitely make Lords armies more difficult.
 
spexau said:
This might be a long shot but do you think there might be room for events that grow your army? My idea was when you have over a certain amount of renown there's a small percentage a Knight or similar elite unit will seek you out to join your army?
That is something I was thinking along the lines of earlier and part of why I like this concept.  Easily doable.  In the normal tier system though it is irrelevant.

What are your plans with the Training skill?
There are a number of options for working with it.  It could lower the training time of a class being recruited.  It could alter the chance that a class is given the chance to upgrade to another class option via a triggered menu or presentation (technically you could have multiple upgrades beyond 2 like this).  It could alter how many recruits are available in a given recruiting session.
 
Back
Top Bottom