DMJava V2.1 by Solito : a real clone now
Moderator: alandale
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
DMJava V2.1 by Solito : a real clone now
I like the DMJava version because it offers an easy way to customize the graphics of the game so I wanted DMJava to be as much as possible faithful to the original game (like the CSB version for Windows is).
I originally made this version for myself but I thought some purists may enjoy this version.
Your dungeons maps will certainly not work with this version but this version is not intended to replace the real DMJava made by Alendale.
As I said I made it for myself in the first place.
You will find a (not complete) list of the changes and a download link here :
http://solito.free.fr/games/dmjava/v2.1/
Enjoy.
Solito.
I originally made this version for myself but I thought some purists may enjoy this version.
Your dungeons maps will certainly not work with this version but this version is not intended to replace the real DMJava made by Alendale.
As I said I made it for myself in the first place.
You will find a (not complete) list of the changes and a download link here :
http://solito.free.fr/games/dmjava/v2.1/
Enjoy.
Solito.
Re: DMJava V2.1 by Solito : a real clone now
Patch 2.1-1 added (fix the ON/OFF fountain sound when reloading a saved game)
Demo files added
- surrender your possession test
- random monster generator test
http://solito.free.fr/games/dmjava/v2.1/
Demo files added
- surrender your possession test
- random monster generator test
http://solito.free.fr/games/dmjava/v2.1/
Re: DMJava V2.1 by Solito : a real clone now
I updated my web page so you can access the new version from this link too.
I will also add dungeons maps there and keep this page updated.
http://solito.free.fr/games/dmjava/
I will also add dungeons maps there and keep this page updated.
http://solito.free.fr/games/dmjava/
Re: DMJava V2.1 by Solito : a real clone now
a heinous amount of work done here, Solito. well done!
Re: DMJava V2.1 by Solito : a real clone now
Thank you,
Actually I still fix some minor things so I'll be posting the information here.
Patch 2.1-2 added :
*fix footprint on opening/concealed pit: when pit is graphically opened, footprints are not displayed
*fix footprint on changing tile: when a switch changes a tile, footprints now remain and disappear after a while
*fix death cloud on changing tile: when a switch changes a tile, death clouds remain
Actually I still fix some minor things so I'll be posting the information here.
Patch 2.1-2 added :
*fix footprint on opening/concealed pit: when pit is graphically opened, footprints are not displayed
*fix footprint on changing tile: when a switch changes a tile, footprints now remain and disappear after a while
*fix death cloud on changing tile: when a switch changes a tile, death clouds remain
Re: DMJava V2.1 by Solito : a real clone now
Just for information :
added Excel sheet and testing map for spell damage vs monsters for anyone interested in spell damage.
When testing, turn "show damage" on: the damage will display for YOUR spells only (not from launcher)
added Excel sheet and testing map for spell damage vs monsters for anyone interested in spell damage.
When testing, turn "show damage" on: the damage will display for YOUR spells only (not from launcher)
Re: DMJava V2.1 by Solito : a real clone now
Patch 2.1-3 added :
*dungeons V1.5 can be loaded
*auto-adjust Launcher power
*auto-adjust Luck (average of other stats)
*auto-adjust defense
*auto find portrait picture for mirrors if directory structure under 'Heroes' is different
*added a 'nohero.gif' file to be displayed in the mirror if no pictures can be found
Added a v1.5 map to download.
Maps can be found here (you can access patches from here too) : http://solito.free.fr/games/dmjava/
Patches can be found here : http://solito.free.fr/games/dmjava/v2.1/index.php
*dungeons V1.5 can be loaded
*auto-adjust Launcher power
*auto-adjust Luck (average of other stats)
*auto-adjust defense
*auto find portrait picture for mirrors if directory structure under 'Heroes' is different
*added a 'nohero.gif' file to be displayed in the mirror if no pictures can be found
Added a v1.5 map to download.
Maps can be found here (you can access patches from here too) : http://solito.free.fr/games/dmjava/
Patches can be found here : http://solito.free.fr/games/dmjava/v2.1/index.php
- Gambit37
- Should eat more pies
- Posts: 13766
- Joined: Wed May 31, 2000 1:57 pm
- Location: Location, Location
- Contact:
Re: DMJava V2.1 by Solito : a real clone now
This looks very impressive!! I didn't get into the original DM Java (for all the reasons that you said yourself), so when I get some free time, I'll give this a go. Well done on getting all this work done, it must have taken ages!
Re: DMJava V2.1 by Solito : a real clone now
HeroData.class added (This file required Patch 2.1-3)
When a picture file of an hero (mirror) cannot be found, the Editor searches for a matching filename in the sub-directories of "Heroes" .
When found it is displayed correctly in the Editor but it wasn't saved properly so no image was displayed in the game.
Fixed.
When a picture file of an hero (mirror) cannot be found, the Editor searches for a matching filename in the sub-directories of "Heroes" .
When found it is displayed correctly in the Editor but it wasn't saved properly so no image was displayed in the game.
Fixed.
Re: DMJava V2.1 by Solito : a real clone now
I can't get this program to run. I have all updates and downloaded the java too. The startup files have been changed to show the correct location of the java directory as well. My question is why can't you make this work for any version of Java other than the one? I'm not a programmer so please forgive me if it's an obvious answer. Thanks for your time!
Re: DMJava V2.1 by Solito : a real clone now
Runs fine even on my evil notebook. And yes, that's another impressive work!
(First screamers are pretty tough, aren't they
)
(First screamers are pretty tough, aren't they

Re: DMJava V2.1 by Solito : a real clone now
All patches (except the one below) have been merged into the main download. (the patch links are now disabled)
New bug fix: DMMap.class
Sometimes, the map did not display at all.
http://solito.free.fr/
New bug fix: DMMap.class
Sometimes, the map did not display at all.
http://solito.free.fr/
Re: DMJava V2.1 by Solito : a real clone now
Update:
2011-06-06: All patches merged into the main download.
2011-06-06: All patches merged into the main download.
Re: DMJava V2.1 by Solito : a real clone now
Let me know what you think of this version and/or if you find any bugs.
It would also be nice to see new dungeons created with the new features of v2.1!
Cheers.
It would also be nice to see new dungeons created with the new features of v2.1!
Cheers.
Re: DMJava V2.1 by Solito : a real clone now
Patch 2.1-5 added :
*some minor adjustments to reveal item stats based on the Identify priest skill
http://solito.free.fr/games/dmjava/v2.1/
Dungeon maps bug fix :
dmorig21.dat and dmjava21.dat had both a wrong switch on level 7.
Fixed maps are available for download here : http://solito.free.fr/games/dmjava/
*some minor adjustments to reveal item stats based on the Identify priest skill
http://solito.free.fr/games/dmjava/v2.1/
Dungeon maps bug fix :
dmorig21.dat and dmjava21.dat had both a wrong switch on level 7.
Fixed maps are available for download here : http://solito.free.fr/games/dmjava/
Re: DMJava V2.1 by Solito : a real clone now
Screen shots added for patch2.1-5
http://solito.free.fr/games/dmjava/v2.1/#addedthings
http://solito.free.fr/games/dmjava/v2.1/#addedthings
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: DMJava V2.1 by Solito : a real clone now
Wow! The two of you have created an amazing
piece of software. I am downloading it now.
It is bigger than CSBwin.
piece of software. I am downloading it now.
It is bigger than CSBwin.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: DMJava V2.1 by Solito : a real clone now
Got it.....works great.
Here is the Java runtime that I have
(build 1.6.0_20-b02)
So far it seems OK. I entered the DM dungeon,
reincarnated Tiggy, and killed my first Screamer.
Here is the Java runtime that I have
(build 1.6.0_20-b02)
So far it seems OK. I entered the DM dungeon,
reincarnated Tiggy, and killed my first Screamer.
Re: DMJava V2.1 by Solito : a real clone now
Patch 2.1-6 added :
*Potion spells power now depend on hero wisdom for DMJava Rules ONLY (not original DM)
*(higher skilled priests make more powerful potions now)
*(Because in DMJava rules, monsters have more deadly spells, this will better balance the game)
*Potion spells power now depend on hero wisdom for DMJava Rules ONLY (not original DM)
*(higher skilled priests make more powerful potions now)
*(Because in DMJava rules, monsters have more deadly spells, this will better balance the game)
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: DMJava V2.1 by Solito : a real clone now
Some weirdnesses:
The 4-packs of Screamers on level 1 are split into 4 separate tiles.
The Screamers are very reluctant to move and attack.
I am generally able to camp and sleep on an immediately
adjacent diagonal cell without being attacked.
The mummies tend to stay on the far side of their
tile (away from me). It felt strange but doesn't
affect play as far as I can tell.
The 4-packs of Screamers on level 1 are split into 4 separate tiles.
The Screamers are very reluctant to move and attack.
I am generally able to camp and sleep on an immediately
adjacent diagonal cell without being attacked.
The mummies tend to stay on the far side of their
tile (away from me). It felt strange but doesn't
affect play as far as I can tell.
Re: DMJava V2.1 by Solito : a real clone now
I think DMJava exagerated some of the AI (like screamers being slow and plant-like) and also there are some odd behaviours with creatures splitting up. RTC took a number of iterations to get the seperation and combining of monsters feeling right. I think mummies hanging back on the rear tile are a hold over from this.
I could be wrong on both counts, of course!
I could be wrong on both counts, of course!
Re: DMJava V2.1 by Solito : a real clone now
Group of monsters is not handled in DMJava, so a mummy can end up on the same square with a screamer.
About screamers not attacking: screamers have the lowest sight and awareness range (only 1 square!) and they cannot see in darkness.
A screamer can see the party if there is only 1 empty square between you and the screamer and when the dungeon is fully lit.
Sight range of monsters decreases when it's darker (except if they have the ability to see in darkness, like mummies).
Darker in DMJava means less than 255, so in that case the sight range of a screamer will drop to 0... that means if you are not on the next square of a screamer, it won't see the party. On top of that, screamers move extremely slowly so I'm not surprised that you do not get attacked while sleeping around screamers.
I know this is weird and I probably miss-interpreted how sight range is handled in that very case, maybe sight range should never drop below 1, but I did not notice anything like that in the code of CSBwin...
By the way, the AI in my version of DMJava (v 2.1) is quite different from the original version of Alendale.
About screamers not attacking: screamers have the lowest sight and awareness range (only 1 square!) and they cannot see in darkness.
A screamer can see the party if there is only 1 empty square between you and the screamer and when the dungeon is fully lit.
Sight range of monsters decreases when it's darker (except if they have the ability to see in darkness, like mummies).
Darker in DMJava means less than 255, so in that case the sight range of a screamer will drop to 0... that means if you are not on the next square of a screamer, it won't see the party. On top of that, screamers move extremely slowly so I'm not surprised that you do not get attacked while sleeping around screamers.
I know this is weird and I probably miss-interpreted how sight range is handled in that very case, maybe sight range should never drop below 1, but I did not notice anything like that in the code of CSBwin...
By the way, the AI in my version of DMJava (v 2.1) is quite different from the original version of Alendale.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: DMJava V2.1 by Solito : a real clone now
You'd be pretty clever to find anything ofI did not notice anything like that in the code of CSBwin
value in the CSBwin AI code. I never did.
Re: DMJava V2.1 by Solito : a real clone now
Tons of variable tracing into dump files...
Tons of tests in DMJava...
Too much time away from wife... I'm not that clever!
Tons of tests in DMJava...
Too much time away from wife... I'm not that clever!
Re: DMJava V2.1 by Solito : a real clone now
Ohh I thought you meant the CSBwin code.
Indeed the CSBwin AI code is pretty much obscure.
Indeed the CSBwin AI code is pretty much obscure.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: DMJava V2.1 by Solito : a real clone now
And you should see the original if you think today'sIndeed the CSBwin AI code is pretty much obscure
version is bad.
- Lord_BoNes
- Jack of all trades
- Posts: 1064
- Joined: Mon Dec 01, 2008 12:36 pm
- Location: Ararat, Australia.
Re: DMJava V2.1 by Solito : a real clone now
I've noticed in your list of changes that you "auto-adjust luck" (based on other stats).
Could "luck" just be based off of strength + (dexterity * 2) (maybe with a little wisdom in there)? This way, if a character suddenly becomes slowed (-dex), then the chance that they'll critical hit is lowered (they'd be swinging weapons slower, less likely to hit the "sweet spot")... the same could be said for weakened characters (-str).
When it comes to screamers that can't see... I honestly think that a screamer should see in the dark (they don't have any eyes... so they must use "tremor-sense" or something like that).
And I'd definately say that there should be a minimum cap on sight-range (so it can't go below 1)... or you could just make it so that they still will act like they have 1, but the further they go below 1, the less chance of moving to intercept/attack a target.
Could "luck" just be based off of strength + (dexterity * 2) (maybe with a little wisdom in there)? This way, if a character suddenly becomes slowed (-dex), then the chance that they'll critical hit is lowered (they'd be swinging weapons slower, less likely to hit the "sweet spot")... the same could be said for weakened characters (-str).
When it comes to screamers that can't see... I honestly think that a screamer should see in the dark (they don't have any eyes... so they must use "tremor-sense" or something like that).
And I'd definately say that there should be a minimum cap on sight-range (so it can't go below 1)... or you could just make it so that they still will act like they have 1, but the further they go below 1, the less chance of moving to intercept/attack a target.

