Forced-Scrolling Platformer Questions [RESOLVED]

For questions about using Classic.

Post » Fri Aug 10, 2012 7:18 pm

.CAP
https://dl.dropbox.com/u/29072735/forcedscrollplat_test.cap

I am fiddling around, trying to make a forced-scrolling platformer level, much like how you see in Super Mario Land 2. Or more accurately, Wonder Boy 3: Monster's Lair.

Above is my test .cap, and I have some questions on implementing some processes:

1) Border Death:

In the .cap I have some events set up to where if the player is at the edge of the screen, and is caught between the edge (BorderKill) and a solid, the player is crushed.

I have set up what I thought might work, but the player still goes through the solid.

What I have:
System>Compare Values
If
player.XLeftEdge = BorderKill.XRightEdge
playerXRightEdge = Ground.XLeftEdge
>>Set Global.Death = 1

Is there a better way to do this? Using dummy sprites? Any advice would be appreciated!

2)Checkpoint Respawn

In the test CAP, I have it so that when you die, the system picks the closes checkpoint spawn to the KillBorder. I assume this would be the most efficient and easiest way to handle checkpoint respawning.

3) Player Speed

I would like a consistent player speed as he is moving to and fro. Right now it seems that moving against the scrolling makes the player move slower, whilst moving with it makes him go faster (obvious enough).

I have tinkered with a few ways to get consistent speed no matter which direction the player is moving in. Namely the toggled event in "Camera" Event Sheet:

player: Set X to player.X + (global('ScrollSpeed')*timedelta)

Untoggling that option gives what I feel is much smoother movement, with the trade-off being that the player is ALWAYS moving (which I would think would make platforming difficult). When I had this system set up I would have an event like

"Move Left" is down:
Player: Set Player.X to Player.X - (PlayerValue(Speed)*timedelta)

Which would violently fling the player to the right, regardless of whether it was adding Value'Speed' or subtracting Value'Speed' Which is confusing. This configuration worked fine with my forced-scrolling shmup engine, so I can't quite isolate the factor here that's causing the problems.


I am not especially looking for answers here, but feedback and ideas.

Any help would be appreciated!

-IngEmperorIng3602012-08-11 01:37:59
B
19
S
3
G
2
Posts: 148
Reputation: 1,945

Post » Fri Aug 10, 2012 8:28 pm

B
79
S
24
G
55
Posts: 4,755
Reputation: 41,273

Post » Fri Aug 10, 2012 9:13 pm

Thank you for the example; it pointed me in the right direction - as is usually the case, the simplest method is the preferred one. I wouldn't have thought to use Unique IDs!

B
19
S
3
G
2
Posts: 148
Reputation: 1,945


Return to Help & Support using Construct Classic

Who is online

Users browsing this forum: No registered users and 0 guests