GDash new port

New game releases, new tools, website updates, ...

Moderator: Admin

User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

CWS wrote:A big question remains: if the magic milling time 0 is treated as the GDash default value 999 - does any game need 0 as no time intentionally? If yes, an option in the prefs to treat 0 as 999 would be the better way.
I have definitely made caves in my GDash games with magic wall time 0 (1 frame) on purpose!
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

CWS wrote:Just tried CLCK 3.0. With that Construction Kit milling time 000 really mean 0 and not infinite. I think it only behaves invinite with 0 in BD1, maybe in BD2, and PLCK?
I'm not sure about that, but many of the flawed caves are PLCK caves, so I think it may be as you say.
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
CWS
Member
Posts: 453
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Re: GDash new port

Post by CWS »

I found my old cave disk for my CWS Boulder 2 and loaded the Intermission 2 cave with CLCK 3.0. I found out that Milling Time 000 does not really mean 0 but about 1 second n Boulder Dash time. Can somebody check what that really does?
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

I'm not 100% sure, but I think that in CLCK, the milling time is always rounded up so it's synchronized with the cave timer. So if the milling time is zero and you start the magic wall in the middle of a second on the cave timer, the magic wall will run until the timer hits the next second.

So in your cave CWS2 int2, you intentionally set the timer to zero in CLCK?
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
CWS
Member
Posts: 453
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Re: GDash new port

Post by CWS »

Yes, intentional. In CLCK 3.0 the milling time 000 is just enough to convert all 4 diamonds at once.
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

So this would mean that the magic wall works for 4 frames. Is this always the case, no matter when you start the conversion? I thought it might depend on the cave timer. Does the magic wall always stop when the timer hits a new second, or can it also stop in the middle of a second?
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
CWS
Member
Posts: 453
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Re: GDash new port

Post by CWS »

Directly in CLCK 3.0 if I test the cave:
If I do not remove dirt under the 4-part-magic wall, the magic wall immediately stops after the last of the 4 diamonds falls into the wall. Immediately.

If I remove the dirt and then convert the 4 diamonds, the wall is still active after the conversion for another 0.5 seconds or so.

But just try it yourself in CLCK 3.0. Download it from Marek's site, just make a 4-part-magic wall and 4 diamonds above and milling time at 000. You will see by yourself.
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

OK, so this means that the magic wall timer does depend on the cave timer (or other issues, but I think it's the cave timer).

Is it also possible, with any timing, that the magic wall works for less than 4 frames? So that not all of the four diamonds convert into bflies?
Is it maybe even possible that with some timing, the magic wall works only for one frame?
And: If you watch the cave timer after starting the magic wall, does the magic wall always stop when the timer hits a new second? Or is there any other connection?

I think that finding out about how the magic wall timer works on the different BD engines is a crucial point to fix the bug.I can also check it by myself, of course, but I've got some points on my GDash Todo list already :D

My hypothesis so far is that the MW timer in CLCK 3.0 works such that the timer works for as many seconds as set, plus the rest of the second until the cave timer hits the next second. (If I recall correctly, this is also the case in Boulder Remake!)

Maybe we should just ask Logic DeLuxe how he programmed it :D

But in any case, it's already clear that there are issues with the MW timer which aren't yet programmed in GDash. In GDash, the magic wall timer works completely independant of the cave timer. Confirmed by 20 years of experience :D
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
CWS
Member
Posts: 453
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Re: GDash new port

Post by CWS »

Oh, thats all hard to explain. I would recommend to download CLCK 3.0 and see for yourself.
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

Alright, one more point on my Todo list :D
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
zsom
Member
Posts: 85
Joined: Sat Apr 10, 2010 5:46 am

Re: GDash new port

Post by zsom »

Yes, the magic wall in CLCK can make 4 diamonds out of stones for 0 seconds / I checked on Vice emulator/, and Gdash only 1 diamond.
That's why CWS your intermission2 is impossible to pass in Gdash.
User avatar
CWS
Member
Posts: 453
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Re: GDash new port

Post by CWS »

So the best solution would be if 0 means until the next second begins
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

CWS wrote: So the best solution would be if 0 means until the next second begins
This would fix your cave but not the many other caves where 0 should actually mean infinity. (All these caves would then have to be fixed by hand, and also every time a new fangame is added, it would have to be checked cave by cave...) Also, I have made a few caves for GDash where it's important that 0 really means one single frame and no more.

For the moment, I think it would make sense to add two options to the magic wall timer setting:
1. "Treat 0 as infinity on/off" where the default setting is "ON". Then we would have to re-fix a few caves where 0 was really set on purpose, but this would be far less work than vice versa.
2. "Synchronize magic wall timer with cave timer on/off".

Then, for example, in your cave, the first option could be "off" and the second "on" and it works as intended, and in caves which were made for GDash (such as mine) both settings could just be "off" and everything works as before. For the dozens of buggy fancaves where the magic wall timer was meant to be infinity but mistranslated to 0, it would mean that these caves would automatically be fixed and a lot of boring "by-hand-work" could be saved.

I would still like to make some tests and see if there could be an even better solution, but it may take one or two weeks. I think it's worth it, however, because the magic wall timer issue is quite important :)
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
User avatar
CWS
Member
Posts: 453
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Re: GDash new port

Post by CWS »

To keep it simple I would do it that way:

An additional option in the magic wall settings like „Milling time 0 is infinite“.

*) if option „Milling time 0 is infinite“ is activated, value 0 should be handled the same as 999.
*) if option „Milling time 0 is infinite“ is deactivated, value 0 should be the period until the next second starts.

Everything more complex would mean we need cirix to intervene - but he clearly stated that he does not have the time for extensive work on the code.
User avatar
Dustin
Member
Posts: 617
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Re: GDash new port

Post by Dustin »

But again, this would destroy my GDash caves where milling time 0 should really mean one frame and no longer! Objection! :O

At the moment, the magic wall timer is independant of the cave timer. There should at least be the option to keep it this way.

How about this compromise:
Add the option "milling time 0 is infinite", default setting "on".
"On" means 0 is treated as 999
"Off" means 0 is treated as before (one frame)
Then in your CWS2 cave (and maybe in some other CLCK caves as well), we could manually change the milling time from 0 to 1. This would not severely change the cave idea. In my caves (and maybe other GDash originals), we could manually set the option "off" so these caves work as before. And with the default setting "on", we would fix the vast majority of "milling time 0 buggy" fancaves in one go! :D
Boulder Dash X Rock, Paper, Scissors:
ROCKFORD collects DIAMOND, digs DIRT
DIAMOND outvalues DIRT & BOULDER
DIRT carries BOULDER, blocks FIREFLY
BOULDER kills FIREFLY & ROCKFORD
FIREFLY kills ROCKFORD, guards DIAMOND
Post Reply