Version 0.4.6

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Version 0.4.6

Post by Dave »

Some more relatively minor tweaks this version.

http://wesnoth.whitevine.net/files/wesnoth-0.4.6.tar.gz

I would like to release version 0.5, stable, at some point. It would be great if people would test especially hard for stability problems. As of this version, if the game crashes at all, ever, short of the binary being modified, it will be treated as a bug. This includes if the configuration files or image files are corrupted, removed, etc. (But obviously, it's okay if some graphics don't display, sounds don't play, or the game quits with an error message, just as long as it doesn't crash).

Version 0.4.6:
- converted over to using png images instead of bmp
- fixed up difficulty levels for 'normal' on scenarios 3 and 4 as reported by miyo
- made it so healing animations and sounds don't play during replays
- removed name generation code, since it wasn't fast enough
- added sounds to a number of Elvish units
- made it so that when the attack-selection dialog is displayed, the attacking unit is displayed in the right side bar, so that one can easily compare the attacking and defending units
- fixed bug where after a scenario is loaded, on new turn it wouldn't scroll to the leader
- made the display area for units bigger when recalling, to fit in units like the Druid
- reduced Mage's hitpoints from 25 -> 18
- added in plague ability and gave it to walking corpse and wraith. A unit with plague will create a new unit of their own type whenever they kill an enemy unit.
- tweaked recruitment pattern on scenario 6
- made marksman and sharpshooter both very bad at close range
- increased power of Mage of Light's attack
- made it so you get a gold bonus when you complete scenario 9
- fixed scenario 7 to say 'survive for 2 days'
- changed Swordman -> Swordsman and Beserker -> Berserker
- made some speed changes which will hopefully help for people who are finding it slow on startup and after selecting difficulty levels
- fixed display problem where background of menus that had scroll arrows looked displaced
- corrected facing of dwarvern units
- added transition hexes at the edge of the scenario to make the edges of the map look nicer
- added a 'show grid' option

David
zas
Posts: 54
Joined: August 25th, 2003, 9:58 pm
Location: France

Crash fro me

Post by zas »

Hi,
this version crashed for me twice when one of my units encounters for the first time an eneny (easy mode, first scenario).
I got:
recruitment......
BEGIN: recruiting troops
recruiting scout
END: recruiting troops
END: doing ai move
END: doing ai move
END: doing ai move
END: doing ai move
Fatal signal: Segmentation Fault (SDL Parachute Deployed)


No core file is generated (although i got ulimit configured for that, and compiled with -g -O2)
ettin
Lord of Glamdrol
Posts: 369
Joined: August 17th, 2003, 2:05 pm
Contact:

Post by ettin »

Spanish Translation 0.4.6 (only added translation for "grid button").
miyo
Posts: 2201
Joined: August 19th, 2003, 4:28 pm
Location: Finland

Post by miyo »

Updated WesnothWiki:

WesnothChangelog - added 0.4.6 changes
WesnothToDo - removed obsolete entries (1)
WesnothBugs - removed fixed bugs (4)
UnitTables - update to match 0.4.6
MoveTypeTables - updated to match 0.4.6
UnitAnimationsAndSounds - updated to match 0.4.6

- Miyo
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Re: Crash fro me

Post by Dave »

zas wrote:Hi,
this version crashed for me twice when one of my units encounters for the first time an eneny (easy mode, first scenario).
I
Can you reproduce this? I can't on my machine :(

Does it happen when you attack them, or they attack you, or either?

What types of units were you using?

Which OS are you running it on? Linux?

David
miyo
Posts: 2201
Joined: August 19th, 2003, 4:28 pm
Location: Finland

Post by miyo »

Playtesting report:

OS: Debian GNU/Linux (Sid)
SDL: 1.2.6

Have played thru scenarios 1 and 2... everything fine this far. Even managed to train more experienced units in scenario 2 and hoping this will give me a chance to win scenario 3.

:: Scenario 2, north-west quarter of the map ::
1) At dusk started retreating (to north-west) and re-grouping (east, by the river) units and continued as needed thru the night, even allowed the enemy capture my villages which were left undefended as I retreated.
2) At dawn started assault which continued aggressively thru the day.
3) At dusk started taking some defensive positions.
4) Held defensive positions thru the night.

