How do I make a 2D spiraling platformer?
I'm typing to make a 2D platformer that plays on the exterior of a cylinder. It's proving more difficult than expected. I've tried a few methods, each time I encountered a problem I couldn't figure out. How would you Dreamers go about this?
-
So to break the problem down into English, the major component here is essentially mapping 2D movement into 3D space, is that right? You only want left and right inputs, but you want the avatar to automatically move in and out of the screen as the cylinder rotates. I'm guessing you also want the character to always be closest to the screen.
This might seem weird, but have you considered making the cylinder, or a core element of it, the primary controlled object? So left and right rotates it, while all other inputs (jump, attack etc.) control the avatar. If you set up a new camera locked to follow the avatar as they ascend/descend, and create some auto-follow logic on the avatar so they're always in the center of the screen, it will feel like you're moving them left and right. -
What Flash said.
There is a level I think called Planetoid Pandimonium that does this but with a sphere not a cylinder. Might be useful reference for you. -
Flash, you're correct in what I'm trying to do. Unfortunately, making the stage the primary moving object won't work for my project. Because of the visual filters I'm using, I want the avatar to move so that everything else, including the background, rotates. It looks really cool. I need a way to lock a puppet into a circular plane of movement. Or you can think of it as the puppet orbiting a point on the XZ plane.
Keld, I didn't realize that was remixable. I'll have to check it out. Thanks. -
If the curvature of your cylinder is constant, perhaps you could pipe your L-stick movement through a splitter, add a variable to depth-axis movement with a calculator, and then recombine and pipe to Puppet Walk?
That way every left and right movement will always move you in the depth axis too. All you need after that is a tag or zone to ensure that depth movement is positive when moving away from the center of the screen and negative when moving towards the center.
Por favor, entrar para comentar.