Frisians 2: No victory declared

Bug #1792478 reported by MP
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Fix Released
Undecided
Unassigned

Bug Description

I paid the Empire's initial extortion payment, burned down the warehouse (after being at peace with them) then expanded with fortresses through "friendly" territory. Meanwhile the Empire almost finished off the Barbarians. I got close enough to attack the Barbarians, killing off their only remaining military structure (a fortress), then doing sentry-based expansion to knock out their remaining warehouse.

This queues up the sequence where the Empire demands more tribute, at which point war is auto-declared with them. I quickly sacked their HQ, which I had already isolated, and then attacked their remaining military locations. After killing off the military I wasn't granted victory, nor after elimination of all enemy warehouses, nor all buildings of any type (even those in pre-construction mode).

I then took the objective text to be literal: I had to eliminate any vestige of territory that was still marked off in red. Did that (PitA in the mountains)...still no victory. Did same with territory belonging to yellow (Barbarians). No victory. All the hostile empire "wanderers" had died.

This map is next-to-impossible to begin with - the prohibition against expansion after contact means that after taking control of the first mini-mountain, I had to expand hard and fast to the SE to get access to more iron (and coal) and completely ignore my better judgement to guard the first mountain with a fortress and/or foresters or expand toward the empire.

Tags: frisians

Related branches

Revision history for this message
Benedikt Straub (nordfriese) wrote :

The objective really does mean you have to reduce the size of Murilius´s Land to zero. I could rephrase the objective to make this clearer, and ensure that useless territory (water, unwalkable etc) may be ignored.
Do you have a savegame so I can look into this?

There is a way to cheat on Murilius and expand despite his prohibition. Perhaps I could add an option that the player can voluntarily destroy one of his own warehouses to get a hint how.

Changed in widelands:
assignee: nobody → Benedikt Straub (nordfriese)
milestone: none → build20-rc1
tags: added: scenario
GunChleoc (gunchleoc)
tags: added: frisians
removed: scenario
Revision history for this message
hessenfarmer (stephan-lutz) wrote :

I have played this in the past and the hardest part was to hunt down the last red piece of territory, due to Frisian buildings have different conquer ranges then empire buildings e.g. empire tower is a medium building. But I definitely won the scenario.

Maybe we could add some relaxation that x fields still red are allowed.

for placing the hint I would vote for having it if the player is brave enough to place a military constructionsite? There is already a small hint in the text of the advisor as far as I know.

Changed in widelands:
status: New → In Progress
Revision history for this message
MP (pagel-d) wrote :

I believe this is the savegame after I've taken over all territory of both players.

Also, "There is a way to cheat on Murilius and expand despite his prohibition. Perhaps I could add an option that the player can voluntarily destroy one of his own warehouses to get a hint how."

I didn't see a loophole in any of the wording. Heck, even one time I put a sentry behind my lines where it would not be claiming any new territory and it triggered a war declaration. I've tried expanding away from him (to the north), and it triggered a war declaration. Military buildings that were built but not filled yet triggered a war declaration if I allowed the soldiers, already en route, to reach it.

I think you'd need to put in a hint that I should destroy a warehouse of my own to begin with, because a hint that triggers at that point wouldn't have done me any good.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

The small hint is hidden in the last sentence of Hauke after the "deal" is ordered by the empire. He says something like "I'm asking myself how good he could control us". This could leed the player to build a military site, If he does so. He should be presented with the nice poem already in the branch by Hauke. This could lead him to the solution how to cheat on Murilius.

IMHO the deal "destroy warehouse for hint" is not fitting well into this story.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

Well, the case of the savegame is very simple: You overlooked one field of red territory at 80x146. I admit it was hard to see, as the node is in a hollow. After I conquered it, I soon received the Victory message.

> IMHO the deal "destroy warehouse for hint" is not fitting well into this story.

Okay… How about hinting to destroy a military building, and if the player does so, the poem is shown?

Revision history for this message
MP (pagel-d) wrote :

I had walked what I thought was my whole border and also looked at the minimap with only showing territory (no buildings, paths or terrain) and didn't see any red. If such a through job is required, there should be a button to jump to nearest territory (explored) owned by a particular color.

Coordinates are hidden from the player, correct? In any case, I would think that if the player has 99:1 edge in territory above the Empire (or 999:1) and the Empire has no buildings and no construction sites, that should be good enough.

