Page 1 of 2
Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 7:30 pm
by PaulH
From log:
FATAL LUA ERROR: Lua Function monster_generator.msg_handler[100000]: base/util.lua:203: dsb_3dsound requires Sound in param 1
@@@ LUA STACK @@@
[N:0][N:1822][N:100000][N:0][N:1777][S:base/util.lua:203: dsb_3dsound requires Sound in param 1]
@@@@@@
Re: Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 8:46 pm
by Sophia
Where were you (or at least approximately, anyway) when this happened?
The issue here is that a monster generator is trying to play a sound that doesn't exist. So it's actually a problem with the dungeon, not DSB, but if we can figure out which monster generator is causing the problem, we can fix it.
Re: Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 9:09 pm
by PaulH
5,28,20. one of the two adjacent triggers.
Re: Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 9:20 pm
by Sophia
Ok, as I suspected, the problem is that the sound that it's trying to use is undefined. I'm not sure why Joramun changed all of the names of the movement sounds, but he probably had a good reason. Anyway, if you open
startup.lua in your DM dungeon's folder, you'll notice something like this:
Code: Select all
--snd.step_dragon
snd.flight = snd.step_flying
snd.human = snd.step_footstep
--snd.step_knight
snd.animal = snd.step_scuffle
--snd.step_skeleton
snd.water = snd.step_wet
Those lines starting with the "--" are the ones causing the problem. They're commented out, for some reason. Change the contents of
startup.lua to this:
Code: Select all
snd.dragon = snd.step_dragon
snd.flight = snd.step_flying
snd.human = snd.step_footstep
snd.knight = snd.step_knight
snd.animal = snd.step_scuffle
snd.skeleton = snd.step_skeleton
snd.water = snd.step_wet
Then it should all work fine. No restart of the dungeon is required, just reload and keep playing.

Re: Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 10:24 pm
by ian_scho
Sophia wrote:Change startup.lua....Then it should all work fine. No restart of the dungeon is required, just reload and keep playing.

Really?! I never knew you could do this. That's really cool.
Re: Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 10:51 pm
by Sophia
Oh, really?
Yes, all of the .lua files are loaded anew on startup and copies aren't saved anywhere. So it's possible to "hotfix" a lot more in DSB than it is in CSBwin or RTC, because all of these mechanics aren't actually saved in the save files.
Re: Game crashed, original DM dungeon
Posted: Fri Apr 02, 2010 11:21 pm
by PaulH
Works, nice one!
When I have finished the dungeon I'll comment on some of the changes I have noticed from the original.
Re: Game crashed, original DM dungeon
Posted: Sun Apr 04, 2010 9:57 pm
by PaulH
Found an error on the Knight level, where you place the topaz key in the turquoise lock - the lock disappears when viewed head on!
Re: Game crashed, original DM dungeon
Posted: Sun Apr 04, 2010 11:41 pm
by Sophia
Yeah, this is a typo in the graphics definitions. I'll fix it for good in the next version of DSB but for now, you can fix it by adding this line to your
startup.lua:
Code: Select all
gfx.keyhole_turquoise_front = dsb_get_bitmap("KEYHOLE_TURQUOISE_FRONT")
Like before, you don't have to start the dungeon over, just quit DSB and reload your save game and it should be fine.
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:10 am
by ian_scho
Does noone else find these
on-the-fly fixes just amazing?!

And keep up the good work Paul!
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 11:52 am
by beowuuf
Perhaps we expect nothing less than amazing with lua and DSB

Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 3:32 pm
by PaulH
Review coming up shortly! Got quite a few notes!
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 5:49 pm
by PaulH
Another 'un
FATAL LUA ERROR: Lua Function amalgam_gembare.on_click: base/triggers.lua:23: dsb_sound requires Sound in param 1
@@@ LUA STACK @@@
[{@_G}][{ resume yield status wrap create running }][{ sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower }][{ setn insert getn foreachi maxn foreach concat sort remove }][{ log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan }][{ __index __gc }][S:base/triggers.lua:23: dsb_sound requires Sound in param 1]
@@@@@@
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 7:33 pm
by Sophia
It's another sound renaming issue. In DM's
startup.lua, just below all those other sound lines that we previously added to fix the monster noises, add:
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 7:44 pm
by PaulH
It worked...
But the firestaff did not change into the one with the gem.
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:00 pm
by PaulH
Is it dead then?!
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:02 pm
by Sophia
Ok, I've looked into this. The amalgam mechanics are a somewhat obscure RTC-ism that doesn't work in DSB, and it seems like was translated too literally.
This can actually be fixed without a restart, too.

