Home    LittleBigPlanet 2 - 3 - Vita - Karting    LittleBigPlanet 2    [LBP2] Help!
#1

Advanced "Mover" Logic

Archive: 16 posts


EDIT:

I'm trying to do this.

http://www.youtube.com/watch?v=cnhK9EeTqZA




I pretty much am only able to make the pogo stick hop up and down......can't figure out grid based pogo movement or how to change squares to players color and change back with another players input.
2011-06-15 05:37:00

Author:
Nick930930
Posts: 878


I think this is what you want
http://www.youtube.com/watch?v=ncZn9tXwVbI
if so, I was looking for the same thing... try tweaking the timers to 2 seconds and I think it should work

edit: that tutorial uses counters, not timers. sorry about that.
2011-06-15 07:39:00

Author:
Wolf
Posts: 35


I think this is what you want
http://www.youtube.com/watch?v=ncZn9tXwVbI
if so, I was looking for the same thing... try tweaking the timers to 2 seconds and I think it should work

The video does not account for a diagonal move, though. You can fix that by leading the signals from the 1-shot counters to a 4-port XOR gate. The resulting signal of that should then be combined with 4 AND gates. The other input of each AND gate is fed by the 1-shot counters. The output of the AND gates goes into the directional combiners as in the video.

So basically, stuff a XOR+4xAND combo in between the counters and the signal combiners.
2011-06-15 08:40:00

Author:
Antikris
Posts: 1340


I tried to use movers, but for some reason, you can't select individual directions with the joystick or D-Pad to assign to different movers.
So basically.. your only allowed to use 2 directions or advanced mover????

if you wire the output of the d-pad or analog stick into a splitter it will separate the 2 signals, for sideways the positive output will be right and negative will be left, for up and down positive will be up and negative down.
2011-06-15 09:58:00

Author:
evret
Posts: 612


Go with evret's suggestion. It's the simplest.2011-06-15 15:52:00

Author:
synchronizer
Posts: 287


Yeah I was browsing through the other "advanced mover" tutorials and such but found a couple problems. I have it moving in a grid based movement (for the most part)


But it looks totally unnatural. THIS is what I'm going for ladies and gentleman.
http://www.youtube.com/watch?v=cnhK9EeTqZA
2011-06-15 19:31:00

Author:
Nick930930
Posts: 878


Sooo.. nobody knows how to do this logic -_-... weak.2011-06-16 03:40:00

Author:
Nick930930
Posts: 878


Here is how I would do it.

1. Make your grid.
2. Place alternating tags on each space like a checkerboard. Such as red tag, green tag, red tag, green tag etc...
3. Now set up a follower system where if, for example, you are on a red tag and want to move right you activate a follower which follows red, has a angle of 45 degrees, minimum length 0, maximum length depends on grid size, and points to the right.

That about does it. There is some extra things to tweak and mess around with, but that is the basic jist of it.

Also, theoretically you should not have to alternate the tags, but I have found that once it follows to the desired space it then starts following the space next to that and so on and so on.
2011-06-16 05:01:00

Author:
anthman852
Posts: 66


The video does not account for a diagonal move, though. You can fix that by leading the signals from the 1-shot counters to a 4-port XOR gate. The resulting signal of that should then be combined with 4 AND gates. The other input of each AND gate is fed by the 1-shot counters. The output of the AND gates goes into the directional combiners as in the video.

So basically, stuff a XOR+4xAND combo in between the counters and the signal combiners.

No XOR's are needed, feeding the up/down left/right signals through a selector will solve the problem. (The selector also needs an empty slot to receive signal blocking conditions.)
2011-06-16 12:15:00

Author:
hesido
Posts: 166


No XOR's are needed, feeding the up/down left/right signals through a selector will solve the problem. (The selector also needs an empty slot to receive signal blocking conditions.)

OP, while in my XOR setup a diagonal move will result in no signal throughput, using a selector here will result in throughput, but in one direction only. Which direction that is will depend on the way the inputs of the selector are ordered; the higher the channel number the more priority that signal will get over a lower port number when both signals are active.

I.e. you move your stick north east, resulting in a up and a right movement. If the up signal goes to selector port 1 and right into port 2, the right signal will win and the object will move to the right.
2011-06-16 16:46:00

Author:
Antikris
Posts: 1340


Sooo..nobody can help me? You're all talking a different language to me basically XD

If someone KNOWS how to do whats in the video, add me as a friend on PLaystation and help me.... lol cause I have no idea what to do at this point XD
2011-06-16 22:08:00

Author:
Nick930930
Posts: 878


@Nick:
I have made a signal repeater / diagonal blocker version and uploaded it to my grid tutorial level. It can guide you a bit.
What you need to do, primarily, is to choose yourself a grid movement method. Whatever you choose, you'll need followers to smoothly go from one grid to another. And you have to make sure that you don't set the next target grid until your follower reaches the target grid.

So instead of using timers as shown in my tutorial level to allow the next move, you'll wait for the follower to reach its destination, which is the target tag. You'll remove the timer logic and replace it with even a simpler logic, checking whether the following object is sensed using tag sensors using a very small circular area. If the object is not sensed (NOT gate after the tagsensor), you'll block the signal if you connect it to the 6th selector port. Make the follower slower first, to try it out. It is currently at 100% speed which is like an instant.

If you use the advanced mover method, you'll also block the signals until your follower reaches the target. Same principle.

@Antikris:
Exactly, the XOR setup stops at the diagonals, but the selector setup keeps the motion with your desired priority. It feels more natural for blocking the diagonal signals, IMHO. But of course, it depends on what you need. So no motion at diagonals could be desirable in some situations, while you may prefer keeping the motion when you are turning the stick around. I have added an example in the grid tutorial level, and my boulder dash level uses this concept.

The selector also lets you easily have additional conditions to block the signals, just by feeding the condition into a higher number port, by adding ports to the selector. However, like you say, if you do not want to keep the motion at the diagonals, XOR's are the way to go.
2011-06-16 23:05:00

Author:
hesido
Posts: 166


Here is how I would do it.

1. Make your grid.
2. Place alternating tags on each space like a checkerboard. Such as red tag, green tag, red tag, green tag etc...
3. Now set up a follower system where if, for example, you are on a red tag and want to move right you activate a follower which follows red, has a angle of 45 degrees, minimum length 0, maximum length depends on grid size, and points to the right.

That about does it. There is some extra things to tweak and mess around with, but that is the basic jist of it.

Also, theoretically you should not have to alternate the tags, but I have found that once it follows to the desired space it then starts following the space next to that and so on and so on.

This could actual be produced without the preplaced tags. Just make a t shape and use emitters to emit a tag in each direction. Could also be done for diagonals as well, just put emitters in each corner.

Eg: When you push left, the left tag is emit, and the follower moves to that location. Press up, emitter emits tag above, and entire system moves up onto it. Just make the emitted tag last just longer than it takes to move to it.

Simply making the emitters 1-shot, or implementing some delay, would prevent the system from drifting off of the 'grid'.
2011-06-17 08:39:00

Author:
SSTAGG1
Posts: 1136


Simply making the emitters 1-shot, or implementing some delay, would prevent the system from drifting off of the 'grid'.

Since you are splitting the signals already and the grid is a nice square box, using the method described in my tutorial to confine movement to a box (http://bit.ly/kxEhji) would make good sense.

And yeah, a self-resetting 1-shot counter in between every signal will force the player to let go of the controls and hit it again in order to move another step.
2011-06-17 11:58:00

Author:
Antikris
Posts: 1340


This could actual be produced without the preplaced tags. Just make a t shape and use emitters to emit a tag in each direction. Could also be done for diagonals as well, just put emitters in each corner.

Eg: When you push left, the left tag is emit, and the follower moves to that location. Press up, emitter emits tag above, and entire system moves up onto it. Just make the emitted tag last just longer than it takes to move to it.

Simply making the emitters 1-shot, or implementing some delay, would prevent the system from drifting off of the 'grid'.

When the speed sensor arrives, your suggestion will be bulletproof (for any setup), when the speed sensor stops sensing movement, you have arrived at your destination (so we wouldn't need to depend on timing etc.). But for controlled environments like this, your suggestion should already work really well. (And it would be awesome if we could have dynamically generated tagnames, so we could emit non-interfering follower systems.)

Anyway, I still think my grid method is a good match for this applcation
2011-06-17 19:03:00

Author:
hesido
Posts: 166


Most here 'should' work, but I'm just pointing out some other possibilities. The pulse based movement one is my personal fav.2011-06-17 19:49:00

Author:
SSTAGG1
Posts: 1136


LBPCentral Archive Statistics
Posts: 1077139    Threads: 69970    Members: 9661    Archive-Date: 2019-01-19

Datenschutz
Aus dem Archiv wurden alle persönlichen Daten wie Name, Anschrift, Email etc. - aber auch sämtliche Inhalte wie z.B. persönliche Nachrichten - entfernt.
Die Nutzung dieser Webseite erfolgt ohne Speicherung personenbezogener Daten. Es werden keinerlei Cookies, Logs, 3rd-Party-Plugins etc. verwendet.