At the very least, terrain that cannot be built on should be excluded from the final conquest requirement.

Destroying a military building sounds okay if hinted at more strongly. But destroy rather than dismantle??? I still don't know what triggers the poem currently - I thought I had attempted to build a sentry where I had just dismantled it (because I could no longer occupy the building already constructed at the edge of my territory), and even though there would be no border-push, it triggered war when occupied.

I guess I'm not very good at reading between the lines as to what is intended/hinted at often;)

Revision history for this message
Benedikt Straub (nordfriese) wrote :

The spot in question was inside your territory, no wonder you searched the border in vain ;)
The minimap is hard to use, as it´s only 1 px per field. It´s a bit easier to see when using the magnify button, but you still have to look very closely. (I hacked the savegame and gave myself full vision of the whole map, that helped too.)
Coordinates are visible only in debug builds and the editor, not in release games.

In trunk, there is no helpful poem yet. No hints beside the one from Hauke which you certainly got.
The additional help is new in the branch. Whether you destroy or dismantle the milsite won´t matter, as it´s terribly tricky to check that in scripting (the text won´t say so of course!).

And in the branch, the objective will care only about fields where a mine or at least a small building can be built, instead of every field, like in trunk. The fact that Murilius is very quick to declare war won´t change ;)

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Perhaps Hauke could cite the poem just after having said that he is not sure whether Murilius can control them so closely. If we don't put a big sign "this is a hint on how to cheat Murilius" on it it gives the information but the player has to think carefully about it.

@MP the poem is as follows:

                  How many sites where soldiers stay,
                 How many sites where thou hold’st sway,
                 Though not their whereabouts sees he
                  Who’s ordering around here thee!

would you consider this helpful?

Revision history for this message
Benedikt Straub (nordfriese) wrote :

Or perhaps I could add an artifact just outside the border, and if the player conquers it, Hauke finds the poem inscribed on it; Murilius would turn a blind eye on this one expansion step (or only warn the player not to do this again). How about that?

Revision history for this message
MP (pagel-d) wrote :

Nord:
If you do the artifact route, just put it on the first mountain and have the player discover it before meeting the Empire.

Then when the player meets the Empire, Hauke could refer to it again?

Hessen:
I'd build a series of subterranean tunnels. Failing that I'd at least look in the manual to see if any non-military buildings might push the border.

Revision history for this message
MP (pagel-d) wrote :

Suffice it to say, I still don't get it. There isn't any border expansion with warehouses, scouts, barracks, or training sites. I guess I'm quite daft.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Another idea:

add an objective to build a scout's hut near the empire border to spy on Murilius. After a trigger (possibly time, first successfull scouting, field discovered by scout) the scout could deliver the poem he has just stolen from the empire.

@ MP: there is no border extension except by "sites where soldiers stay" the hint is the 3rd line of the poem. (Murilius just knows the number)

Revision history for this message
Benedikt Straub (nordfriese) wrote :

Yes, good idea with the scout :) I´ll try to implement it like this then.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

I did some playtesting with the new improvements.

Scenario 1 worked fine. It seems to be a bit less difficult now with the frisian balancing changes in but that might be due to Players experience. Anyhow this was expected and does no harm in my eyes. The Opponent is still a challenge.

Scenario 2 didn't work from the start due to a lua error:

the line https://bazaar.launchpad.net/~widelands-dev/widelands/fri-01-02-improvements/view/head:/data/campaigns/fri02.wmf/scripting/starting_conditions.lua#L89

doesn't work. First due to the wrong table is targeted (should be campaign_data instead of soldiers) and second due to table.remove is only working with a numbered index but we have a string index. so I fixed it locally with

campaign_soldiers[descr] = Nil

which did the trick but then I got stuck in the Scenario, cause there weren't any untrained soldiers in my economy (I took enough trained soldiers with me so I couldn't train any soldier, didn't get any scrap metal couldn't recycle them and so on.

So we need a fix for that as well.

another Problem might be that the difficulty of this Scenario depends heavily on the soldiers a Player takes with him if we have 20 Heros from the start it might be an easy swift through the enemy lines.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :
Revision history for this message
hessenfarmer (stephan-lutz) wrote :
Revision history for this message
hessenfarmer (stephan-lutz) wrote :

And another one.
Line