1 death is a tragedy,
10,000,000 deaths is a statistic.
- Joseph Stalin
Check out my Return to Chaos dungeon launcher
And my Dungeon Master Clone
Re: DMJava V2.1 by Solito : a real clone now
I miss-explained myself, the editor from patch 2.1-3 creates v2.1 variables that did not exist in v1.5 (ex.: Luck)
Auto-adjust luck (that means, create a missing stat: luck):
*When opening a v1.5 map, the editor creates luck for all heroes (mirrors) in the dungeon.
While in-game, luck influences actions.
Here is the DMJava function that returns 1 (hero is lucky) or 0 (hero is unlucky)
This function is called by several other functions (attack, picklock, cast spell, etc.)
If hero is unlucky, Luck is boosted, you get the idea...
(sorry for the indentation)
public int TAG016476 (int luckNeeded)
{
int D7W,D0W;
if ( Formulas.STRandomBool()==1 && (Formulas.STRandom(100) > luckNeeded) )
{
return 1;
}
if (this.aCurrent(dmnew.H_LUCK) == 0) D0W = 0;
else D0W = Formulas.STRandom(this.aCurrent(dmnew.H_LUCK));
if (D0W > luckNeeded) D7W = 1; else D7W = 0;
D0W = Formulas.ApplyLimits(
this.hstatmin[dmnew.H_LUCK],
this.aCurrent(dmnew.H_LUCK) + ((D7W==0) ? 2 : -2),
this.aMaximum(dmnew.H_LUCK));
this.hstatboost[dmnew.H_LUCK]=D0W-this.hstat[dmnew.H_LUCK];
return D7W;
}
Screamers : from the dump file of CSBwin AND from dmweb.free.fr, screamers do NOT have night vision.
(Of course, all stats are adjustable in the editor.)
Auto-adjust luck (that means, create a missing stat: luck):
*When opening a v1.5 map, the editor creates luck for all heroes (mirrors) in the dungeon.
While in-game, luck influences actions.
Here is the DMJava function that returns 1 (hero is lucky) or 0 (hero is unlucky)
This function is called by several other functions (attack, picklock, cast spell, etc.)
If hero is unlucky, Luck is boosted, you get the idea...
(sorry for the indentation)
public int TAG016476 (int luckNeeded)
{
int D7W,D0W;
if ( Formulas.STRandomBool()==1 && (Formulas.STRandom(100) > luckNeeded) )
{
return 1;
}
if (this.aCurrent(dmnew.H_LUCK) == 0) D0W = 0;
else D0W = Formulas.STRandom(this.aCurrent(dmnew.H_LUCK));
if (D0W > luckNeeded) D7W = 1; else D7W = 0;
D0W = Formulas.ApplyLimits(
this.hstatmin[dmnew.H_LUCK],
this.aCurrent(dmnew.H_LUCK) + ((D7W==0) ? 2 : -2),
this.aMaximum(dmnew.H_LUCK));
this.hstatboost[dmnew.H_LUCK]=D0W-this.hstat[dmnew.H_LUCK];
return D7W;
}
Screamers : from the dump file of CSBwin AND from dmweb.free.fr, screamers do NOT have night vision.
(Of course, all stats are adjustable in the editor.)