Actuators in DM (DM2K)

Lesser known clone projects or isolated news items about rare or unusual clones.
Forum rules
Please read the Forum rules and policies before posting.
Post Reply
Guest

Actuators in DM (DM2K)

Post by Guest »

Hello,

I'm working on a yet another DM clone called "DM2K" (you might remember this from a couple of years back) and I have some questions regarding the puzzles in the original DM. I understand that puzzles in DM were constructed by placing components such as pressure pads, logical And gates and counters on the cells of a level and these components where then linked together.

I'm trying to figure out a minimal set of different components that I would need to create puzzles similar to DM. For example, how would one create the following puzzle:

Let's say we have a pressure pad and a pit. The pit is normally open (so that the party can fall in it), but when the party steps on the pad, the pit closes for a certain period of time (say 4 seconds) and then opens again. The process is repeated every time the party steps on the pad.

What kind of components would be needed and how these would be linked to create the puzzle?

I'm already familiar with the actuator documentation by Paul Stevens (thanks to Paul for writing this!) at dianneandpaul.net but the doc seems to be incomplete.

I also understand that there are a few different "modes" a connection between two components can have (TOGGLE, SET etc.). Would anyone care to enlighten me how these are used?

Many thanks in advance!

--Petri H
Guest

Post by Guest »

Components - pit
pressure pad
party
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Actuators have two sides to them: an input side and
an output side.

The input side is 'actuated' by various things, depending
on the type of actuator. A pushbutton is actuated by
the party touching the wall, perhaps with a special object.
A Pressure Pad is actuated by something being on the
floor. A counter is actuated by messages received from
another actuator (see next paragraph). Etc.

The output side of an actuator sends a message. The
message has:
1) A destination. A cell in the dungeon.
2) A delay time. How long before the message is delivered.
3) A function. Set, Clear, or Toggle.

Objects in the dungeon react to messages that they receive.
A door opend when it receives a Set Message.
A Pit closes when it receives a Clear message.
A counter decrements when it receives a Clear message.
A teleporter turns on (activates) when it receives a Set.
And so on and so on.
A toggle means (generally) to switch to the other state.
If a door is open it closes and if it is closed it opens.

You puzzle requires two pressure pads. When the party
step on the pads, one of them sends a clear message to the
pit with delay zero. The other sends a set message after
four seconds. Lots of puzzles require that several actuators
such as Pushbuttons be stacked together like this.
User avatar
PetriH
Ask me about LoG
Posts: 127
Joined: Sat Mar 20, 2004 11:32 am

thanks!

Post by PetriH »

Hey, that's a nice idea! using two pads at the same location. So simple and beautiful.. I wonder why I couldn't figure it out myself. Thank you very much, Paul!

I'll add this functionality to my clone...
User avatar
PetriH
Ask me about LoG
Posts: 127
Joined: Sat Mar 20, 2004 11:32 am

Post by PetriH »

Ok, are delayed messages queued in DM or does a new delayed message replace the old one?

Let's consider an example assuming that messages are queued:

(time 0s): The party steps on the pad. A close message is sent to the pit and a open message is delayed for 4 seconds (time of arrival: 4.0s).

(time 1s): The party steps off the pad while the queued message is still on the way. The pit is still closed.

(time 1.5s): The party steps on the pad again. The pit remains closed. Another delayed message is sent (time of arrival: 5.5s)

(time 2.0s): The party steps off the pad. Nothing happens.

(time 4.0s): The pit receives the first open message. The pit opens.

(time 5.5s): The pit receives the second open message. The pit remains open.

So in this example the pit opens at 4.0s even if the player was on the pad at 1.5s. But if the second delayed message replaces the first one, the pit opens at 5.5s. Which one is correct?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

The first. Actions queue.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

If you are worried about this result that occurs
because messages are queued and not canceled
when the actuator is reactivated........

Use a DSA. Design it yourself to do what you want. :wink:
User avatar
PetriH
Ask me about LoG
Posts: 127
Joined: Sat Mar 20, 2004 11:32 am

Post by PetriH »

Are DSAs pieces of 68000 assembly language? Or is it some kind of programming language inside DM?

I'm right now looking at the money changer doc in dianneandpaul.net but it seems rather complicated.. Any pointers to other documents would be appreciated.

Sorry about the newbie questions :)
User avatar
linflas
My other avatar is gay
Posts: 2445
Joined: Tue Nov 04, 2003 9:58 pm
Location: Lille, France
Contact:

Post by linflas »

> I'm right now looking at the money changer doc in dianneandpaul.net but it seems rather complicated.

petrih, do you want to clone all actuators from DM ? maybe you could implement you own rules, especially for shops..
User avatar
PetriH
Ask me about LoG
Posts: 127
Joined: Sat Mar 20, 2004 11:32 am

Post by PetriH »

No. I'm just interested in how DM works so that I can make my own design better.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Paul Stevens wrote:You wanted your messages from an actuator to somehow
be reset when the party reactivated the actuator.
lol, he didn't, incase that got lost, but's still ncie to see a great mind at work ; )

Actually, you don't even need a counter. A self targetting actuator system can be used to send a constant stream of opens or closes to the pit. I've used it on push button doors, so that they remain sealed unless you disable the system with a key on a lock, etc. You could have it that the switch enables the system, then disables it after four. Any other signals get lost in the noise this way, so if a second string of opens occured.
Wait...that wouldn't work! You'd have the same problem, you would be triggering and not triggering a relay system instead of a pit... Eh, its still a cool idea

Edit by Beowuuf: Umm...is anyone else seeing this post as having come from Paul rather than me? Umm...help?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

I said:
This would be extremely difficult to do with the standard tools
I take it back. I think what you wnat can be done easily with
a simple counter. Initialize the counter to one. Increment
immediately when the party steps on and decrement after a
delay when the party steps off.

Keep the pit closed as long as the counter is greater than one.
gobleteer
Apprentice
Posts: 33
Joined: Tue May 21, 2002 12:00 am
Contact:

Post by gobleteer »

That doesn't work, unless you increment at the same rate the couter goes down. You need to set the counter to 3 while the players are on (otherwise there is not effect if the players stay on the pad) Also, make sure the counter can't go below 1, unless you're using my prior advice also.
Sar Master - 1%
G! d- s:- a15>? c++++(+) UL-@ P>++ L+ E? W+++$
!N>++ o? K- W-(+++) O? M?>+ V? PS++ PEY? PGP?
T+++() 5-->? X- R+++ tvb++++ DI@ D? G++ e->* h! !r !y(-)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

You are probably right. I likely misunderstood the exact effect
you wish to produce. At any rate, you can produce whatever
effect you like with a DSA.
User avatar
PetriH
Ask me about LoG
Posts: 127
Joined: Sat Mar 20, 2004 11:32 am

Post by PetriH »

Would somebody care to explain what is a DSA and how do I build one, please?

I assume DSA = DFA = Discrete Finite Automata?
User avatar
Gambit37
Should eat more pies
Posts: 13714
Joined: Wed May 31, 2000 1:57 pm
Location: Location, Location
Contact:

Post by Gambit37 »

User avatar
PetriH
Ask me about LoG
Posts: 127
Joined: Sat Mar 20, 2004 11:32 am

Post by PetriH »

Thank you, Gambit!
Post Reply