OSP SubMod: Supply Wagon 2021 (Reinvented)

Users who are viewing this thread

Arris Rumi

Recruit
Hello everybody,

I’m Arris and in this my first post I’ll like to share with you a submod of Brytenwalda 1.41 (or extension, or whatever you call it). This submod consists of a complete rework of the Supply Wagon. This submod is OSP, completely open, if the author is duly credited.

The Supply Wagon (Wagon from now on) is one of the most promising features of Bryten, but also has some problems: the graphical interface is very clumsy, it has some bugs, and makes trade unbalanced. This submod hopefully fixes all that and adds a new functionality, “hide wagon”, for convenience and realism.

I will now describe in more detail what are the problems with the Wagon as it is implemented now, in my opinion. Later I’ll describe my solutions to these problems, and new features/screens etc. as needed.

(Before going any further: if the original creators are reading this, please understand that any criticism here is offered as positive criticism and in good faith. Modding is not easy!)


This submod is intended for Brytenwalda 1.41 "pure", with no other mods or any other modification. If when using it you find a bug or have any commentary/suggestion, you are welcome to post it!



Problems:

1. Interface:
The interface is inconsistent, confusing, and plain ugly, distributed along many screens and “falling” constantly back to the main map, necessitating more clicks to go back to the menu, etc.


2. Bad Design (1): The prices used when wagon trading are way different than the ones used when trading in person. This is due to:

a. Actual selling prices in town are not calculated, only the base item price, without taking into account item modifiers, or local supply/demand, etc. As a result, for example, a hide that could fetch about 500 in a particular city gets only the base price, 320 or so.
b. The personal trading skill of the wagon leader is not taken into account. The trade skill used is that of the human leader. Needless to say, this is not realistic.
c. The original creators decided, by design, to heavily nerf all wagon trading profits. The best-case scenario gives you about 30% of the trade value compared to the in-person case, and that with a trade skill of 10. So, in the example above you would get, at most, 320*0.3 = 96. Usually is it much less.


3. Bad Design (2): Selling is not limited by the money merchants have. The player can sell unlimited amounts of items without having to worry if the merchants have the money to actually buy them. So, for example, the player can repeatedly trade with the same town without having to wait for the merchants to refill their coffers, or get in a single trade more money than all the merchants put together have. Unbalanced and unrealistic.


4. Bad Design (3): Selling slaves with wagon doesn’t check if any ransom dealer or slaver is resident in town. This unbalances the game, making selling slaves too easy.


5. Bug: Sometimes the wagon party can’t return to the main party because the reunited party would be above the party size limit. This happens due to the fact that, in Bryten, leadership is a stacking party skill, and when the wagon leader abandons the main party, its contribution to the party size limit disappears. Example: a party with a size limit of 20 has a companion that contributes 5 to the limit. When the companion goes away, the limit goes down to 15. If, at the moment of joining, the sum of the wagon party members plus the main party is above 15, (not 20!), the wagon party is never allowed to return.


6. Bug: When the wagon is defeated in battle, the wagon leader sometimes never returns, and is not captured either. If the leader is back to visiting taverns, this is wrong because an already hired companion, when idle and on the map, should always return to the player’s party.


Solutions:

1.
The interface is completely reworked, with proper combo boxes and lists. Now you can use a single screen to manage the wagon, and any auxiliary screens go right back to the main manage wagon screen, not to the map. A new exchange troop screen was implemented that is cleaner than the in-game original and focuses on exchanging troops and nothing else.

2. When wagon trading, the selling prices now reflects (as far as I can make it) the actual prices your wagon leader would get with his trade skills, with no nerfs at all and taking into account all variables (item modifiers, local price variance due to supply/demand, including while selling multiple identical items in one go, etc.) This, apart from making the wagon economically viable and offering realistic trade, forces the player to take some care when choosing who would lead the wagon, which is also realistic.

3. The profits you get from a trade run will be capped to 8000, (2000 x all 4 town merchants). All items will be sold, from most expensive to less, until all are sold or the cap is reached. The unsold item will return to you with the wagon. This design choice is made to avoid overpowering the wagon, and for realism

4. Selling slaves with the wagon is now impossible. The reason for this decision is that without checking for ramson dealer it is too easily exploitable, and, even if it would check for the presence of ramson dealers in town before selling, there is nothing to prevent having a lot of slaves be escorted by a much smaller wagon party. (And if we go the realist route, what about food for all, prisoners and wagon party? Food for thought!). All this, I know, is a bit controversial. All I can say is that I consider that this virtual auto-slave selling unbalances the game, and fixing it is a chore. YMMV.

5. The returning-party-too-big-to-fit bug is solved. The wagon leader will always be accepted back, and only after that the party size limit will be considered. If, even after the wagon leader returns, there is no space for the wagon troops, an exchange troops screen opens to decide which troops can join and which will be lost.

Further explanation: The wagon can only hold troops if it is on a trade run. This is done to avoid the exploit of it becoming a virtual troop storage area, where one can store any number of troops indefinitely without even having to feed them. That is why the player has to be careful not to exceed the party size limit when the wagon is away, or face the decision to discard excess troops when it returns.

6. If the wagon is defeated in battle, the wagon leader will never be captured and will always return. I decided that the loss of the wagon was punishment enough, and to add to it having a companion fall prisoner or wander aimlessly around the 42 towns of the British Islands is the opposite of fun. The defeated companion returns in a visible manner as a party of one walking the map looking out for the player’s party. No one will attack it. The player will receive a message informing him of the wagon’s defeat when it happens, so that he can react accordingly.