Retreating units (Delfador included) drew enemy attention which allowed me to re-group my units. As dawn arose enemies were attacked from north and east. Few losses for me, massive losses for enemy.

Gained four heroes (recalled Elven Fighters from scenario 1), two Knights and a Ranger.

- Miyo
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

miyo,

Not that I want to disregard your no-doubt skillfull play, but given the ability of the human to retreat from engagement at night, and then begin attacking at dawn, do you really think the day/night schedule in its current form is a good idea?

Unless I can make the AI more intelligently recognize day/night (which would be hard), it seems to me that the human gets a large advantage from the scheduler.

Thoughts?

David
miyo
Posts: 2201
Joined: August 19th, 2003, 4:28 pm
Location: Finland

Post by miyo »

Dave wrote: given the ability of the human to retreat from engagement at night, and then begin attacking at dawn do you really think the day/night schedule in its current form is a good idea?
If you retreat too much... enemy will capture too many villages and will recruit many units - fighting with them will slow you down - so you can't retreat too much. I won scenario 2 on last turn (1 unit had attacked enemy leader on previous turn and on last turn three archers were able to join the attack).

When you retreat (enemy has usually some fast units) you need a good defensive place where to retreat - as north-west cities and east side of the river on scenario 2.
Dave wrote: Unless I can make the AI more intelligently recognize day/night (which would be hard), it seems to me that the human gets a large advantage from the scheduler.
During daylight hours chaotic AI units should value more capturing villages, getting healed and killing weak isolated enemies.

Does the AI at the moment know how to group units? Maybe we could make chaotic AI units do some grouping when it is daylight? - "Wait for the reinforcements before you attack"

Of course the same is needed for Lawful units just reversed.

I like the scheduler (which was suggested by me) *grin*

- Miyo
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

One problem to remember is that for a general solution in programming the AI, no assumptions can be made about the alignment makeup of the forces on the battlefield.

What I mean by this is that the AI's forces could be made up of a mixture of alignments, and so could enemy forces. Chaotic units shouldn't advance at day - but what about if the enemy forces are also chaotic? Then it would be fine to advance at day. If the AI has a mixture of forces, then they'll end up with an even more fragmented army, since half their forces will be advancing while the other half will be sticking back.

A simple solution could be to give an AI side as a whole some kind of 'instruction' that tells them to act differently at certain times - that they should act aggressively at night time and defensively at day time. (We need to program the AI to be able to act 'defensively' in the first place though!)

Any thoughts?

David
zas
Posts: 54
Joined: August 25th, 2003, 9:58 pm
Location: France

Re: Crash fro me

Post by zas »

Dave wrote:
zas wrote:Hi,
this version crashed for me twice when one of my units encounters for the first time an eneny (easy mode, first scenario).
I
Can you reproduce this? I can't on my machine :(

Does it happen when you attack them, or they attack you, or either?

What types of units were you using?

Which OS are you running it on? Linux?

David
I can reproduce it on one of my systems for sure, i need to test on others.

I was using either elf archer or warrior.

OS is Debian/Linux 3.0r1 i686

I had the segfault in scenario 1 when i attacked, and in multiplayer mode when i attacked too.

Do u have any idea of why no core is generated ?
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Re: Crash fro me

Post by Dave »

zas wrote:
I can reproduce it on one of my systems for sure, i need to test on others.

I was using either elf archer or warrior.

OS is Debian/Linux 3.0r1 i686

I had the segfault in scenario 1 when i attacked, and in multiplayer mode when i attacked too.

Do u have any idea of why no core is generated ?
A core file isn't generate because SDL traps the segfault signal so it can clean up the screen resolution, release the keyboard etc. You can force it to generate a core file by adding a flag to the calls to SDL_Init (found in video.cpp). Add the flag SDL_INIT_NOPARACHUTE

However, it is recommended that if you do this, not to run the game in fullscreen mode. I am adding this flag to SDL_Init to be included in the next version, but I may make it only use it when you use the -debug flag.

