PDA

View Full Version : Using Swoop in a multilayer versus level



Sehven
12-07-2014, 06:14 PM
I'm working on a versus level where I'm making heavy use of the 16 layers to give players plenty of space to play while keeping it to a relatively small area so that local multiplayer will work well. The level is designed with Sackboy in mind and features many layer launchers to get players around and I've set it so there's no where a player can stand in place and layer shift (meaning you always have to jump up or down to get to another layer) so that players next to each other will always be in the same layer.

The problem is I've added a Swoop bot that can be piloted by players but Swoop primarily sticks to whatever layer he's in unless you allow him to land and walk. I want Swoop-riding players to be able to attack/dive-bomb others players but the way Swoop handles layers makes that impractical.

My question is, does anybody have any ideas on how to handle this? I'm trying to keep gameplay as simple as possible so anything that requires a note or speech bubble to explain is out of the question: it needs to be intuitive enough that it won't interrupt gameplay. I can do some of it with zones: areas of sticker material tagged to indicate that a layer shift is needed but that will only help with keeping him to playable layers; it won't help when there are multiple playable layers in an area. I could use a follower and set it's movement speed to 0% but give it an in/out speed, but that would become troublesome if the pilot doesn't necessarily want to attack the closest opponent. So how can I accomplish this and make it as effortless and intuitive for the player as possible?

The11thWheatley
12-07-2014, 07:25 PM
This is worded a bit confusingly, you want Swoop to be able to change layers during flight? Or not change layers? If you don't want the player to change layers, some invisible material or plasmafied hologram will do; other than that, maybe have movers controlled by the shoulder buttons, L2 and R2?

Sehven
12-07-2014, 09:54 PM
Sorry. Yes, I want Swoop to change layers, but I want him to do so as intuitively as possible. I'm considering using followers to bring him into the same layer as nearby opponents when attacking but trying to figure out how the game can intuit whether the player WANTS to attack or if they just happen to be near another player. Also, it should be able to tell if the player wants to move to the foreground layers or to the background with as little effort from the player as possible.

Part of the difficulty comes from the fact that riding Swoop isn't a major part of the game. It's just an added thing you can do if you want. Because of that and because it's a frantic 4-player versus level, there's no time to squeeze in a tutorial on riding Swoop so it needs to be as natural as possible for the player.

smasher
12-07-2014, 11:16 PM
If I was making it I would probably put the layer switching on l and r1. Then I'd just put a button prompt that follows him for a few seconds the first time you ride him. That way the player has control over him fully. I know if I was riding him I wouldn't want the game switching/deciding for me on who I want to attack. If you don't like the prompt idea you, and you have a tutorial or a control layout you could just put a pic of swoop with the controls. A picture is worth a thousand words.... Of course it's all arbitrary, but that's my two cents. :)

Devious_Oatmeal
12-08-2014, 12:00 AM
I am a bit confused. Is Sackboy always riding Swoop? Does the player use the bounce pads to jump up and THEN ride Swoop for a moment? Is Swoop always on the ground then the player hops on and THEN rides Swoop to dive-bomb?

DOJlN3
12-08-2014, 05:37 AM
For instant layer changes in the air, set the swoops to change layer with the In/Out Mover (Use any button you want. I use the Left Stick Up/Down)

If you want your Swoops to home in others, you can put a follower in each one. Put a tag in each Swoop. Make sure the tags are different of course. Set the followers to only activate when a Swoop is near. You can do this using a Tag Sensor and attaching it to the Follower. Make sure the Follower's range is slightly wider than the Tag Sensor. And also make sure each Swoop has the Tag Sensors for all of its rival Swoops.

Example: Red Swoop can dive on Green, Yellow, and Blue. Blue Swoop can dive on Red, Yellow, and Green.

For extra..."preciseness", you can attach all of the Tag Sensors to an XOR Gate so only one color can be chosen. Just in case more than one enemy is on the screen.

I Hope this helps.

koltonaugust
12-08-2014, 08:50 AM
I feel the R2 and L2 options is the most intuitive to me, that with following layers when nearby (2 layers away) would be great!

fluxlasers
12-08-2014, 10:45 AM
I'd make it so that swoop will only fly around in layers that are occupied by other players, since it would be pretty difficult to move swoop in and out to match the layer that any of the other players are in.

If there are players in layer 3, 5, and 7, swoop will only switch between these layers. If swoop is in layer 3 and the player controlling swoop pushes the right stick up (or whatever controls you want to move swoop back) it would move directly to layer 5, and if they selected to move back again it would switch to layer 7.

julesyjules
12-08-2014, 02:27 PM
Yeh, thats a tough one to get round. From a gameplay PoV, Swoop gives you a load of freedom for player navigation, but that brings a ton of design issues to work out if you're using it alongside the regular bots.

A few potential options that might spark something for you -

Limit Swoop to a couple of confined areas where it'd be a lot easier to manipulate and reign in his freedom and his interaction with the other players.

Have him appear as a timed power up only one player can use but only playable for a short time a la Smash Bros. Alongside the scramble to get him between the players, could be fun if you can work it so the other players know they have to shift their focus from attacking each to taking him down or escaping. Might get a bit complicated communicating this simply though.

If you want to keep in as much freedom as possible, work in some kind of radius indication so the player knows that getting within a distance 'x' of another player will force an auto change of his layer, and he can make the choice to avoid or pursue that way, rather than having to build a logic system that tries to second guess the players intention.

I don't think it would take long for most players to instinctively pick up on the rule that getting close to another player forces a layer change. How you implement that cleanly with more than one opposing player I have no idea, heh heh.

Good luck with it!

Sehven
12-08-2014, 03:20 PM
I am a bit confused. Is Sackboy always riding Swoop? Does the player use the bounce pads to jump up and THEN ride Swoop for a moment? Is Swoop always on the ground then the player hops on and THEN rides Swoop to dive-bomb?

Swoop is just kind of hanging out and really doesn't seem to have anything to do with anything except as scenery. It'll just be a bonus for the inquisitive players to find out that they can actually ride him around. That's why I want to make it as intuitive as possible. He'll spend some time flying around and some time perched. He may even be hostile to the players but one of their powers will subdue him (it's a Jedi level and they'll have a force pull that can be used on one another but will double as a mind trick when used on Swoop). If a player finds themselves in the air just above Swoop, they'll latch on and take control of him.


I'd make it so that swoop will only fly around in layers that are occupied by other players, since it would be pretty difficult to move swoop in and out to match the layer that any of the other players are in.

If there are players in layer 3, 5, and 7, swoop will only switch between these layers. If swoop is in layer 3 and the player controlling swoop pushes the right stick up (or whatever controls you want to move swoop back) it would move directly to layer 5, and if they selected to move back again it would switch to layer 7.

Now that's an idea. I was thinking that if the player were clearly moving aggressively toward another player, the automatic layer-change would kick in (I was trying to figure out how to detect aggressive movement). There really isn't much reason for players to ride Swoop anywhere there aren't other players so maybe limiting to layers with active players is a good idea.

Biv
12-08-2014, 03:46 PM
Is it essential that he actually change layers?

I keep getting an image in my mind of swoop going to dive bomb, and as he does, holographic "mirrors" of himself appears in every level, smacking any player who is in that spot on any layer. Almost like a special move thing. That could be accomplished several ways I can think of, off hand.

Of course, if that doesn't accomplish what you'd like, then never mind.

Sehven
12-08-2014, 04:22 PM
Yeh, thats a tough one to get round. From a gameplay PoV, Swoop gives you a load of freedom for player navigation, but that brings a ton of design issues to work out if you're using it alongside the regular bots.

A few potential options that might spark something for you -

Limit Swoop to a couple of confined areas where it'd be a lot easier to manipulate and reign in his freedom and his interaction with the other players.

Have him appear as a timed power up only one player can use but only playable for a short time a la Smash Bros. Alongside the scramble to get him between the players, could be fun if you can work it so the other players know they have to shift their focus from attacking each to taking him down or escaping. Might get a bit complicated communicating this simply though.

If you want to keep in as much freedom as possible, work in some kind of radius indication so the player knows that getting within a distance 'x' of another player will force an auto change of his layer, and he can make the choice to avoid or pursue that way, rather than having to build a logic system that tries to second guess the players intention.

I don't think it would take long for most players to instinctively pick up on the rule that getting close to another player forces a layer change. How you implement that cleanly with more than one opposing player I have no idea, heh heh.

Good luck with it!

Sorry, I'm at work so I spent over an hour typing that last response and missed your post.

So here's a screenshot of the arena:


http://www.lbpcentral.com/forums/attachment.php?attachmentid=49650&d=1417937857

I've added a bit more but essentially there are three layers down below, two more layers up above (with a three layer gap between them) and, (not pictured as it was added after the screenshot) a tree on the right that occupies two layers and sits behind the other two layers. Swoop will generally be perched up there but will occasionally fly around (I'll probably set up a rail mover for him to follow or something) and may even try to nip at players if they get too close. The player can kill Swoop for a few points or they can mount him, which will make him invulnerable to their attack so they're free to attack others.

This will be a lightsaber level, which means the player will need to hold down R2 to attack. I can probably use that in the logic to detect aggression and whether to auto layer shift toward opponents. I'm liking the suggestion of grouping the layers into clusters using L1/L2 to shift between layer clusters. That way, as far as Swoop is concerned, there are really only two layers. The player can land and hop up or down to layer shift just as Sackboy would or, if they approach another player with their saber ignited, they'll automatically layer shift to match them. Or, you know, they could use the layer launchers if they really want.

Kind of a grouping of all your suggestions. What do you guys think? Think it'd be intuitive enough that the player could figure it out without too much effort?