Emerald Mine Club - no such thing as wrap-around movement?
Moderators: Flumminator, Zomis
One of my primary points was that the best-designed levels (the classics) can actually withstand changes to the engine.
Nevermind that though, I give up; now going back to pure Boulder Dash and levels created from within RnD.
You won.
Nevermind that though, I give up; now going back to pure Boulder Dash and levels created from within RnD.
You won.
Those who can't learn will teach; those who can't teach will learn.
If you think that you are not credited properly for your valuable contribution to R'n'D at the moment, and how it should be done instead, please let me know. (Here in the forum, or by private e-mail, as you prefer.)dave wrote:this is why i want to be credited properly.
I have to defend Diamonds Caves a little bit here: I think it is a very good clone which plays pure Emerald Mine levels quite nicely. I also don't think that differences in behaviour you mentioned above (collecting falling gems) are a "fatal flaw", as this only makes a minority of levels a little bit easier to play (sort of "cheating", if you like). IMHO, a "fatal flaw" is an engine difference that makes a majority of levels completely unplayable/unsolvable.i played diamond caves when it first came out, (when i still had my amiga :-) and it is not a perfect clone. iirc you could collect emeralds and diamonds as they fell, which is a fatal flaw in any emulation of emerald mine.
Yep, that's what I expected. To those who may now think "Well, writing a highly compatible game engine in a certain language if you have a perfectly compatible (original) version of the exact same game engine in the exact same language should be a reachable goal.", I have to tell that it's easy to disassemble a program, but quite hard work to make sense of it, with no variable names and functions and all (just to name a few things). Everybody who has ever seen (not even to talk of modified, re-assembled and successfully run again) a disassembled binary program will agree here.i disassembled original kingsoft emerald mine, and re-wrote it from scratch in assembly for the amiga.
IMHO, the most important part was to translate the engine to C, which made it available to all modern systems, not only antique Amiga systems. I cannot emphasize enough how much I appreciate this!
Yes. But I think it wouldn't have been possible to reach the same agree of compatibility without the analysis of the disassembly (but by only looking closely at the running game engine, as it may have been the case with Diamond Caves).so to answer your question, no it is not based on disassembly, it is written and re-written three times, in c, entirely from scratch.
About the new Supaplex engine:
Yes, that's right. The Supaplex engine indeed has this "problem" -- you can create levels that cause access to non-playfield memory, and quite a number of levels make (ab-)use of this, so just preventing off-playfield access (like it is done in the R'n'D engine) would cause a number of levels to be unplayable/unsolvable. To find correctly working solutions for such special cases is a good part of integrating such a native engine that originally ran in a non-memory-protection, non-multitasking environment.(i am skeptical of this. you have very different programming langauges and runtime environments. if the original code relys on such things you will have a hard time emulating it. for example in emerald mine to be 100% compatible would require the amiga ROM because it is used for random numbers. another problem is code that examines uninitialized memory (see level 80, in both ruppelmine 4 & 5).
Yes, it is. (In a similar sense that Diamond Caves is Emerald Mine compatible, although Diamond Caves beats R'n'D here, I think.)yet you, and others, continue to say its 'partially' compatible with emerald mine.
Yes, it's not generally Emerald Mine Club engine compatible.try 99.8% incompatible (100 em levels shipped with rnd divided by 50 000 total).
(On a side note: I added those additional EMC game elements to the R'n'D engine not to play native EMC levels in the R'n'D engine, but to be able to create or modify EMC style levels, as R'n'D internally uses R'n'D engine elements also for levels designed to be played with a native game engine before they are played with that engine. To get a seamless integration without people wondering why certain elements do nothing when played with the R'n'D engine, I added some similar functionality to those EMC elements also in the R'n'D game engine, which may be only slightly compatible with the original. After all, it's no coincidence that all levels from that huge EMC collection are played with the EMC engine by default, and not with the R'n'D engine, although this can be changed in the level editor if somebody wants to see how a certain level plays with the R'n'D engine. But it shouldn't be forgotten that the R'n'D engine wasn't created to play all EM/EMC levels, but to play R'n'D levels.)
Interestingly, this is right. Most of the classic original levels are not only well-designed regarding fun and playability, but also in a surprisingly engine-robust way, which means that most of these levels do not require frame-exact timing or make use of ultra-specific engine details -- something which cannot be said for quite a number of the EMC levels, or some of the additional, player-designed Supaplex levels, where in both cases special/strange engine behaviour was used to make levels especially tricky, which unfortunately does not always add to the fun and playability for those players who don't have this inside know-how about the engines.RTADash wrote:One of my primary points was that the best-designed levels (the classics) can actually withstand changes to the engine.
As a result, the classic original Emerald Mine levels can also be played nicely with game engines like Diamond Caves or R'n'D, which in fact are not perfectly Emerald Mine compatible, while many of the EMC levels need a much higher compatible game engine to be played.
It's interesting to see that the above not only seems to be true for only the Emerald Mine engine, but also the Supaplex and Boulder Dash game engine. Apparently these original levels focussed on different game aspects that bashing the engine to the limits! ;-)On a side note, I feel the need to mention that 99/100 of the original Boulder Dash levels and 110/111 of the original Supaplex levels are also solvable under the RnD engine.
Don't know why, but when I worked on the EMC engine integration, everybody and his dog asked for the native Supaplex engine. Since I work on it, I got quite an amount of requests and questions regarding the native BD engine! :-)I personally am very interested to see how the BD engine will turn out, with that classic being my forte of the three.
BTW1: The code for that BD engine (which is said to be highly, if not perfectly compatible) is already waiting to be integrated. It's just a matter of free time for coding, instead of writing forum posts. ;-P
BTW2: When that BD engine is done one day, I also have a collection of around 550 classic (from C64 times) player-created BD level sets available for it... :-)
like i said back in september, follow the license:Holger wrote:If you think that you are not credited properly for your valuable contribution to R'n'D at the moment, and how it should be done instead, please let me know. (Here in the forum, or by private e-mail, as you prefer.)dave wrote:this is why i want to be credited properly.
All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by David Tritscher.
but not perfect like you claimI have to defend Diamonds Caves a little bit here: I think it is a very goodi played diamond caves when it first came out, and it is not a perfect clone. iirc you could collect emeralds and diamonds as they fell, which is a fatal flaw in any emulation of emerald mine.
you say that because diamond caves and your 99% incompatible game has these bugs.clone which plays pure Emerald Mine levels quite nicely. I also don't think that differences in behaviour you mentioned above (collecting falling gems) are a "fatal flaw", as this only makes a minority of levels a little bit easier to play (sort of "cheating", if you like). IMHO, a "fatal flaw" is an engine difference that makes a majority of levels completely unplayable/unsolvable.
collecting emeralds while they fall, and surviving being hit by a bomb are indeed fatal flaws:
* no emerald mine game has ever allowed it
* it violates the basic rules of the game: http://www.lemonamiga.com/games/docs.php?id=557 line 120: "... they kill a player when falling upon him."
the computer program follows the rules of the game. it is not subject to the levels.
see the mess you get when you ignore that: viewtopic.php?t=651
here we see an unmistakable cone of ignorance.Yep, that's what I expected. To those who may now think "Well, writing a highly compatible game engine in a certain language if you have a perfectly compatible (original) version of the exact same game engine in the exact same language should be a reachable goal.", I have to tell that it's easy to disassemble a program, but quite hard work to make sense of it, with no variable names and functions and all (just to name a few things). Everybody who has ever seen (not even to talk of modified, re-assembled and successfully run again) a disassembled binary program will agree here.i disassembled original kingsoft emerald mine, and re-wrote it from scratch in assembly for the amiga.
IMHO, the most important part was to translate the engine to C, which made it available to all modern systems, not only antique Amiga systems.
as it may have been the case with rocks'n'diamonds.I cannot emphasize enough how much I appreciate this!Yes. But I think it wouldn't have been possible to reach the same agree of compatibility without the analysis of the disassembly (but by only looking closely at the running game engine, as it may have been the case with Diamond Caves).so to answer your question, no it is not based on disassembly, it is written and re-written three times, in c, entirely from scratch.
i guess what you say is true for diamond caves and your game, but not mine :-)
About the new Supaplex engine:
Yes, that's right. The Supaplex engine indeed has this "problem" -- you can create levels that cause access to non-playfield memory, and quite a number of levels make (ab-)use of this, so just preventing off-playfield access (like it is done in the R'n'D engine) would cause a number of levels to be unplayable/unsolvable. To find correctly working solutions for such special cases is a good part of integrating such a native engine that originally ran in a non-memory-protection, non-multitasking environment.
again, not 100% compatible like you claim.This second native game engine is indeed 100% compatible with the original game engine
oh i think i get it. when you say 'emerald mine' you mean only the very first emerald mine game released by kingsoft.Yes, it is. (In a similar sense that Diamond Caves is Emerald Mine compatible, although Diamond Caves beats R'n'D here, I think.)yet you, and others, continue to say its 'partially' compatible with emerald mine.
so you have written an engine designed specifically to play those levels, and no more! it is 100% compatible with 0.2% of the total levels!
ah it makes sense now. thats why it is such a poor clone!
ps. what about the 2 sequels from kingsoft? do they count as 'emerald mine' ?
you designed your engine to specifically play the 100 original kingsoft levels and you say its still not compatible?As a result, the classic original Emerald Mine levels can also be played nicely with game engines like Diamond Caves or R'n'D, which in fact are not perfectly Emerald Mine compatible
I know I said that I gave up, but one more thing that you still don't get:dave wrote:you designed your engine to specifically play the 100 original kingsoft levels and you say its still not compatible?
The RnD engine was NOT designed to play Emerald Mine levels!
Just because at least one EM level works under RnD, doesn't mean that was his sole intention.
And, the Emerald Mine Engine is still clearly not finished nor will it ever likely be pinpoint perfect, especially when there's more interest in hounding him and not the slightest hint of any interest whatsoever in actually being constructive and helping him.
Now I give up, big time.
Whoops, did I just post all that?Holger wrote:Thank you. This last post has finally answered all remaining questions, and brought the discussion to a good end.

