Some questions about advanced objects

Everything about the various Boulder Dash tools, and other stuff created by the fans.

Moderator: Admin

Post Reply
subotai
Member
Posts: 251
Joined: Sun Jan 25, 2009 4:19 pm

Some questions about advanced objects

Post by subotai »

Hi folks :D

Is there an object specification like P.B.'s documents for advanced elements (falling walls, bombs, acid, sweets etc.)? Or how did you implement these objects? The help file from gdash already gave me an idea, how some elements work. And what do you think, which elements are mostly used?
It seems for me, that there exists a lot of nice elements that are barely uses in fanmade games. For me, the following additional elements are the most important:
  • Growing walls (Hexpanding, Vexpanding and Expanding walls)
    Rockford dolls
subotai
User avatar
Dustin
Member
Posts: 589
Joined: Sun Sep 23, 2007 1:15 am
Location: Erlangen, Germany

Post by Dustin »

I also like the keys and doors!
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
subotai
Member
Posts: 251
Joined: Sun Jan 25, 2009 4:19 pm

Post by subotai »

I will describe the properties of the following elements...

- 1) Growing wall
- 2) Slime
- 3)Voodoo doll (Mrs. Rockford)


1) Growing wall

Introduced in Bd2

a) Properties:

Animated: no; Impact explosive: no; Chain explosion action: consumed;
Explosion type: n/a; Rounded: no (objects don't roll off the Growing wall);

Graphics: Same graphic as the Brick wall

b) Interactions with other objects:

It doesn't interact with any other object

c) Specification:

If the field to the left or to the right contains space, this field will be replaced by the Growing wall element. Preference is given to expanding to the left over expanding to the right. The Growing wall is not able to expand to both sides during one scan! Make sure that you set the new Growing wall element to the delayed state to prevent an activity of the new element during the same scan routine.

A Vexpanding wall prefers to grow to the up.

2) Slime

Introduced in Bd2

a) Properties:

Animated: yes; Impact explosive: no; Chain explosion action: consumed;
Explosion type: n/a; Rounded: no

Graphics: Same graphic as the Amoeba but with interchanged colors

b) Interactions with other objects:

Check...
- if the Slime is permeable or not
- if there's Empty space underneath it
- If the object above is a Boulder or a Diamond
- if this object above is "not falling"

Note that the order of these performed checks is important. Under these conditions, the element falls through the Slime.

c) Specification:

Slime checks whether it is permeable or not. Note that this check is always performed during a scan, regardless of the elements lying on it. If the Slime is permeable, the object above may fall through it under certain conditions. According to the Magic wall element, the object that falls through the Slime moves two squares down (it will never be "inside" the Slime) and is set to the falling and delayed state.

As Slime can't move, it is not necessary to set its delayed state.

3) Voodoo doll (Mrs. Rockford)

Introduced in PLCK. The following description is for PLCK-games.

a) Properties:

Animated: no; Impact explosive: no; Chain explosion action: consumed;
Explosion type: n/a; Rounded: no

Graphics: Same as a Rockford standing still (Graphics have been changed in later engines)

b) Interactions with other objects:

It doesn't interact with any other object

c) Specification:

Other objects interact with the Voodoo doll. The Voodoo doll actually does nothing.
The "flag" indicates that Rockford (the player) has to explode to Empty space.

During the scan of the following objects...
- a Butterfly explodes on contact with a Voodoo doll to Diamonds and the "flag" is set.
- a Firefly explodes on contact with a Voodoo doll to Empty space and the "flag" is set.
- Rockford (the player) will explode to Empty space when the "flag" is set

If the "flag" is set before the scan of Rockford (the player), then Rockford will explode during the same frame. Otherwise, Rockford (the player) will explode in the next frame.

If a Voodoo doll is consumed by an explosion, nothing special will happen.

c) Additional properties and specification for the CrLi-Engine:

Properties: Impact explosive: yes; Chain explosion action: turn to Gravestone; Explosion type: explode to Steel wall;

Specification:
During the scan of the following objects...
- a Falling Diamond that has a Voodoo doll underneath it is replaced by a Glued Diamond

- a Falling Boulder that has a Voodoo doll underneath it is replaced by a Glued Boulder

- a Voodoo doll
=> If there is a Glued Diamond lying on it, this Glued Diamond will be collected by the Voodoo doll as a normal Diamond can be collected by Rockford.
=> If there is a Glued Boulder lying on it, the Voodoo doll will explode to a "Gravestone with time penalty" surrounded by Steel walls. Be aware that the time penalty of this element will not be performed before the next frame (The "Gravestone with time penalty" will be replaced by a normal Gravestone in the next frame)!

If a Voodoo doll is consumed by an explosion, it will turn to a "Gravestone with time penalty" immediately.

- a "Gravestone with time penalty"
=> will turn to a normal Gravestone and the time penalty is performed.

------------------------------------------

These are the default properties of the described elements. Different behaviours may occur in fan made games.

I hope that my description is correct, and maybe it's helpful.

subotai

EDIT: I just edited the "Additional properties and specification for the CrLi-Engine" to keep everything together and correct. If you want to see what I wrote before, you can check LogicDeLuxe's posting. I hope you don't mind.
Last edited by subotai on Sat Sep 25, 2010 5:23 pm, edited 1 time in total.
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

subotai wrote:- a Falling Diamond or a Falling Boulder
=> If it has a Voodoo doll underneath it, a "flag" is set.
- a Voodoo doll
=> If the "flag" is set, the Diamond will be collected or the Boulder will cause an explosion of the Voodoo doll to a Gravestone surrounded by Steel walls.
Actually, this "flag" is a separate element. Namely, the glued versions of Diamonds and Boulders. The Gravestone is actually the Time Penalty element, which is turned to the Gravestone element when the time discount happens.
At least, this is how 1stB and CrLi works. GDash does it a bit different, but I'm not aware of any cave for which the difference causes any problems.
subotai
Member
Posts: 251
Joined: Sun Jan 25, 2009 4:19 pm

Post by subotai »

Thanks Logic. You are great! I just have to say this :D This helps me to improve my own implementation.
LogicDeLuxe wrote:The Gravestone is actually the Time Penalty element, which is turned to the Gravestone element when the time discount happens.
So a Voodoo doll that is consumed by an explosion will turn into the "Gravestone with time penalty" ($6F) and a "Gravestone with time penalty" will cause the penalty and turn into a "Gravestone" ($6A).

The Voodoo doll with a Glued Boulder lying on it will turn into a "Gravestone with time penalty" which will be transformed to a normal "Gravestone" during the next scan. This means that the time penalty for this element will be performed during the next scan routine. Is this correct?
LogicDeLuxe wrote:GDash does it a bit different, but I'm not aware of any cave for which the difference causes any problems.
Yes, I know. But changing this shouldn't be too complicated. And I hope, cirix will. I'm a bit stuck in my own remake cause there is no end in sight. :cry:
Post Reply