• Register

Beret is a 2D puzzle-platformer game about a scientist, astonishingly named Beret, who has gained telekinetic abilities through his research at the Evil Corporation. He decides that the Evil Corporation is a tad too evil for his liking, and begins his solitary quest to overthrow the corporation and punish the evil deeds of his employers. Beret has 21 puzzle-filled levels, 120 collectable Medallions, over 20 hours of gameplay, and an unlockable level editor.

Forum Thread
  Posts  
Bugs with multiple pink link blocks pointing to one target (Games : Beret : Forum : Bug Reports : Bugs with multiple pink link blocks pointing to one target) Locked
Thread Options
Aug 30 2011 Anchor

I was messing around in the editor with link blocks, and I found some behavior that seems outright weird, and probably a bug.

Of course, there are several existing levels in Beret with multiple green link blocks linked to one target block - a "normal" block. When the normal block moves, all the green link blocks do. No problem there.

So I made two pink link blocks point to one target block to see what would happen. The answer is "weird stuff", as can be demonstrated by this custom level add-on I just added to the site:

Indiedb.com

Some stuff I noticed:

-The target blocks stay within a three-square path corresponding to the width of one slot instead of the much longer paths I laid out for them

-Depending on the order I placed the links in, sometimes moving one link block over will either not move the target block at all or only very slowly move the target block, depending on how many other blocks there are

-In the area with two pink link blocks, when I put both target blocks in the middle, then fling the top pink link block to the left, the pink block slides to the left and stops, but the target block "ricochets" and goes somewhere in-between the left and middle.

==

What I would have thought would have been appropriate behavior would be for, in the first case of two link blocks, would be that moving either link block two spaces to the right would move the target two spaces, and then moving the other link block two spaces to the right would move the target two more spaces to the right - in other words, moving one link block and its target block would change the coupling space of the other link block to the same target block.

Edited by: Leylite

Aug 31 2011 Anchor

Yep... the behavior of blocks when multiple link blocks are influencing them is undefined. This is a consequence of the way that I implemented links, as I didn't intend to ever have multiple pink or blue link blocks connected to a single block. Creating the behavior you were expecting would take a full rewrite of the link code, so I'm probably going to leave it as is. I may put a warning in the editor if anyone tries this so they don't get confused.

Sep 2 2011 Anchor

As long as we already have a link block bug thread, I think I may as well mention that there's some other stuff that's most likely undefined, a bad idea and editor-warning worthy: bi-directionally linking two link blocks that move in different ways.

If I take a pink link block (moves its target block the same way it moves itself) and link it to a purple link block (tries to move the opposite way its target block moves) and link the purple link block to the pink link block, then I get extremely weird behavior as the pink block tries to move the purple block the way it moves, but the purple block tries to move to a completely different location, with varying success.

Similar problems occur when I try linking a blue link block to a green link block and the green link block to the blue link block.

==

Of course, no problems at all occur when I do this bidirectional linking between a pink and a green block and a blue and a purple block - those logic models are consistent and the pairs behave themselves.

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.