Game crashed, original DM dungeon

This forum is for the Lua scriptable clone of DM/CSB called Dungeon Strikes Back by Sophia. Use DSB to build your own highly customised games.

Moderator: Sophia

Forum rules
Please read the Forum rules and policies before posting.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Game crashed, original DM dungeon

Post 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]
@@@@@@
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post by PaulH »

5,28,20. one of the two adjacent triggers.
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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. :D
User avatar
ian_scho
High Lord
Posts: 2806
Joined: Fri Apr 07, 2006 8:30 am
Location: Zaragoza, Spain

Re: Game crashed, original DM dungeon

Post 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. :D
Really?! I never knew you could do this. That's really cool.
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post 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.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post 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!
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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.
User avatar
ian_scho
High Lord
Posts: 2806
Joined: Fri Apr 07, 2006 8:30 am
Location: Zaragoza, Spain

Re: Game crashed, original DM dungeon

Post by ian_scho »

Does noone else find these on-the-fly fixes just amazing?! :)
And keep up the good work Paul!
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Game crashed, original DM dungeon

Post by beowuuf »

Perhaps we expect nothing less than amazing with lua and DSB :)
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post by PaulH »

Review coming up shortly! Got quite a few notes!
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post 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]
@@@@@@
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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:

Code: Select all

snd.explode = snd.explosion
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post by PaulH »

It worked...

But the firestaff did not change into the one with the gem.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post by PaulH »

Is it dead then?!
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post by PaulH »

Cool!

You are gonna love my list when I have finished lol!
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post 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]
@@@@@@
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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?
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post 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 ;-)
User avatar
ian_scho
High Lord
Posts: 2806
Joined: Fri Apr 07, 2006 8:30 am
Location: Zaragoza, Spain

Re: Game crashed, original DM dungeon

Post by ian_scho »

I'll say it again. I'm really happy that someone has stressed tested the engine :)
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post by Sophia »

Me too!

It's difficult to nail down all of those little cases that can go wrong, so this has helped greatly.
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post by PaulH »

Ok, next ;-)

When surrounded by fluxcages and fused, he simply transports away. Can't get him!
User avatar
PaulH
Ghastly gastropod
Posts: 3763
Joined: Wed Aug 07, 2002 10:27 pm
Location: Level 6

Re: Game crashed, original DM dungeon

Post 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.
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Re: Game crashed, original DM dungeon

Post by Lunever »

2nd hand: still get stat bonuses

Please leave it that way.
Parting is all we know from Heaven, and all we need of hell.
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Re: Game crashed, original DM dungeon

Post 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. :P
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.?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Game crashed, original DM dungeon

Post 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.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Re: Game crashed, original DM dungeon

Post 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
User avatar
Lunever
Grand Druid
Posts: 2712
Joined: Thu Feb 14, 2002 4:47 pm

Re: Game crashed, original DM dungeon

Post 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.
Parting is all we know from Heaven, and all we need of hell.
Post Reply