https://bazaar.launchpad.net/~widelands-dev/widelands/fri-01-02-improvements/view/head:/data/campaigns/fri02.wmf/scripting/starting_conditions.lua#L68

the variable untrained is never used in the following so you could just check for descr ~= "000"

Revision history for this message
Benedikt Straub (nordfriese) wrote :

Thanks for the reviewing! I had already solved most of the errors in #14 locally, but it seems I forgot to upload my changes. Will implement your nits :)
For the difficulty – how about taking over only 10 (or even 5) soldiers and always filling up to 25 with rookies?

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

I need to think about the difficulty issue. Hopefully I get inspired tonight by further playtesting ;-)
In the end taking soldiers with us should be awarded but not to much. So probably in the end it comes down to numbers.
Positive thing is that campaign data is working as expected.

Revision history for this message
MP (pagel-d) wrote :

I've been meaning to add the comment about having no rookies would inhibit one from getting anywhere in scenario 2 for a couple of days now;) I agree that we should have a substantial number of rookies, even if you do take some vets.

One question is about the rules for cycling soldiers from sentries to and from the training camp...if you already have your e.g. 15 rookies deployed, will they easily get called back for training, or would you have to set the sentry to "strong soldiers"?

One other issue I have at this point with scenario 2 is that the "cheat" for expansion after meeting the Empire is a bit strange and may need to be documented further. As far as I understand, it is the number of built (not occupied) military structures that matter. Ones that have been ordered or have builders actively constructing the military structure do not count into the original limit. However, those military structures that are awaiting decommission/dismantling do not count toward this limit. But I had 34 built (in my current game) at the time I met the empire, but now I can only have something like 31 military structures, so at some point the Empire re-evaluates how many built structures you have. It might be also helpful if the number a) remains fixed and b) was part of the post-poem or additional dialogue you have with your advisors AND in the scenario objectives (maybe once you've ordered a new military building to be constructed).

There should probably also be a bit of grace time after the Empire threatens you before it becomes an active prohibition - if a player was unfortunate enough to have a construction complete right after the dialogue, you'd immediately get on the Empire's bad side. So, give the player about one minute to cut off pathways for raw building materials or order destruction or disassembly of military structures. Perhaps also allow sites that have all materials plus the builder on-site to be allowed to complete without triggering the ire of the Empire.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

I now implemented that you can take up to 10 soldiers with you from mission 1, and you get 25 in total, so you´ll have lots of rookies to train.

Making sure you get a rookie in the training camp is normal micromanagment: If you have no rookies in warehouses, you need to set some sentries to prefer heroes so a rookie is sent away and can enter the trainingsite.

Murilius counts only occupied militarysites and milsites that have been completed but are not occupied yet. Buildings that are being constructed/dismantled or waiting for dismantling do not count.

The number of permitted milsites is evaluated once (directly after the autosave) and then never changed. I´ll add some sleeptime in-between. Half a minute should be enough imho, since you can pause the game while you arrange everything.
But I´m against telling the player how many milsites are allowed, or interpreting the poem for him – That would be too easy ;)

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

did some further playtesting yesterday. some remarks for fri02

1. in the beginning (after line 312 in mission Thread) there should be a short sleep time to show the barbarian settlement to the player - maybe 2 seconds or so (just to improve story telling)

2. at first I overread the small hint to build a scout:
  a) there should be an own para for the last 2 sentences of Hauke in supply murilius 9 message
  b) there should be an objective to build a scout

reason for the objective is the same I had been given for introducing an objective in empire 04 to click on a farm rather then having this only in the texts.
There might be cases where a player has to stop playing and can't resume to the game for quite a time. in this case it is hard to remember that there was something to be done for which no objective exists.

3. After building the scout the hint mechanism works fine. I am against interpreting the poem as well. But again we should have an objective to decipher the poem. just to remind the player there was something to be done. If a new military building is finished this could be set done as well as if the player goes on war with Murilius.

4. I was asking myself why the empire is not building any bigger military buildings anymore. in the code I saw them to be disabled. Is there any reason for this? For me it would make sense to have at least barrier and tower enabled as well.

5. taking 10 soldiers seems to be reasonable however if there are no bigger military buildings (see 3.) in the empire territory these can probably still be used to take a short and quick blow on the empire.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