Those who can't learn will teach; those who can't teach will learn.
it was designed to play the original kingsoft emerald mine 1 levels, but no others :-) the proof is in the rocksndiamonds zip file; it includes the original kingsoft emerald mine 1 levels. it would be pretty dumb to distribute levels with a program that cant play them :-)RTADash wrote:The RnD engine was NOT designed to play Emerald Mine levels!
I'm guessing you've caught on to the fact that I haven't really been angry this whole time
- I tend to overreact/exaggerate, etc.
Anyway, I think then that the same could be said about Boulder Dash 1, Original Supaplex, and Sokoban. All of those classic elements are included also and two of those sets actually have an unsolvable level. I primarily play RnD for these levels, though.
Nevertheless, though, I'm willing to put this to rest too as Holger did, sorry for dragging it on

Anyway, I think then that the same could be said about Boulder Dash 1, Original Supaplex, and Sokoban. All of those classic elements are included also and two of those sets actually have an unsolvable level. I primarily play RnD for these levels, though.
Nevertheless, though, I'm willing to put this to rest too as Holger did, sorry for dragging it on
Those who can't learn will teach; those who can't teach will learn.
what an odd thing to say.RTADash wrote: And, the Emerald Mine Engine is still clearly not finished nor will it ever likely be pinpoint perfect, especially when there's more interest in hounding him and not the slightest hint of any interest whatsoever in actually being constructive and helping him.
from the start i have said Emerald Mine for X11 http://www.emeraldmines.net/?emeraldx11 has implemented wrap-around. FYI Emerald Mine for X11 is the engine used in rnd. i even gave instructions on how to use it viewtopic.php?p=12629#12629 . (as long as i am credited properly, and it is not changed).
the rest is correcting his ignorance of my software and emerald mine in general.
you're right, i dont get this.Holger wrote:RnD is partially compatible with Emerald MineRTADash wrote:The RnD engine was NOT designed to play Emerald Mine levels!
in order to be 'any' compatible, you would need to have some things in common between rnd & emerald mine.
but then you say its not designed like that, so things arent in common between rnd & emerald mine.
how can both claims be true?
Delayed reaction a bit?
Just because the original emerald mine levels work in RnD doesn't mean it was tailor-made from them. Is every cave game engine supposed to have absolutely not a single thing in common with any other engine? I didn't think so.
Similarities and compatibilities between engines will arise without being forced. It's inevitable, and that is an observation made by my own eyes, not a random claim.
I don't have much left to argue - I acknowledge that you and Holger are more experienced in the programming aspect of things, and feel it would be best to step out of this. If you have any more items from past posts to object to, I'll be more than glad to attempt to hold my ground, but I'm getting further out of my league and really have nothing more that I can support without being a programmer myself. (I'm but a designer who works with what tools are handed to me)
Just because the original emerald mine levels work in RnD doesn't mean it was tailor-made from them. Is every cave game engine supposed to have absolutely not a single thing in common with any other engine? I didn't think so.

I don't have much left to argue - I acknowledge that you and Holger are more experienced in the programming aspect of things, and feel it would be best to step out of this. If you have any more items from past posts to object to, I'll be more than glad to attempt to hold my ground, but I'm getting further out of my league and really have nothing more that I can support without being a programmer myself. (I'm but a designer who works with what tools are handed to me)
Those who can't learn will teach; those who can't teach will learn.
im not sure what makes you an expert on this topic (cut&paste sourcecode?) but dont take my word for it:Holger wrote:I also don't think that differences in behaviour you mentioned above (collecting falling gems) are a "fatal flaw", as this only makes a minority of levels a little bit easier to play (sort of "cheating", if you like). IMHO, a "fatal flaw" is an engine difference that makes a majority of levels completely unplayable/unsolvable.
http://www.bd-fans.com/Interviews.html
Which Boulder Dash game or clone do you prefer?
[...] There are some Boulder Dash clones which have been done very horribly, for example the Gameboy and the Amiga version. In one version the butterflies explode too high when they touch an amoeba and in another version they explode too low. Or you can collect diamonds while they are falling down. That's not what I call Boulder Dash. Furthermore I don't like it when the charsets are changed in a way that it is difficult to recognize the elements. I like to play Boulder Dash with its original charset.