[Request] Update 8 Direction Behavior

Discussion and feedback on Construct 2

Post » Mon Nov 24, 2014 5:54 pm

I’d like to request an update to the 8 Direction Behavior and collisions. The behavior works well when colliding with 90 degree angled solids, but really fails when dealing with off angle solids. Here is an example:

Image
When hitting an angled solid, the movement just stops. Here's how I think it should work:

Image
The object should move with the angled solid until it hits an angle limit - probably anything > 45 degrees. I feel like this update would make the 8 Direction Behavior act more like professional games with top down movement.

And here is a capx to save some time in setting up a test:
http://www.louisferina.com/games/8dir.capx

-Lou
B
81
S
53
G
42
Posts: 370
Reputation: 26,455

Post » Mon Nov 24, 2014 6:16 pm

Wall sliding would be nice.

Here's an example of how it could look.
viewtopic.php?f=147&t=95108&p=736233&hilit=wall+slide#p736233
B
94
S
33
G
118
Posts: 5,396
Reputation: 75,853

Post » Mon Nov 24, 2014 6:27 pm

is normal that the object stop... you are using the basic behavior without any code... and the behavior works well...

you have to make a easy script to make your gameplay...

for instance, if the player touch some wall, the player "bounce" 2 px.... you can also use physics behavior and platform behavior... it dependes how you would like to make it...

you can find a lot of example in this forum ;)
B
21
S
9
Posts: 298
Reputation: 2,967

Post » Mon Nov 24, 2014 6:52 pm

@R0J0hound - Thanks Ill check that out tonight.

@Ribis - Yes, as stated in the OP the behavior does work well, but sliding against angled walls seems like it should be part of the behavior similar to how the platform movement deals with slopes without extra code. The Platform Behavior has received many improvements to increase it's usability but 8 Direction hasn't gotten much attention.
B
81
S
53
G
42
Posts: 370
Reputation: 26,455

Post » Mon Nov 24, 2014 11:09 pm

The more specific the behaviors become the more limited in use they become.

My personal issue with 8 direction is it rotates sprites. Might have to make a new thread about it now that I mention it haha.
B
28
S
8
G
1
Posts: 226
Reputation: 2,865

Post » Tue Nov 25, 2014 1:28 am

@Tylermon - I don't believe that's making it specific, it should be the default movement. Also, you can shut off rotating the sprite.
B
81
S
53
G
42
Posts: 370
Reputation: 26,455

Post » Tue Nov 25, 2014 3:08 am

+1 Update 8 Dir with wall slide.
B
14
S
7
G
3
Posts: 145
Reputation: 3,035

Post » Tue Nov 25, 2014 9:25 am

I agree.

This behavior is very common in video games, so I think it is very reasonable to expect an option to do this.
B
28
S
3
G
1
Posts: 29
Reputation: 1,698

Post » Tue Nov 25, 2014 9:48 am

From a side scroller or platformer perspective this seems like a must have feature..... From a top down game, I can see issues where I wouldn't want things sliding along collisions.

Perhaps there is a barrel in front of the player. Now instead of hitting it, they might slide all around it. Despite a barell being a solid object you want a player to stop at. Or if an environment has objects or props rotated, now these become sliding obstacle courses.

Pushing objects at angles could now break and have players struggle to position themselves. The Boulder they were pushing is now a sliding wall and a nusance to the player.

Only a few examples, but I'm sure people could think of others.
Point being, it is a useful feature depending on the game. Aka specific uses.
Personally if something like that got added, a few of my projects would break. I would have to change over to custom movement which isn't a big deal, but defeats the purpose of an object that is meant to have basic functionality for us to then add on to for our specific games.
Also the 8 way movement is simpler in my net-code would hate to have it break haha.

Add too much, and it becomes the platformer movement. Great for that one purpose. Limiting for much else.
B
28
S
8
G
1
Posts: 226
Reputation: 2,865

Post » Tue Nov 25, 2014 10:17 am

"My personal issue with 8 direction is it rotates sprites"

This is actually a parameter on the behaviour ; it can be disabled, or set to preset values (smooth, 45 or 90deg. angles)

As for the request itself, my feeling is that behaviours and components should remain as generic as possible, letting the end-user achieve the desired results with a bit of custom logic where necessary. Anything beyond this becomes too specific or too convoluted to be practical.

Typically in a game, there will be surfaces that can have wall-slide, and some that don't ; ledges you can grab, and some you can't ; some areas that cause slipping/sliding (ice, etc.), and some that don't. Etc. We don't want behaviour parameters for each possible scenario, that would be clunky, and would imply coupling between concepts that need to remain separate (e.g. character movement <> environment mark-up).

Can you re-create Metroid, Castlevania, Mario, Megaman II and Zelda II, all 2D side-view platformers, with the *same* player behaviour ? Hardly, because each of these have different requirements and work in different environments. You don't want a player behaviour that handles "everything" ; you want a flexible base you can customise to your needs, and that's what movement behaviours are.
Image
Game Producer & Independent Developer - http://raphaelgervaise.com
B
24
S
9
Posts: 240
Reputation: 2,238

Next

Return to Construct 2 General

Who is online

Users browsing this forum: FaberCastell and 7 guests