1, 2, 3 – OK, will implement it like this
4 – They are all allowed in the beginning and then forbidden when the player meets Murilius. Reason is that Murilius might expand too fast and meet the barbarians too soon. Also, by this time he normally has a very large territory anyway. Perhaps I could allow the barrier though.
5 – Murilius starts with 30 fully trained soldiers. Perhaps I should increase the number to ~40-50 (and ~50-60 for the barbarians)?

Revision history for this message
GunChleoc (gunchleoc) wrote :

Drive-by comment on the campaign data: I'd be generous with the soldiers recorded, so that you'll be more flexible to tweak the starting carryover for scenario 2, especially for when we implement scenario difficulties - I think the player should pick the difficulty when starting the scenario, so they can continue in the campaign if there is just 1 scenario that's too challenging for them - this way, they won't have to restart the whole campaign in order to lower the difficulty.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

@GunChleoc: I already scripted it like this. At the end of fri01 all soldiers in the port are saved in the wcd file, and fri02 then picks 10 of the trained soldiers among them at random (deliberately not sorted by training levels, though the choice is biased towards picking many soldiers of the same levels). Adjusting the number of soldiers you start with in fri02 is as easy as changing 2 variables in fri02/init.lua, no need to play fri01 again.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

@ Nordfriese:

4. agreed. Barrier is fine. In my test game they meet the barbarians anyhow. How about having all players in one team as long as there is no decision made by p1 which route he wants to go?

5. the problems is not the numbers. it's the fact that if the enemy has no big military buildings it does not get enough soldiers to the front and you can kill all of their heros one by one. But increasing the empire heros by 10 would be helpful in my opinion. They should be equally strong to the barbarians I think.

Background info: there is currently a weird behaviour of the AI which I do not fully understand so I can't fix this. However the AI tends to dismantle military buildings even at the borders and sometimes re-erect them but not always. using the cheat against murilius you could conquer lots of his territory in this way and at a certain point you have the chance to conquer his HQ for example. Hopefully we get batter AI for b21, but after that we have to reevaluate all the scenarios regarding difficulty.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Just saw you have already implemented everything so from my side feel free to propose merging this

Revision history for this message
Benedikt Straub (nordfriese) wrote :

The AI is more or less good in normal games now, but really stupid in scenarios. For example, I´m already scripting the 3rd scenario, where players can´t build woodcutters and foresters (instead getting supplied with logs), and the AI is hopelessly confused there, although I did a lot in scripting to help it along. I´ll open bugs for those issues, and we have to hope the AI gets better sometime.

I hate having to put players in teams in fri02. I don´t want to put p1 on one team with the barbarians, because that´ll give him insight into the enemy´s territory that may not go away when they fight (like for p1/p2).
The best solution by far would be to set via scripting that player x may not attack player y, as described in the old TODO comment in fri02. We really need this here instead of messing with teams. I´ll open a bug report for b21.

I´m still waiting to see if there´ll be more input from the forum for the scenarios; if not, I´ll propose this for merging next week.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Imho I think the chance for feedback would be higher if proposed for merging.

I might have an idea how to help the AI in fri03 that has to wait until b20 is out though.

I'll test further tonight and I'll try to test some ideas how to improve teaming and visibility of terrain. If possible would you prefer that p1 does not see p2 territory?

Revision history for this message
Benedikt Straub (nordfriese) wrote :

I would prefer to completely get rid of teams in fri02, so visibility is like for enemies. In particular, I dislike that p1 can see p2 before "meeting" him. It´s illogical and doesn´t fit to the story.
The only way to truly solve it currently is to make them enemies initially and form the team only when the dialogue starts; but then there´s a risk that one of them will attack the other before that. It could be possible to form the team as soon as one of them sees the other, but that will look illogical again since p1 will see Murilius before knowing him, at a seemingly random time.

> Imho I think the chance for feedback would be higher if proposed for merging.
OK, then I´ll propose it now…

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

my ideas didn't work out. so we can't change the team solution for now.

I totally agree to your thoughts but there is probably one solution left:

setting murilius to the same tema of the player if they see each other (each sees at least one field of the other) and trigger the dialog with murilius shortly after. this will happen a bit earlier in the scenario but shouldn't hurt that much imho.

Changed in widelands:
assignee: Benedikt Straub (nordfriese) → nobody
status: In Progress → Fix Committed
Revision history for this message
GunChleoc (gunchleoc) wrote :

Fixed in build20-rc1

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.