Bd1 games and custom elements
Moderator: Admin
Bd1 games and custom elements
Morning
I'm looking for bd1 engine games with custom elements. I know that there should exist games with growing walls, slime and acid. I also know that there are some games with "non-rounded" brick walls. I can't find any game, that supports the growing wall and I can't find any that supports the slime. Maybe somebody can help me. And do you know any other custom elements or effects for bd1 games?
Thanks in advance.
subotai
I'm looking for bd1 engine games with custom elements. I know that there should exist games with growing walls, slime and acid. I also know that there are some games with "non-rounded" brick walls. I can't find any game, that supports the growing wall and I can't find any that supports the slime. Maybe somebody can help me. And do you know any other custom elements or effects for bd1 games?
Thanks in advance.
subotai
- LogicDeLuxe
- Member
- Posts: 638
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact:
I first coded the acid in Crazy Dream 3 and later moved it to other engines. Crazy Dream 3 also supports slime, growing walls and the dirt mod. There are also voodoo dolls, but they are not coded very efficiently.
For the non-rounded bricks, they are like explodible steelwall and non-eatable dirt. Those are basically exploiting the unused elements of the BD1 engine, which do nothing. The only difference is, that the author of the game adjusted the graphics pointer to their needs. No One did this occasionally. No One Boulder 31 is one of them using non-eatable dirt.
For the non-rounded bricks, they are like explodible steelwall and non-eatable dirt. Those are basically exploiting the unused elements of the BD1 engine, which do nothing. The only difference is, that the author of the game adjusted the graphics pointer to their needs. No One did this occasionally. No One Boulder 31 is one of them using non-eatable dirt.
Thanks for your reply ! Do you know if there are any other bd1 engine games that use the growing walls? And are there different settings for the slime permeability, or can I always set it to "0"?
Please, can you explain, how acid works? I read in the gdash-thread how I can get the speed of acid and the element that is eaten. But I don't know how to use this knowledge. Seems for me that acid spreads randomly.
Please, can you explain, how acid works? I read in the gdash-thread how I can get the speed of acid and the element that is eaten. But I don't know how to use this knowledge. Seems for me that acid spreads randomly.
- LogicDeLuxe
- Member
- Posts: 638
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact:
I'm not aware of any.subotai wrote:Thanks for your reply ! Do you know if there are any other bd1 engine games that use the growing walls?
I don't remember every detail about it. Permeability might well be fixed to 0 here.And are there different settings for the slime permeability, or can I always set it to "0"?
It's really just a check against an unpredictable random number. Nothing special.Please, can you explain, how acid works? I read in the gdash-thread how I can get the speed of acid and the element that is eaten. But I don't know how to use this knowledge. Seems for me that acid spreads randomly.
Ok, the spreading of acid is really simple. But I'm not sure about the acid speed. In the CrLi-Tools I found out that if the acid speed is set to "0", the acid seems not to grow at all, and if it is set to "255", it seems to grow in every scan. So I would implement it like this:
Sorry if this is a bit off topic.
Code: Select all
IF Acid_Speed > 0 then
BEGIN
IF random(256-Acid_Speed)=0 then
ACID_SPREAD;
END;
- LogicDeLuxe
- Member
- Posts: 638
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact:
The code looks like this (from a disassembly not optimized for readability):
At 2500, a random number is generated. 03a8 is the acid speed and right after the bcs is the spreading code, which ends at 264e.
So it's more like:
At maximum speed, a 1 out of 256 chance remains for each acid piece not to spread.
Code: Select all
T_2600 jsr P_2500 ; $2600 , $2500
cmp $03A8
bcs B_264E
So it's more like:
Code: Select all
IF random(256) - Acid_Speed < 0 then
ACID_SPEAD;
Ok, the slime permeability in CrazyDream 03 is stored at offset $16 of the cave data. It uses a predictable random number. Using the value $00 for both starting seeds instead of $1E and $00 for PLCK games seems to work approximately fine, but I'm not sure about this.
Unfortunately, I can't check the code because I have no skills in assembly
subotai
Unfortunately, I can't check the code because I have no skills in assembly
subotai
- LogicDeLuxe
- Member
- Posts: 638
- Joined: Sun Jul 15, 2007 12:52 pm
- Contact: