PDA

View Full Version : Brainstorming the Conveyor Bug



Cloral
04-28-2004, 12:16 AM
Well, this is a bug that's been around ever since conveyors were introduced. It is much less pronounced now, but still there. So I think we should brainstorm as to why it occurs and ways to prevent it. So many quests use conveyors now that it really gets annoying when you're playing and suddenly Link becomes uncontrollable.

I seem to recall someone saying that it happens because Link gets off the movement grid. In this case he needs to be snapped back onto it whenever he changes direction. True, but that seems to already be attempted. Perhaps what is happening is Link tries to snap back to the grid, but the conveyor continues to act on him, pushing him past the grid and making him misaligned.

BTW, when I say Link snaps to the grid, I mean how he will move a little further to ensure his movement is on some 8x8 boundry. For instance, try moving Link a pixel or 2 to the right and then walk up. He'll move more to the right first until he's on the 8x8 boundry before moving upward.

Another option I think would be to leave Link misaligned while on the conveyors and only realign him when he leaves them. One benefit to this would be that his movement on the conveyors would be a lot easier to control. Unfortunately, this wouldn't alleviate the problem when Link leaves the conveyor, it would likely still misalign him. So the first solution would still have to be implemented to prevent that.

Anyone care to add to this?

DarkFlameWolf
04-28-2004, 12:32 AM
huh.......I've never really had problems working with conveyor belts. Probably not as nitpicky. :P

Ganonator
04-28-2004, 03:30 AM
show me a little quest with this problem still in it, and I'll see what can be done. I haven't had any problems in any build past 180 (not including 180), so I don't know what to say.

Dark Nation
04-28-2004, 07:42 AM
The problem with Link getting misaligned from conveyors was fixed, I thought. The only problem (I think) was that if you let Link ride the conveyor to the end, it would sometimes cause him to... stutter (for lack of a better word) at the end because the conveyor would push him off the grid at the end and the game engine would re-align him back to the grid, which would put him back on the conveyor, and the process would repeat. Not sure if this still happens.

Freedom
04-28-2004, 11:00 AM
In my current quest I have an area where conveyors are several wide and then covered with ice sheets on layer 1 (or 2) and wind on layer 3 to make it seem he is in a wind tunnel of sorts.
Link gets out of control in that situation to the point he sometimes is thrown clear up onto the wall and then stuck there.
I haven't had any problems using conveyors single wide.

Praethus
04-28-2004, 12:38 PM
Also, problems can occur when Link is moving from a conveyer of one direction to a conveyer of another direction.

ShadowTiger
04-28-2004, 02:06 PM
Exactly!

Sprinkle a whole mess of conveyors within a 7x5 area or so, completely randomly, and then put in a bunch of unwalkable blocks or statues. .. Then Poke link with a stick to make him go into the nausea-inducing field of moving floors, and watch as he alarmingly quickly refuses to move.

However, swinging the sword can often free him of this "lock." .. Yes, he can only go in two directions (Parallel to his direction of getting stuck.) when he gets stuck. I wonder why this is.

Ganonator
04-28-2004, 05:59 PM
OK.. I just played crazychris' (sp?) new quest, and there is a part where conveyors going North push you into conveyors going east and west. I get WHACKED off of the grid, I have to push the down button to move left, as no other buttons work.

It also occured to me why I've never had this problem - I use evil conveyors instead of mixed ones :tongue:

Jigglysaint
04-28-2004, 11:26 PM
The best solution could be to make the grid smaller, that is, perhaps the grid is sized at one pixel, which would allow for very fine movements. I know that diagonal movement is still ways off, however.

Actually, adding combos that act like diagonal walls might be easier to code in than you think. All a wall or slope does, is cause you to appear above or below a point of contact, and of course done on a small scale would allow for the illusion of a diagonal wall.

Meh, just a thought.

Sephiroth
04-29-2004, 08:57 AM
The best solution could be to make the grid smaller, that is, perhaps the grid is sized at one pixel, which would allow for very fine movements. I know that diagonal movement is still ways off, however.