New Feature: The ponies are back!

If you destroy the wagon, you don’t kill the two poor ponies that hauled it for so long. They will appear in your inventory, safe and sound.

New Feature: Hide the wagon!

The wagon so far described, although very useful, still has the drawback that it slows down the party considerably, making it quite frustrating if trying to catch some good prey or avoid becoming one. Originally the only option was to destroy the wagon. This can still be done (in the Wagon Management screen), but now you have the option to hide it.

When hiding the wagon, you assign one of your companions as wagon leader just as when configuring a trade run, and you may move items to the wagon if you wish. But you can’t assign troops to the wagon: only the lone wagon leader (explanation below). Then press the “Hide!” button and a new party is created containing the wagon leader (and implicitly the wagon) and no one else. This party, being hidden, can’t be attacked by anyone.

The wagon will wait for you up to 10 days. If you fail to recover the wagon before the time lapses, the wagon will go out of hiding and begin looking out for you, until it finds you. Now being visible, the wagon can be attacked. The player will receive a message when the 10 days are up.

The wagon can also be accidentally discovered by the locals, with a 3% probability per day. If discovered, the wagon will come out of hiding and try to find you, also risking attack as when the hiding time is up. Note: the “locals” are just theoretical. No villagers will attack the wagon. The player will receive a message if the wagon is discovered.

Why all this? Realism and balance. Having the wagon hidden is very useful, but it needs some quid pro quo to make it an interesting choice (and, as Sid Meier said, a good strategy game is a series of interesting choices). That is why I decided the player has to give up a companion (the wagon leader) to hide with the wagon, and also that the wagon could be hidden only for a limited time, or even be discovered before the time is up. Since the “un-hidden” wagon has only the wagon leader to protect it, it is very vulnerable to attack. These risks and constraints are the price to pay for having the convenience to get rid of the wagon for a while and catch, or flee, the enemy. Otherwise hiding would become another overpowered mechanic. As implemented, it forces the player to calculate costs vs benefits, especially when the hiding time nears its end. This is rationalized in-game as the PC deciding that, to minimize the chance of discovery, only one trusted guy will hide with the wagon, not a whole troop, and if he isn’t back to pick the wagon up, something bad should have happened so the companion better try to join back! Which makes sense, in-game.

****



And that’s all, folks. The relevant files are in the github: https://github.com/OmarCalvo/Brytenwalda-Supply-Wagon-Submod . Those are the code files, you need to compile them. (If somebody can help me by telling me exactly how source files map to text files when compiling I'll put them up, too, because I don't want to upload the whole compiled module system when only a few files will be used, obviously).

This work is pretty easily portable to Native. If you guys like it, I will publish a Native version.

Finally, I leave you with some screenshots. Have fun!

****

The Camp menu, as usual:

3f2i1L0.png



The new Manage Wagon screen:

UP91Req.png



Choosing a Wagon Leader:

wvEfvOe.png


Attaching troops to wagon:

VbbgVrH.png


Selecting a destination for the trade run:

DcWKRK0.png


You gotta hide!:

YJFuj9w.png



A hidden wagon hiding...

2IjBOB7.png


Oh no!:

Xe1bcwI.png


A tragic decision:

7YOZxki.png


Danger!

cJpdFU4.png



Forgot something?

l4D3R9P.png



A friend comes back...

qwmRNLX.png
 
Last edited:
Arris, thank you for your splendid sub-modification! It must have taken a great deal of time to develop it, as it contains a number of improvements and new features. If you want, you may also post the additions you made in code brackets, so that people will be able to easily implement them into their own variations of Brytenwalda and beyond (if you specify the license, of course).
 
Arris, thank you for your splendid sub-modification! It must have taken a great deal of time to develop it, as it contains a number of improvements and new features. If you want, you may also post the additions you made in code brackets, so that people will be able to easily implement them into their own variations of Brytenwalda and beyond (if you specify the license, of course).


Hi Veledentella, thanks for the encouragement! I will do as you say, but right now you can search for "Arris" in the source code and find every modification I made. I tagged everything. Note that some old code was commented out or deleted, because I not only added things but actually overwrote a good deal of code from the original implementation. I "think" it could work in another mod without deleting anything. The old code would just lie there unused. Anyhow, a text comparer could be handy, just in case.

The submod is completely open. Just be nice and credit me in your mods :wink:. Again, thank you, and I hope this little work of mine gives you plenty of fun!

Regards,
Arris.
 
Dear Arris, you do not have to thank me. As a content creator, I know that people's (especially positive) feedback is what supports the process of creative work and gives fulfillment. I think it is needed to pat people on their shoulders - speaking metaphorically - after they have done something profound in their service to the community, completely in their spare time. Unfortunately, the population of Warband modding has sharply decreased in numbers during the past two years and the trend has accelerated ever since Bannerlord was released and initial lockdown measures of 2020 were lifted. That being said, there hardly is anyone to enjoy new creations and subsequently praise them. This is why it is so important to keep content creators fulfilled and make them know their labors of love are appreciated. I wish you good luck with your prospective projects or modding endeavors if you decide to make them happen. Do not get discouraged by lack of feedback; as I mentioned above, there is barely anyone left in Warband.
 
Back
Top Bottom