PDA

View Full Version : Re: "correct order or die" tool



Ungreth
04-22-2009, 01:13 PM
Ok, for my first level I invented an order-switch tool, enabling you to make 8 sequential button presses from a selection of 4 buttons, or else die if the wrong button is pressed at any point in the sequence. It's not perfect on two levels...

1: The tool allows you a concession. Once you've pressed a button, until you move on to the next button you can carry on jumping up and down on the same button without dying. So if you need to complete a sequence of ABDCCDBA, you could actually press AABBDDCCCCDDBBAA instead, and not suffer a penalty for it.

2: If you die when inputing the sequence, returning to the puzzle means you
carry on pressing buttons from the point of your last valid input, rather than starting the sequence from the beginning again. I can see no way to reset a puzzle upon a player's death. (I was once told to emit the entire puzzle section and rig a sensor switch to the checkpoint, so dying makes a replacement spawn where the original was. Doesn't work though, since emitters don't emit a new object until the original is somehow moved out of the way).

Hard to describe how the switch works exactly, but it uses four 6-way "or" gates, one 4-way "or" gate, and a vertical shaft with four pistons/ mag keys and 32 mag switches. A correct button press dissolves a block that allows the pistons to climb higher for the next button press, where as a wrong selection activates an emitter full of plasma balls instead.

Now, my question...are more advanced tools already available for "complete this button sequence or die" type scenarios, or is it worth sharing the tool I created so others can tinker with it and improve on the design? If a more advanced/streamlined tool has already been designed, where can I find one or get advice to build one? Otherwise, what's the best way to share my tool with the community so everyone can have a fiddle with it? (jeez...that last bit sounded so wrong!)

rtm223
04-22-2009, 01:38 PM
I don't know of a specific better solution. You can make this as an asynchronous finite state machine (a style of logic design), which could easily include a reset signal. However AFSMs are a pain to design and it could probably be done with more LBP-friendly analogue/digital hybrid solution.

As for re-emmiting the puzzle, won't this work if you set the maximum number allowed at once to 1? I thought it deletes the previous before emmiting the new one?

snowflakecat
04-22-2009, 02:19 PM
Shiwayari posted a detailed asynchronous version a while back. It required pressing the next button in the sequence within a certain amount of time, otherwise the sequencer would reset.

To have a reset condition triggered every time an incorrect input is pressed, have each of the inputs emit a long rectangular dissolve block with a mag sensor in an offset position. A delayed switch senses if this mag sensor is not in the proper position. If it's not, after, say, .5 seconds of time, it would trigger reset which will emit a mag sensor (let's call it the DISSOLVE sensor) that will dissolve all blocks. For instance, I have four inputs ABCD. I want them to be pressed in the order DCBA. Here's how it would look if I were successful:

[*---]
[-*--]
[--*-]
[---*]
[ABCD]

RESET switches detect when the sensor is not in the correct place-- they trigger when the * is not in the DCBA path.

Each of the blocks [----] contain a switch that dissolves it when the DISSOLVE sensor is emitted.

You can then add the necessary logic (AND) for when the sensors are out of place. In this case, it would take only one due to the diagonal geometry of the path (use the new ANGLE option introduced by Yarg).

When the last block is in place, a sensor would sense it triggering the "correct sequenced pressed" condition. In this case, this sensor would be located right behind the top left * at A.

This is just a basic sequencer. I'm working on an intermediate tools level that will be released maybe at the end of the year if I get to finishing it. It will hopefully have cosine, sine, division, and other analog functions. The goal for me is to model the I-V characteristics of a transistor for an educational level, but I don't know when I'll finish that ='(.

Oh I forget to add that the RESET is delayed since you're waiting for the blocks to settle from gravity, meaning that you would need guide rails at the side.

Ungreth
04-22-2009, 04:08 PM
I don't know of a specific better solution. You can make this as an asynchronous finite state machine (a style of logic design), which could easily include a reset signal. However AFSMs are a pain to design and it could probably be done with more LBP-friendly analogue/digital hybrid solution.

As for re-emmiting the puzzle, won't this work if you set the maximum number allowed at once to 1? I thought it deletes the previous before emmiting the new one?

No, it doesn't work. The new version won't emit because the original is taking up the space. The new won't replace the old. Perhaps I could emit the tool with all parts being connected to an off-screen brain that gets crushed by a piston shortly after the wrong button is pressed, thus removing it from the space where a new version needs to be emitted. Could that work? MM should add a "re-emit on player death" option to the emitters...this would make resetting sections of a level to their default state much easier.

Anyway, I was thinking I might publish a copyable "level" just to exhibit the tool and make it available to others. I spent two full days creating it and I reckon I've got it working as well as I'm capable within my limitations, but a more experienced creator else might be able to perfect it with a little tinkering. It's just a case of getting rid of that concession which allows you jump repeatedly on one button before moving on. Problem is with mag switch sensitivity I think, but it's best that someone take a look at it themselves rather than I try to acurately describe something so complex. Anyway, I can't figure a way around it myself...I was starting to suffer unbearable brain-ache just trying.

snowflakecat...thanks, but you just caused a relapse in my brain-ache with your last post. I'll read through it again whilst tinkering in my "workshop" space and see if I can do something productive with your advice. :)

rtm223
04-22-2009, 06:58 PM
I just quickly bosched together a device that will detect keypresses in the specified order the the reset trigger is linked to any wrong keypress, including duplicate keypress. If duplicate keypress is specified in the sequence then the exact number specified will be expected, else reset. I'm using a sequence 1-2-2-3-4 at the mo. Once full sequence has been entered it latches into place, reset and kill are disabled and further keypresses are ignored.

There is no noticeable delay on anything either, it's all one-shot activated. you can wait between keypresses or stand on keys for as long as you want. I've got to go out now, but I'll upload it when I get back in tonight so you can have a play.

I took a picture so you can see the simplicity - you just connect up the inputs you want to the pistons at the top and it goes :) Adding more inputs just means an extra piston + 2 keys per input:

http://i600.photobucket.com/albums/tt82/rtm223/APhoto_1-3.jpg

Shermzor
04-22-2009, 07:03 PM
Ah yeah i made one of those awhile back but mine was a bit different.

Had three switches and you had to do them in the order right left centre.

Made it so if you did it in the wrong order it wouldn't work,
You could do RCL then take off the centre then put it back on and it'd work,
You could do RCL then take off both LC then do it in correct order.

Lots of toggle gates, about 3 for a simple puzzle.


To be honest I'd make your version and one of mine to have all bases covered so you have a fail option and a correction option. Though you might have trouble condensing mine, I thought I had a really streamlined one at first but it turns out that I'd made a 'fail' instead.

rtm223
05-18-2009, 09:11 PM
So, yeah, technically a dead thread, but I finally got around to fixing up the version I made to make it very very stable, which it wasn't before, and it's easy to modify now as well. I'm happy to give it away if anyone wants it.

mindphaser74
05-24-2009, 04:02 PM
So, yeah, technically a dead thread, but I finally got around to fixing up the version I made to make it very very stable, which it wasn't before, and it's easy to modify now as well. I'm happy to give it away if anyone wants it.

I'LL TAKE IT!!! Yeah seriously, I JUST made a complicated 4 button sequence switch, it has a reset but you have to hit the sequence within 15 seconds or it doesn't work. I am using it in my Below the Root Chapter 3 level but would LOVE to get my hands on yours. I could learn so much. Yours sounds way more useful.

PSN = mindphaser74

If you end up doing this, than you rule LBPC IMO. :cool:

rtm223
05-24-2009, 04:43 PM
I just responded to your PM mindphaser.