Problem with "The Heist"

Discussion and development of scenarios and campaigns for the game.

Moderator: Forum Moderators

toms
Posts: 1717
Joined: November 6th, 2005, 2:15 pm

Problem with "The Heist"

Post by toms »

In the campaign "The Heist" the second scenario doesn´t work:
When I end the turn it ends the whole program. Am I the only one??
(please excuse language :? )
First read, then think. Read again, think again. And then post!
genosuke
Posts: 57
Joined: June 23rd, 2005, 7:02 pm

Post by genosuke »

I think the crash occurs because there are too many generated descriptions for the units. It'll be fixed in version 0.5.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

WML is not supposed to ever crash the game. Please to to narrow down what is causing this so we can get it fixed.
Though you might want to check to see if it is fixed in SVN as I just committed a fix for a crash when a leader was given a location in [side] rather than using a keep number.
scott
Posts: 5243
Joined: May 12th, 2004, 12:35 am
Location: San Pedro, CA

Post by scott »

Illegal characters can crash the game. I did it the other day.
Hope springs eternal.
Wesnoth acronym guide.
genosuke
Posts: 57
Joined: June 23rd, 2005, 7:02 pm

Post by genosuke »

As "guest" pointed out in this thread, the crash only occurs when binary saves are turned on. Wesnoth crashes with an error about too many recursion levels.

I searched the forum and found this thread, which led me to believe that the crash occurs because of the randomly generated descriptions for all the units.

After I removed the "generate_description=yes" line from my unit-creation macro, the crash stopped occurring.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

genosuke wrote:As "guest" pointed out in this thread, the crash only occurs when binary saves are turned on. Wesnoth crashes with an error about too many recursion levels.

I searched the forum and found this thread, which led me to believe that the crash occurs because of the randomly generated descriptions for all the units.

After I removed the "generate_description=yes" line from my unit-creation macro, the crash stopped occurring.
Terminating with an error message from the game itself isn't normally referred to as crashing.
I suspect the binary save stuff isn't the real issue. It seems to have a built in limit of 100 for some reason (that perhaps isn't really needed), but my question would be why would you be getting 100 level deep nesting of the config file. That seems to be odd whether or not it causes the game to terminate.
I'll take a look at how the description is generated and see of I see anything problematic there. I haven't looked at that code yet, so I don't promise to be able to spot problems there.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

I can duplicate the problem in the latest version of 1.0.
That should enable me to track this one down.
This is now bug #4688.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

I checked the contents of the save file when text save files were used and there was a lot of nested random tags instead of having them all at the same level.
Also I was seeing a game crash, not an error message from the game.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

It looks like when random numbers are generated a nested list of the numbers generated is created and that that tree is saved during the autosave. If binary saves are turned on the nesting exceeds a preconfigured limit during the save process and the game exits after printing a message to stderr.
I need to learn more about what random is doing, to tell if this is something easily fixible or not.
I have reached my lack of sleep limit tonight, but will look at it over the weekend.
toms
Posts: 1717
Joined: November 6th, 2005, 2:15 pm

Post by toms »

Good. :)

Because I can´t wait until playin´it 8)
First read, then think. Read again, think again. And then post!
l'ultimo cruco
Posts: 86
Joined: May 9th, 2004, 1:24 pm
Location: Rome, Italy

Post by l'ultimo cruco »

OK, the campaign now works (0.5.2) :)
But "The Collision" is absolutely unwinable IMO. Maybe the it was planned that Zilead's faction and King Gerald's faction fight each other, but they don't: they just mob up against you, smashing you to pulp in the wink of an eye.
The "recruited" help thing is nice, but there are way to many villages... and the generated units are too strong - javelliners against fencers, are you kidding?
A bit disappointing :?

In "The Heist" scenario the final confrontation you have to rely on luck as no strategy is applicabile in 1 hex narrow wide spot leading you straight to save/load if you get unfavourable results... I'd think that one over. Then again if you get two units close to the guards they won't counterattack you which means you can pick them out with your ranged units. I think this is a engine bug which stops units attacking if they are surrounded. This makes the whole thing a bit boring, like shooting on dummies.
Otherwise the guards would be clearly overpowered. So maybe you would like to tune down a bit the guards but ad 1 emtpy hex between the guards and the cell doors, so they don't freeze if attacked by two units.
Hope I explained myself.

The side hopping is interesting, but as I played only until TC it is a bit confusing right now...
genosuke
Posts: 57
Joined: June 23rd, 2005, 7:02 pm

Post by genosuke »

But "The Collision" is absolutely unwinable IMO. Maybe the it was planned that Zilead's faction and King Gerald's faction fight each other, but they don't: they just mob up against you, smashing you to pulp in the wink of an eye.
The "recruited" help thing is nice, but there are way to many villages... and the generated units are too strong - javelliners against fencers, are you kidding?
I'll try to make it a little easier, but it should still be difficult since Bill isn't too bright :). BTW, the intended strategy is to position the fencers in such a way that Zilead's side lands on more villages than Gerald's side. Then when Zilead's army is strong enough, lure both sides together (position some fencers between them). Also, if you attack Zilead's side, then Zilead will be safe from Gerald's men next turn (they'll all gang up on you). I've passed the scenario several times (on easy) following this strategy.
In "The Heist" scenario the final confrontation you have to rely on luck as no strategy is applicabile in 1 hex narrow wide spot leading you straight to save/load if you get unfavourable results... I'd think that one over. Then again if you get two units close to the guards they won't counterattack you which means you can pick them out with your ranged units. I think this is a engine bug which stops units attacking if they are surrounded. This makes the whole thing a bit boring, like shooting on dummies.
Otherwise the guards would be clearly overpowered. So maybe you would like to tune down a bit the guards but ad 1 emtpy hex between the guards and the cell doors, so they don't freeze if attacked by two units.
I realize that "The Heist" isn't very good right now. It will be completely redesigned to more closely resemble an actual dungeon (e.g., new terrain for dungeon doors). I will also incorporate your suggestions.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

The random number generator has also been fixed in the 1.1 branch (trunk) to provide a better solution than the hack used for the 1.0.2 fix.
genosuke
Posts: 57
Joined: June 23rd, 2005, 7:02 pm

Post by genosuke »

Is there a way to generate random numbers without generating the nested tags in the save file? My latest scenario requires that four random numbers be generated each turn.
bruno
Inactive Developer
Posts: 293
Joined: June 26th, 2005, 8:39 pm
Contact:

Post by bruno »

genosuke wrote:Is there a way to generate random numbers without generating the nested tags in the save file? My latest scenario requires that four random numbers be generated each turn.
No, but 4 random numbers between commands isn't going to be a problem. For 1.0.2 I just ended up raising the max recursion limit to 1000. (Previously it was 100.)
1.0.2 still doesn't have a windows install executable available for download, but I imagine that will change over the weekend.
Post Reply