Allow control of stationed Soldiers in Military Buildings

Bug #536548 reported by astuur on 2009-03-31
44
This bug affects 7 people
Affects Status Importance Assigned to Milestone
widelands
Wishlist
Unassigned

Bug Description

The choice of soldiers that are sent from the warehouses to new military buildings currently seems to be random.
Likewise, the replacement for soldiers that are expelled from military buildings is random.
The player cannot influence whether he wants his best trained soldiers available, or the least skilled ones to be sent first by the warehouses.

I am suggesting to make this choice possible, and of course switchable while playing, so that a player could send the better trained soldiers to the borders, while newbie-soldiers stay in the safer regions.

This could be a switch for each military building, but influencing the entire economy, so that, if "best first" is enabled for a specific military site, the best available soldiers economywide are sent, no matter in which warehouse they currently are. (Up to now more remote warehouses would only send any soldiers when the local one was totally exhaused)

As for the user interface, the switch could be inserted next to the "range" button in the site's window.

astuur (astuur) wrote :

In addition it maybe worthwhile to rethink the concept of allowing only soldiers from warehouses to be trained.
Automatically ordering soldiers from military buildings one by one to the training facilities may be a good alternative.

Timowi (timo-wingender) on 2010-03-12
Changed in widelands:
status: New → Confirmed
importance: High → Wishlist
tags: added: military training
Nicolai Hähnle (nha) wrote :

I believe a per-building (both military and training site) setting with three possible settings, "Call highest-level soldier", "Call lowest-level soldier", "Don't care", should do the job. The settings would do exactly what the name implies, and if there are multiple equivalent choices available, the closest one would be picked.

I am against automatically ordering soldiers from military buildings. Any kind of automatism could do more bad than good (e.g. ejecting a soldier just before an attack), and it's easy enough to eject soldiers manually.

I was hit by this bug on a small map. Actually, it more looks like a FIFO allocation for soldiers. Lets say player is on the small map, so that with after building fully functional battle arena and brewery, he still did not exhaust initial amount of soldiers. What will happen in this case - battle arena will constantly request new soldiers, upgrade them and send to warehouse. On the other side, if player wants to call new soldiers he will still change the soldiers amongst only first given. Newly created and/or upgraded soldiers sitting in warehouse, but are not available until he finds some way to spend somewhere the initial soldiers - e.g. killing them or building enough space to fit most of his soldiers.

Also, regarding #2, it would be more beneficial to attribute for military buildings states, like in original S2 - internal military building, normal and outpost/forpost. In outpost case the best possible soldiers would be requested from warehouse if player wants to change soldier. In internal military building the worst soldiers would be requested for change. All newly built and acquired buildings are assigned normal state and behave as now - take the first available soldier from warehouse.

Additional suggestion: probably, under some conditions, it may be possible to pull soldiers from internal buildings to outposts automatically, when there is no soldiers left in warehouses and outposts require them. Obviously, this automation only happens when player changes some military building from their default normal state to internal affairs and outposts. In other words, player should explicitly require this behavior and knowingly select sites with such policy. If he does not want it, he may use 2 level system - normal and outpost.

Nicolai Hähnle (nha) wrote :

... snip ...
On the other side, if player wants to call new soldiers he will still change the soldiers amongst only first given. Newly created and/or upgraded soldiers sitting in warehouse, but are not available until he finds some way to spend somewhere the initial soldiers - e.g. killing them or building enough space to fit most of his soldiers.
... snip ...

I don't understand what you're saying there. If you have soldiers in warehouses, why would you want to create new soldiers? They will be automatically created when required.

I don't know either why they were created - perhaps, battle arena request only new soldiers? Looks like every time battle arena sends upgraded soldier back to the warehouse, it immediately requests the creation of a *new* soldier, without caring much about their presence in warehouse.

By the way, suggestion extension: battle arena and trainingscamp also have states, so that by changing their states, player may control if he wants evenly distribution of upgrades among soldiers (upgrade the worst soldiers) or just a bunch of full upgraded soldiers (upgrade the best). In normal state they would function as usual.

SirVer (sirver) wrote :

#5, second paragraph: this is already controllable: just reduce the number of soldiers in your warehouse to a low number and they will all train out before others can be trained. Finer control is not necessary or desirable imho.

about your other suggestions: I'd like to have more control over soldiers, but this will change the balance of the game a lot: currently, juggling your soldiers to the front is hard but it is hardest for barbarians (as you also have to control how many soldiers are created). If this is easily controllable, barbarians will get much stronger. This will also increase the amount of still standing at heavily fortified fronts with more than 2 tribes (e.g. 3 player standoff): people will just poor level 10 soldiers there forever and noone will dare to attack, because the two players fighting will wear off and the third one will win. Currently, the players can get an edge by juggling better soldiers into the front.

My argument: more control yes, but I'd like to keep some of the current juggling challenge so that better players can gain an edge. No idea how this could be implemented though.

I do not understand how the number of soldiers could be reduced? Most probably, you mean that, if there is no axes in the warehouse, then no new soldiers will be created. Well, I did not thought about it. This is probably valid relation in game engine, but from the point of view of unaware player it is more like a cheating (no offense here). I could not imagine the relation between axes number at warehouse and how soldiers gets upgraded and allocated. It is in no way obvious or expected, besides, it lefts no reserve for quick expansion . Well, maybe, this is also possible and you know the way :)

So, the controls should be definitely made more obvious and allow well predictable outcome. On the other side, I agree, that it should not make the control "just a two clicks" easy.

That's why, I suggest to begin with attributing states for military buildings. Initially they should serve only for allocation of soldiers, like in economics, but stricter - no soldier goes to lower level building, when there are vacancies in more higher. Later we can decide what additional meaning could this controls have.

SirVer (sirver) wrote :

You are right that the controls are not obvious and frankly they are not sufficient. The Idea is basically that if you do not have requests for soldiers, none are created. So you have to stop your battle arena rather soon or it will produce soldiers forever.

That said, I agree with the suggestion and implementation as you describe it in your last paragraph and as nicolai suggests. I'd wonder how the user interface for this could look like. Similar to ware priorities, but how exactly?

_aD (ad-simplypeachy) wrote :

Related to https://bugs.launchpad.net/widelands/+bug/536579 "Add ability to set preferred work/soldier level"

Teppo Mäenpää (kxq) wrote :

Is this now OK?

SirVer (sirver) wrote :

I definitely say so :).

Changed in widelands:
status: Confirmed → Fix Committed
milestone: none → build18-rc1
SirVer (sirver) wrote :

Released in build-18 rc1.

Changed in widelands:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers