Post

I've spent *years* researching 3D Platformer Cameras in hopes of making Slime 64's camera "not terrible." In this thread, the White Cylinder is the Camera Target (slightly above the player!), and the Orange Cones represent the "vertical dead zone" where the camera won't follow player movement.

When performing a standard jump on flat ground, the camera essentially doesn't move. However under normal gameplay, if the player moves up far enough to surpass the deadzone, the camera target pretty quickly (but smoothly!) lerps up to keep them in frame. Similarly the same happens when descending.

When airborne we raycast down to see if the player is near any ground. If they are, and the grounded camera position would be *higher* than its current position, it ascends to match. Notice how the camera doesn't descend when going downhill. This prevents undesired "dips", as seen in Yooka-Laylee.

However, these systems aren't enough on their own. Player action should always inform camera behavior. When the player double jumps, they have indicated they want more height. We snap the camera's vertical target to match where they performed the double jump, and then resume normal behavior.

Similarly, we have a limited-range flight ability. Since we expect more vertical gameplay while using this power, we make the camera target more aggressively lerp towards the player's vertical position, essentially bypassing the deadzone. Note the difference between an air jump and a normal jump.

All together now! This is back with auto camera direction and lookahead enabled, which I disabled for the above clips to demonstrate the vertical behavior. I'm very pleased with how it's developed! It feels like the camera frames what I would expect to see very well through various gamestates.

That's all I've got for now. Any developers have other camera tips to share, or questions about my approach? Also tell me a game camera and I'll tell you if I've researched it as part of this endeavor lmao

Yeah, I'm pretty sure the menu code is just as big as the tank controller now. 👀💦 bsky.app/profile/gord...

OK, this one is for the UI nerds. All 3 of you. For a local split-screen multiplayer game, players can have up to 4 controllers active. Each player can select options for their character but cannot click on the UI meant for the other players. It took a lot of work to make this happen. #gamedev

The best I've done is help @myles.zone with a local multiplayer game with an "opt-in" system a la Smash - this looks to be on an entirely different level! bsky.app/profile/myle...

flickshot now has a main menu with player sign-in, configurable match settings like score limit and stage bans, settings for music, screenshake, and rumble, and much more. this is our final update for @pigsquad.com's "finish your game" jam, but there'll be more soon! myles.itch.io/flickshot/de...

0 reposts3 likes

No replies yet.