Actually, adding combos that act like diagonal walls might be easier to code in than you think. All a wall or slope does, is cause you to appear above or below a point of contact, and of course done on a small scale would allow for the illusion of a diagonal wall.

Meh, just a thought.
Doing this, we would need to re-do how we make the walkable combos. :) If we make it so that we can select walkability to each pixel of every tile. :p It would add greater abilities to those who make quests. :)

ShadowTiger
04-29-2004, 11:09 AM
Oh, also, a comment, if I may. When individuals (Such as Mr. Z or C-Dawg, I suppose.) make diagonal conveyors by rapidly combo-cycling other conveyors, the movement is virtually smooth. I wonder if we can use this knowledge to our advantage in eliminating this problem. :) So perhaps if people just combo-cycled their conveyors to conveyors and regular unwalkable combos, the entire problem could be solved. .. Of course, that's not the point here, now is it. .. Still.. Kinda makes you think. :shrug: That this whole ordeal can be avoided.

Dark Nation
04-29-2004, 11:19 AM
Is there a need for diagonal conveyors? Adding them would be very easy. Just a few lines of code.

Also, on the idea of allowing you to set pixel-perfect walk flags: It could be done but would take some reworking of the engine. Part of the reason is that Link aligns to 8-pixel boundaries, so allowing greater precision for walk flags would (at this time) be pointless. Once I make it so that Link doesn't have to align to 8-pixel boundaries, then this idea will be feasable (and pretty useful, too). But that won't happen in the next public release.

Jigglysaint
04-29-2004, 12:17 PM
Oh well, but diagonal conveyors would still be cool, as well as one way conveyors.

ShadowTiger
04-29-2004, 12:36 PM
True, but we can do both now. :shrug: .. Unless you want to combine them with other combos, much like both of these are being done to do them now.

Of course, if it's only a few lines of code, do-able now, as long as it's easy to do, I'm sure that people wouldn't mind. In fact, they would be rather grateful. :shrug:

But if worse comes to worse, we can rest easy in having the ability to do one-way conveyors and diagonal conveyors now. They're not that hard to do. :)

So now we just have to isolate the causes of Link getting stuck. Once that problem is squashed, maybe more conveyors can be added.


As PCGamer once said,
Don't fix what ain't broke.

And we don't even have diagonal / one way conveyors to fix yet. ;)

Jigglysaint
04-29-2004, 05:25 PM
IF you make one way conveyer belts, you really don't need to worry about jumping off ledges, as you could simulate this.

Eckels
04-29-2004, 06:05 PM
wouldn't it make sense to have a half-conveyor, or end-conveyor combo?

That way, when link gets to the that combo, he walks completely on it without being affected by the conveyor combo that pushed him onto it?

Cloral
04-29-2004, 07:08 PM
Yeah. Diaganol conveyors would be nice, but lets get the regular ones fixed first.

In my experience, you don't need a change in direction of the conveyor to activate the bug. All you have to do is walk across the conveyor for a ways, then turn and try to walk either with or against it. This happens a lot if you're trying to move across a conveyor without being pushed too much to the side.

edit:
Here's a thought I just had. What if Link is trying to allign with the grid, but because of the push of the conveyors is unable to - he keeps skipping past it? That would certainly seem to cause this sort of behavior (and would certainly explain why Link often moves at right angles to the way you press - to see what I mean, do the misalign I described in my first post. While you hold up, Link initially moves to the right).

ShadowTiger
04-30-2004, 07:34 AM
Maybe if conveyors naturally stopped and started at a rate of becoming "normal" and then conveyor again every other frame? (I.e. fast enough so that when you hit F4, it's a conveyor, and when you hit F4 again to advance a single frame, it's normal, then hit it again, and it's a conveyor again.) That may be enough to not "lock" link into such a condemning motion. It seems to work in most quests, so maybe it would be enough to both make conveyors more bug-free, and make them seem a bit more quest friendly. :)