A few more questions:

- does it crash before or after the dialog box which allows you to select which type of attack to use?
- are you using the French locale? If so, does it also crash when using the English locale?
zas
Posts: 54
Joined: August 25th, 2003, 9:58 pm
Location: France

Backtrace

Post by zas »

#0 0x080ceabe in gui::draw_solid_tinted_rectangle (x=69, y=337, w=200, h=450,
r=0, g=0, b=0, alpha=1, target=0x82c0be0) at menu.cpp:75
75 ((new_b >> fmt->Bloss) << fmt->Bshift);
(gdb) bt
#0 0x080ceabe in gui::draw_solid_tinted_rectangle (x=69, y=337, w=200, h=450,
r=0, g=0, b=0, alpha=1, target=0x82c0be0) at menu.cpp:75
#1 0x080d1d71 in gui::show_dialog (disp=@0xbfffec38, image=0x0,
caption=@0xbfffe848, msg=@0xbfffe9a0, type=OK_CANCEL,
menu_items_ptr=0xbfffea14, units_ptr=0xbfffe990,
text_widget_label=@0xbfffe99c, text_widget_text=0x0) at menu.cpp:639
#2 0x080f7536 in play_turn (gameinfo=@0xbffff408, state_of_game=@0xbffff420,
status=@0xbfffef68, terrain_config=@0xbffff3f0, level=0x8304e40,
video=@0xbffff4e8, key=@0xbfffec24, gui=@0xbfffec38,
events_manager=@0xbfffec36, map=@0xbfffeedc, teams=@0xbfffef80,
team_num=1, units=@0xbfffef74) at playturn.cpp:184
#3 0x080eb6e8 in play_level (gameinfo=@0xbffff408,
terrain_config=@0xbffff3f0, level=0x8304e40, video=@0xbffff4e8,
state_of_game=@0xbffff420, story=@0x8426084) at playlevel.cpp:150
#4 0x08091dd1 in play_game (disp=@0xbffff2dc, state=@0xbffff420,
game_config=@0xbffff3f0, units_data=@0xbffff408, video=@0xbffff4e8)
at game.cpp:60
#5 0x0809a531 in play_game (argc=2, argv=0xbffffd94) at game.cpp:333
#6 0x0809e2e5 in main (argc=2, argv=0xbffffd94) at game.cpp:349

(gdb) print beg
$1 = (short int *) 0x40c83092
(gdb) print *beg
Cannot access memory at address 0x40c83092


It crashes with or without english locales, in campaign, tutorial, multiplayer modes.
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

zas,

I have put a new version of menu.cpp up at http://wesnoth.whitevine.net/files/menu.cpp

Could you please try recompiling with this and tell me if it fixes the problem?

Very sloppy programming on my part I'm afraid :-/

David
It doesn't crash anymore

Post by It doesn't crash anymore »

Using provided new menu.cpp, previously reported segfault do not occur anymore :)
miyo
Posts: 2201
Joined: August 19th, 2003, 4:28 pm
Location: Finland

Post by miyo »

Playtesting report continues (difficulty: Champion):

Scenario 3: had to play many times to gain victory.

Scenarios 4,5,6: victory with first try, half of turns used.

Scenario 7: victory with second try, Champions, Paladins and Avengers played the main role.

Scenario 8: victory with first try, used mainly Paladins and Avengers, half of turns used.

Scenario 9: victory with first try, gained another Storm Trident and got some Merman Lords.

Scenario 10: victory with fourth try, eliminated all enemy leaders, Avengers played the main role here.

Scenario 11: victory with fourth try, eliminated all enemy leaders, Champions, Paladins and Avengers played the main role.

At the end of scenario 11 I had these advanced units:
* four Elvish Avengers
* four Elvish Champions
* three Elvish Paladins
* two Elvish Druids
* two Merman Lords, both with Storm Tridents
* three Elvish Rangers (each had about half of the needed experience to become Avengers)

Why Paladins - 1) healing 2) fast moving (retreat/re-group/advance) 3) charge.

Why so many Rangers/Avengers - reduced penalties from the dark.

- Miyo
Post Reply