Author Topic: Making a new complete troop tree set  (Read 4473 times)

0 Members and 1 Guest are viewing this topic.

Hanakoganei

  • Sergeant at Arms
  • *
  • 立花誾千代
    • View Profile
  • Faction: Sarranid
  • WB
Making a new complete troop tree set
« on: July 29, 2012, 09:52:18 PM »
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.
"To me an unnecessary action, or shot, or casualty, was not only waste but sin."
- T.E. Lawrence

Windyplains

  • Moderator
  • *
  • Silverstag Dev Team
    • View Profile
  • Faction: Bandit
  • WB
Re: Making a new complete troop tree set
« Reply #1 on: July 30, 2012, 12:16:00 AM »
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.

monnikje

  • Moderator
  • *
  • jipjipjip
    • View Profile
  • Faction: Neutral
  • MP nick: Monnikje
  • WB
Re: Making a new complete troop tree set
« Reply #2 on: July 30, 2012, 12:18:27 AM »
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 :).

Quote
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: [Select]
####### TROOP TREE SELECTION MENU #######This is obviously the place where you can select which troop tree you use. You find the following:
Code: [Select]
(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: [Select]
(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.

Quote
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: [Select]
  ["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: [Select]
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.

Quote
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: [Select]
#Floris: The ingame viewable upgrade treeyou 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".

Quote
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: [Select]
Floris MTTThere 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: [Select]
(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 :).

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]


winrehs007

  • Knight
  • *
  • “Fear cuts deeper than swords”
    • View Profile
  • Faction: Neutral
Re: Making a new complete troop tree set
« Reply #3 on: July 30, 2012, 12:22:56 AM »
@Hanakoganei: So it will all be be I2,C2,A2, etc..?? But more classes. I like it. :mrgreen:
--------------------------------------------------------------------------------------------------------------

Windyplains

  • Moderator
  • *
  • Silverstag Dev Team
    • View Profile
  • Faction: Bandit
  • WB
Re: Making a new complete troop tree set
« Reply #4 on: July 30, 2012, 01:23:24 AM »
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.

Hanakoganei

  • Sergeant at Arms
  • *
  • 立花誾千代
    • View Profile
  • Faction: Sarranid
  • WB
Re: Making a new complete troop tree set
« Reply #5 on: July 30, 2012, 02:55:09 AM »
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. :D

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.


@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.

(click to show/hide)

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.


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. :D 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.
« Last Edit: July 30, 2012, 02:58:32 AM by Hanakoganei »
"To me an unnecessary action, or shot, or casualty, was not only waste but sin."
- T.E. Lawrence

Ephafn

  • Recruit
  • *
    • View Profile
  • Faction: Neutral
Re: Making a new complete troop tree set
« Reply #6 on: July 30, 2012, 04:28:49 AM »
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)?

Hanakoganei

  • Sergeant at Arms
  • *
  • 立花誾千代
    • View Profile
  • Faction: Sarranid
  • WB
Re: Making a new complete troop tree set
« Reply #7 on: July 30, 2012, 09:00:27 AM »
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:
(click to show/hide)

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.

(click to show/hide)
« Last Edit: July 30, 2012, 09:02:49 AM by Hanakoganei »
"To me an unnecessary action, or shot, or casualty, was not only waste but sin."
- T.E. Lawrence

eastpaw

  • Sergeant
  • *
    • View Profile
  • Faction: Swadian
  • M&BWB
Re: Making a new complete troop tree set
« Reply #8 on: July 30, 2012, 08:04:30 PM »
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.

Hanakoganei

  • Sergeant at Arms
  • *
  • 立花誾千代
    • View Profile
  • Faction: Sarranid
  • WB
Re: Making a new complete troop tree set
« Reply #9 on: July 30, 2012, 08:52:25 PM »
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.

(click to show/hide)

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.
"To me an unnecessary action, or shot, or casualty, was not only waste but sin."
- T.E. Lawrence

Windyplains

  • Moderator
  • *
  • Silverstag Dev Team
    • View Profile
  • Faction: Bandit
  • WB
Re: Making a new complete troop tree set
« Reply #10 on: July 31, 2012, 12:18:26 AM »
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.

Quote
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.

Quote
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.

Quote
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.

Hanakoganei

  • Sergeant at Arms
  • *
  • 立花誾千代
    • View Profile
  • Faction: Sarranid
  • WB
Re: Making a new complete troop tree set
« Reply #11 on: July 31, 2012, 06:36:26 AM »
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.

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

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.

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.
« Last Edit: July 31, 2012, 08:07:35 AM by Hanakoganei »
"To me an unnecessary action, or shot, or casualty, was not only waste but sin."
- T.E. Lawrence

winrehs007

  • Knight
  • *
  • “Fear cuts deeper than swords”
    • View Profile
  • Faction: Neutral
Re: Making a new complete troop tree set
« Reply #12 on: July 31, 2012, 01:23:36 PM »
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:
--------------------------------------------------------------------------------------------------------------

Hanakoganei

  • Sergeant at Arms
  • *
  • 立花誾千代
    • View Profile
  • Faction: Sarranid
  • WB
Re: Making a new complete troop tree set
« Reply #13 on: July 31, 2012, 05:02:14 PM »
Making good progress so far. :)

(click to show/hide)

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.
"To me an unnecessary action, or shot, or casualty, was not only waste but sin."
- T.E. Lawrence

Windyplains

  • Moderator
  • *
  • Silverstag Dev Team
    • View Profile
  • Faction: Bandit
  • WB
Re: Making a new complete troop tree set
« Reply #14 on: July 31, 2012, 08:16:30 PM »
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:
(click to show/hide)
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.