Add this code to
startup.lua:
Code: Select all
function sys_game_load()
dsb_swap(2020, "firestaff_gem")
end
Once you've reloaded and saved your game, you don't need this code any more.
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:05 pm
by PaulH
Cool!
You are gonna love my list when I have finished lol!
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:16 pm
by PaulH
One more!
On fusing chaos with no fluxcages:
FATAL LUA ERROR: Lua Function sys_ai_near: base/monster_ai.lua:89: attempt to compare nil with number
@@@ LUA STACK @@@
[N:3027][N:16][N:0][S:base/monster_ai.lua:89: attempt to compare nil with number]
@@@@@@
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:30 pm
by Sophia
Ok, this one's actually a bug in DSB.
This is giving it quite a good workout!
The easiest way to fix this one is for me to just email you a new
monster_ai.lua and you replace your copy with the fixed version, which is probably easier than trying to patch it yourself. So I'll do that, can you send me a message with your address?
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:33 pm
by PaulH
Nice one!
supersonic525
at
aol
dot
com
Yeah, have give it thorough test! Are some non critical errors I have foundn and some mechanical differences: obviously some are planned though, but I shall lay them out when finished. Some are for the better

Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:55 pm
by ian_scho
I'll say it again. I'm really happy that someone has stressed tested the engine

Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 9:59 pm
by Sophia
Me too!
It's difficult to nail down all of those little cases that can go wrong, so this has helped greatly.
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 10:11 pm
by PaulH
Ok, next
When surrounded by fluxcages and fused, he simply transports away. Can't get him!
Re: Game crashed, original DM dungeon
Posted: Mon Apr 05, 2010 11:28 pm
by PaulH
Right then, bar the ending here are my general comments on the engine and this conversion. Minor changes will not be commented on ie item drops, some sounds etc. A lot may be subjective differences from the CSBWin game!
- Monster footsteps: could hear them in sealed wall rooms, can't remember this before in any version.
- Rockpiles: very hard to hit at lower character levels.
- General monster AI: obviously these think a bit more! Though they can dodge missiles when not looking sometimes. Not all monsters were harder though. Loved how they split up, but they never ran away.
- Don't seem to gain as much health when leveling.
- The Vault: silver coin does not shut door when removed.
- Worms: found these much easier to kill, weapons tore through them.
- Rapier: thrust at Craftsman? Usually just after Journeyman.
- Missile speed: seems slower - I can dodge from point blank range.
- Poison: this is better, makes it harder, though it heals very slowly when resting.
- Stabbing: takes longer to recover, and adds to fighter with Dianond Edge (others not tested)
- Pit room in Coautl level: couldn't seem to open the left hand path!
- Test your strength: even with Stamm, couldn't throw any object far enough. Finally did with 80 strength.
- Skill potions: drain very quickly!
- Jewel Symal: not an instant AF increase, get a red stat (unlike Mace of Order for instance)
- Mace of Order: gave plus 15 to strength rather than plus 5
- 2nd hand: still get stat bonuses
- Fireball trap on rat level does not work
- Monster transporter fields in area where speedbow is are in the wrong place
- Clockwise/turnback etc: can get through, but got different destinations
- Diamond Edge - none of clouds are darts are triggered.
- Magnifier: fixed!
- Ruby Key: 'error untriggered nil' message
- Copper coin treasure room: nothing in alcoves!
- Knights: seem slow and easy to kill.
- Spiders: seem immune to warcry, do not poison.
- Armour: works too well! Take much less damage from all attacks than CSBWin and RTC. Can stand toe to toe with most monsters and just hack them to death.
- Boots of Speed: felt no effect
I think that is it! Most of this is just me being pedantic lol, or minor niggles, but I did feel it played easier tha the other clones.
Re: Game crashed, original DM dungeon
Posted: Tue Apr 06, 2010 12:32 am
by Lunever
2nd hand: still get stat bonuses
Please leave it that way.
Re: Game crashed, original DM dungeon
Posted: Tue Apr 06, 2010 12:46 am
by Sophia
For now, I'll just look at things related to the engine and base code. I'll address specific problems with the DM dungeon later on.
PaulH wrote:Monster footsteps: could hear them in sealed wall rooms, can't remember this before in any version.
The dungeon geometry isn't taken into account, and the volume is determined just by the distance between the party and the monster. I know RTC does some fancier stuff, but I thought this was how it worked on the Amiga, too...
PaulH wrote:Rockpiles: very hard to hit at lower character levels.
Hmm, they aren't too quick, but they do have very high armor. Of course, I do remember rockpiles being pretty annoyingly tough, all the way back to DM on the Amiga. I always dropped a door on the things because I couldn't fight 'em!
PaulH wrote:- Don't seem to gain as much health when leveling.
You don't. I missed a random bonus when I was copying the CSBwin code. Fixed now!
PaulH wrote:- Worms: found these much easier to kill, weapons tore through them.
The numbers are the same as on the encyclopedia, so unless there's a general problem with combat damage, this could just be subjective...
PaulH wrote:- Rapier: thrust at Craftsman? Usually just after Journeyman.
The encyclopedia says that it needs level 5. What I do wonder about is if that includes hidden skills, which DSB currently doesn't when deciding which attack methods are legal-- just the displayed level.
PaulH wrote:- Missile speed: seems slower - I can dodge from point blank range.
Projectile speed is slower than RTC, so maybe that's what you're noticing. You can dodge at point blank range in CSBwin, too, if you're quick!
- Poison: this is better, makes it harder, though it heals very slowly when resting.
PaulH wrote:- Stabbing: takes longer to recover, and adds to fighter with Dianond Edge (others not tested)
This is me messing with it. It seemed weird to give ninja xp.
PaulH wrote:- Skill potions: drain very quickly!
So the real problem is that green stats seem to come down to their base values too quickly, right? Taking a close look at the base code, I think they do come down a bit faster in DSB... that's what I get for trying to be clever.
PaulH wrote:- Jewel Symal: not an instant AF increase, get a red stat (unlike Mace of Order for instance)
It's anti-magic, not anti-fire, but yes, this was a bug. Fixed!
PaulH wrote:- Mace of Order: gave plus 15 to strength rather than plus 5
- 2nd hand: still get stat bonuses
Oops. I'll fix it. As for getting the bonus in the second hand, some items do and some don't, and I wasn't sure which did and didn't. In DSB most items give the bonus in the off-hand, too. The mace of order isn't good for much else!
PaulH wrote:- Knights: seem slow and easy to kill.
They're the same speed as in DM, pulled straight off the encyclopedia, but DSB's clock ticks slower than RTC's... maybe this is the reason? As for being too easy to kill, part of that is probably their entire strength is based on powerful physical attacking as as you pointed out below, characters in DSB are too strong against physical attacks.
PaulH wrote:- Spiders: seem immune to warcry, do not poison.
Spiders don't poison, except in Conflux and by mistake in older versions of RTC. As for the warcry, they have a bravery of 6, which isn't all that brave, and warcrying seems to work in general, so maybe you just got some bad rolls?
PaulH wrote:- Armour: works too well! Take much less damage from all attacks than CSBWin and RTC. Can stand toe to toe with most monsters and just hack them to death.
The armor formulas are the same as CSBwin, and I can't see any difference there. In looking at it deeper, though, vitality is far too effective in preventing damage, because I seem to have forgotten the stat is 10x internally when writing that code. Significant limits and randomness are involved, so it's not as simple as being 10x more effective than it should be (and thus harder to detect), but it would nonetheless cause the damage to be lower quite often.
PaulH wrote:- Boots of Speed: felt no effect
They do work. Load up the test dungeon and you can clearly see their effect on the test character. Are you sure you're not injured, loaded, etc.?
Re: Game crashed, original DM dungeon
Posted: Tue Apr 06, 2010 12:52 am
by beowuuf
Footsteps - I'm sure I was driven mad by the single trolin footstep on level 3, because there was always one generated when you leave. Unless grates had different properties to wooden doors, then open or closed doors made no difference.
Re: Game crashed, original DM dungeon
Posted: Tue Apr 06, 2010 12:57 am
by beowuuf
And thrust is craftsmasn, but it could be one of those funny sub-skill things if its been seen earlier in a run through
And the idea of the diamond edge is probably using it with finesse (after all, it should cut through things easier narratively) hence ninja dexterity skills instead of blugeoning makes it a better weapon. Just a thought.
Oitus are really wimpy to warcries, and as said don't poison
Re: Game crashed, original DM dungeon
Posted: Tue Apr 06, 2010 1:02 am
by Lunever
Monster footsteps - would be great if you could take walls into account in some future release
Rockpiles - many players back then were - wrongly as far as i know - assuming rock piles were harder to hit when the were not attacking (opening themselves).
Since it seems logical AND Nexus actually does something similar (they use a closed state like parrying), it might be a nice tweak to actually implement this.
Diamond Edge - Please let stabbing be Ninja. According to the original game instructions lots of light blades SHOULD be ninja, but in the entire game, only one actually does. If that was to be changed, I would rather go the other way round, and make more light blades be ninja, like the rapier.
2nd hand stat bonuses - sounds reasonable so far. I hope that all kinds of weapons will be 2nd hand compatible. In RTC last state was "you can use staffs 2nd hand because Gandalf holds his Istari staff while fighting with his sword Glamdring, but the countless heroes who fight with 2 swords are from other movies so they don't count." Never sounded to logically to me.
Monster speed - Don't want to stress RTC comparisons to much, but I liked that RTC allowed to increase monster speed (although you had to raise the entire difficulty in order to play a faster game).
Weapon skills - I remember back then on Amiga, playing through DM for the first time. I noticed that Hissssa didn't get Berzerk with the Hardcleave while Stamm did, though Stamm was not the more experienced fighter. It dawned then to me, that somehow the characters were more complex than the player's eye could see directly. I thought this was awesome. I hope very very much this will be implemented in DSB.