Hi,
I've been browsing this site and the Dunegon Master Encyclopaedia for a while and there are quite a lot of articles on the file formats and technical details of DM and CSB. What I could not find is some kind of description of the actual game engine, how the game does it's game loop, how the creatures are moved and so on. Did I miss something or does everyone just analyse the CSBwin sourcecode (which is a bit confusing in my opinion)?
While working on my own little DM engine I came across a few things I could not find anywhere.
like...
- how is the damage of thrown items calculated?
- how is the speed of some creatures measured?
- where is the damage value for the different kinds of doors?
- what about these "random wall decorations", how are they distributed among the maps? since every dungeon has a specific random seed, these decos are not truely random (= different every time you start a new game), right?
In the tech docu of the DM Encyclopaedia there is a file description of "item 559".
This item contains (among other things) the weight of each item in the game and the value of the food items.
But it says there that item 559 is only present in some DM versions so where is the weight stored in all the other versions?
Maybe I just missed something so thank you in advance for pointing me in the right direction...
bye,
Peter
Dungeon Master game engine
Moderator: Ameena
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
- ChristopheF
- Encyclopedist
- Posts: 1540
- Joined: Sun Oct 24, 1999 2:36 pm
- Location: France
- Contact:
Re: Dungeon Master game engine
Items 558-562 are only present and used in the graphics.dat file of Atari ST versions.
In all other versions of the game, the data is stored directly in the executable file. The exact data format and layout is different in each version (this is confirmed for the PC version for example, there is an Excel spreadsheet on the site showing the layout for this version). Also, most (all?) of the coordinates in item 558 are stored in another completely different format in item 696 in some 3.x versions.
Note that items 558-562 are also found in DM Amiga 2.0 EN, but they are not used at all: the 'real' data is in the executable, just like in all other Amiga versions. It looks like they just forgot to remove these items from the graphics.dat file when porting the game from Atari ST to Amiga.
Regarding your other questions, I can't give answers right now. Someday I will, as I've been studying the game engine for a long time and I intend to document as much as possible on the web site. Don't hold your breath as this won't occur before at least one more year minimum.
In all other versions of the game, the data is stored directly in the executable file. The exact data format and layout is different in each version (this is confirmed for the PC version for example, there is an Excel spreadsheet on the site showing the layout for this version). Also, most (all?) of the coordinates in item 558 are stored in another completely different format in item 696 in some 3.x versions.
Note that items 558-562 are also found in DM Amiga 2.0 EN, but they are not used at all: the 'real' data is in the executable, just like in all other Amiga versions. It looks like they just forgot to remove these items from the graphics.dat file when porting the game from Atari ST to Amiga.
Regarding your other questions, I can't give answers right now. Someday I will, as I've been studying the game engine for a long time and I intend to document as much as possible on the web site. Don't hold your breath as this won't occur before at least one more year minimum.
Christophe - Dungeon Master Encyclopaedia
Re: Dungeon Master game engine
From playing, I believe that the random decorations are the same each time you play the same dungeon under the same engine. Others can confirm, of course. So whatever the seed is, it must be something to do with the dungeon itself and engine, not a random roll.
Re: Dungeon Master game engine
maybe you find something here:
http://www.dianneandpaul.net/CSBwin/documentation/
http://www.dianneandpaul.net/CSBwin/documentation/
Re: Dungeon Master game engine
Thanks for the link to the CSBwin documentation, there seems to be a lot worth reading there, I will take a look.
Regarding the random decorations: A random seed is a number to initialize a random number generator (because computers can not generate true random numbers). So if the seed is the same, the random numbers will be the same every time. My guess is that FTL used this to save some disk space, instead of saving the decoration for each wall they just "created" them each time you start a new game.
Anyway, thanks for the quick help
bye,
Peter
Regarding the random decorations: A random seed is a number to initialize a random number generator (because computers can not generate true random numbers). So if the seed is the same, the random numbers will be the same every time. My guess is that FTL used this to save some disk space, instead of saving the decoration for each wall they just "created" them each time you start a new game.
Anyway, thanks for the quick help
bye,
Peter
- Paul Stevens
- CSBwin Guru
- Posts: 4318
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: Dungeon Master game engine
Nope...No random numbers are involved. No seeds, etc.
See the function "RandomWallDecoration".
Placement of these decorations is based entirely
on the coordinates of the wall. A hash function
which (essentially) computes a random number given
the coordinates as the 'seed'.
Therefore the same for all dungeons and engines.
See the function "RandomWallDecoration".
Placement of these decorations is based entirely
on the coordinates of the wall. A hash function
which (essentially) computes a random number given
the coordinates as the 'seed'.
Therefore the same for all dungeons and engines.