#"Plant-former" (unnamed 3D platformer)

1 messages Β· Page 1 of 1 (latest)

fierce sand
#

A project to create a fun-to-use 3D-platforming character controller, with the hope of moving towards a Banjo-Kazooie-style game in the future.

#

Working on objects which have special interactions with the player's grapple action, including a lot of forgiveness re: aim when the grapple is fired (to make hitting a small target easier) and the ability to produce special interactions upon zipping to them (currently the only one is launching the player forward, as seen here)

fierce sand
#

"Plant-former" (unnamed 3D platformer)

lone tide
#

This is looking sooooo cool. Love the way movement is looking. I wanna play!

errant holly
#

Also really dig the movement! For some reason it makes me think of Falco from Smash Bros

copper thistle
#

Nice grapples.

#

Plant is cute πŸ₯° 🌿

wet cove
#

I might be biased since I'm also working on a grappling hook platformer, but the wall grapple to wall jump to midair jump is ❀️‍πŸ”₯

brazen rapids
#

The animation on the legs is perfect! Makes me feel like the character is "small but agile" if that makes sense. Piece is looking rad so far!

fierce sand
rotund parrot
#

I like the "plant former" pun. also this looks cool

wet cove
brazen rapids
fierce sand
#

I was out of town last week, but now I'm trying to regain some momentum on this project. It doesn't feel like much, but I implemented support for moving platforms which the player will stand on as they move, which is something I've definitely wanted πŸ™‚

#

They use a node system and can theoretically have an infinite number of points to move between in sequence, both forward and backward

shadow current
fierce sand
#

Whereas my setup previously assumed that vine grapple target and wall-grab points were static, it's a bit tricky to get moving ones to interact correctly

wet cove
fierce sand
rotund parrot
#

Making great progress

#

This gives me sonic adventure battle 2 vibes

fierce sand
fierce sand
#

These are what I'm planning to use as collectibles. Small green leaves are like Mario's coins, while the three larger ones are for progressively more difficult challenge types

#

I'm thinking:

  • Bronze will be hidden around the stage in hard-to-reach platforming spots
  • Silver will be for completing puzzles/combat challenges/etc. unique to the world, with the challenges varying heavily
  • Gold will be for specific tasks that are consistent on each world, such as defeating the world boss and reaching the highest accessible point on the terrain
fierce sand
wet cove
#

Ahhh, I love these so much! 😍 This game is shaping up to be right up my alley 😁

fierce sand
#

I've been in a deep depressive rut lately, but today's release announcement for Penny's Big Breakaway gave me the inspiration I needed to figure out a feature I've been trying to implement. Implementation didn't start out smooth, however...

#

Also while messing with it, I think I've stumbled across what could be a fun climbing mechanic in a game. It isn't right for this project, but I might revisit this in the future

brazen rapids
#

Sorry about the brain space lately. It's almost the end of Winter, that prolonged lack of sun starts to hit us with the dangerously low vitamin D. Hope the creativity has helped. Project is looking banger as always!

fierce sand
#

Thanks! πŸ™‚ Yeah, this time of year is always tough. But I am still enjoying working on this! There are a few things I still want to add to the character controller, but it's getting close!

wet cove
#

Yeah, I'm totally feeling this too 😩 I need summer to be here so I can go on some walks and soak up that sun. Hang in there - The game's looking great (Bugs included πŸ˜‚)!

fierce sand
#

Ever since I started playing with grappling vines, I knew swinging from them would be a logical inclusion as well. Unfortunately, I was stumped on how to implement it such that it would flow well with the rest of the game's movement - the player's movement is very free and not significantly limited by the environment, so having to find things to swing from felt too limiting, on top of how difficult it would be to implement it.

After seeing the trailer for Penny's Big Breakaway in the recent Nintendo Direct, I really liked how the player was able to throw their yo-yo into the air and swing from it no matter where they were (that was the impression I got, anyway), and it finally hit me that that's how I could do it in this game too! After much polishing and much math to get it to work smoothly, I have swing-able vines at the press of a button regardless of location! (Unless the player is facing a wall too closely or is grounded / too low to the ground that swinging would just place them back onto it immediately.) It's limited to once per jump to make it not so OP.

This is kind of making the Dash action I already have in-place feel a bit redundant, plus having both the dash and a vine-swing to extend a jump might be too much IMO. I'll have to experiment to figure out how to make both work together, or whether I should cut the Dash ability entirely.

shadow current
#

oh wow, I like the petal scattering effect you added to the flower at the top of the vine, looks nice

wet cove
#

This is fantastic! IDK if this would fit your game, but one idea would be to give the player their dash back after using this. So the flow would be: Jump -> Dash -> Swing -> Dash again (Since it was returned with the swing).

Also, just another idea regardless of what you go with: It's always great if there's some sort of visual on the player to show whether or not the player has their swing and/or dash (eg, Celeste's hair).

fierce sand
#

My cel shading now has shadows! To make a long story short, I was able to have cel-shading with no shadows, and materials that showed only shadows while otherwise being transparent. I struggled to combine them into one shader but never succeeded... then I realized I could just apply two materials to each object, one with the regular cel shading and one with the shadows, and they'll combine in the way I want. It feels like a goofy solution, but I guess it works.

#

I also figured out that my wall-detection setup was acting wonky when rubbing up against walls at any angle other than perfect 90-degree intervals. I puzzled out new math to use for it, and now it seems to be working properly.

shadow current
#

lol, I swear someone in VC was talking about this exact solution where you add two materials to one object and get both shader effects. if it works it works 🀷

brazen rapids
fierce sand
#

I've been using mouse-and-keyboard controls for convenience thus far, but I want to switch to gamepad controls since that's my target control scheme. Yesterday + today I added a walk animation that blends with the existing run based on movement speed, which obviously isn't visible with keys in place of a thumbstick

#

I'm thinking I might compile all these bug clips and make a video to serve as an endgame unlockable

#

(With appropriate goofy sound effects added, of course)

fierce sand
#

Whew... learning about NavMeshAgents has been a much bigger pain than I was expecting. But I think I'm getting behaviors close to how I want enemies to act! They can see the player within a certain frustum in front of them and will pursue until they can't see the player, at which point they'll target the player's last visible position and look around a bit upon arriving before going back to their regular patrol.

#

Their vision range gets larger when they are actively pursuing or looking for the player since they're on high alert

#

The video doesn't show it, but I also made a cool setup where each enemy can alert all others in a radius around it of the player's presence upon spotting them, so they can all swarm at once

final viper
#

Neat!

#

Looks like some good use of gizmos for debugging you got there

#

Something I've found helpful with NPCs is when in doubt, add extra visual feedback for their state changes

#

You're still in prototyping stage of course, so something to keep in mind for later

fierce sand
#

Yeah, I definitely plan to add some strong visual feedback. I'm still debating where I want to take this game thematically (I've basically been winging it this whole time rather than following any kind of plan πŸ˜… ), but one of my favorite ideas right now is to pursue a nature-vs-industry theme with robot enemies, to which I'd attach lights to indicate their state, in addition to body language

final viper
#

Nice, yeah playing the enemies as a foil to the player characters plant theme sounds great

#

Winging it's not so bad, it means you're giving yourself the room to the explore, and you can add things as they fit with what you've already got

#

In some ways, that could wind up more coherent than a top-down approach that might otherwise make certain assumptions

#

In any case, it looks like the approach has been working for you well so far! πŸ˜ƒ

brazen rapids
#

Love the thought of having stealth elements in your game! Bouncing between chaotic running and sneaky moves sounds like a great time

fierce sand
#

I made a quick enemy model and gave it some simple animations. This is roughly the visual style I'm leaning toward for the bad guys, though obviously the textures will be less blank

#

The sawblade is also only meant to deploy when attacking, not when chasing, but I added it to the chase anim since I wanted to see it and I haven't implemented any attacking behavior yet

polar onyx
#

Oh he's scary!

#

In a cute way

fierce sand
#

What have I created

brazen rapids
#

Evil roomba!

rotund parrot
fierce sand
#

Working on another enemy robot design. This one is big and very fast, but only charges in straight lines upon spotting the player

fierce sand
#

Big wheel robot meets his brother

#

I've been leaving this project on the back burner for a bit as I dive into the Team Fortress 2 summer Workshop grind, but I'm trying to regain some momentum

fierce sand
polar onyx
#

He's so zoomy!

fierce sand
#

I've just started playing around with level design to try to figure out how to build a world that will work well with the player's extreme freedom of movement. It's not much, but I think what I have so far feels pretty satisfying to move through!

(Ignore my clumsy failure to initiate the final wall kick segment :P)

#

With how nimble the player is and so many airborne movement options, I think one of the biggest challenges regarding level design in this project will be finding the balance between allowing skilled players to bypass sections with fancy use of the player's abilities and preventing them from doing so in a way that breaks or trivializes the game. The undercover scaffolding at the end of the video is one example of how I think I can do this, by allowing only one route into an area that can't be bypassed by fancy jumps, but offers both a developer-defined path that's straightforward and not too hard to cross and the ability for a skilled player to jump straight to the bottom of the wall-jump section from above.

#

Vitally, the player cannot get into the ending area without using at least part of this path (the open sides will obviously be blocked off in the end), thereby working around the issue of freedom of movement leading to total deviation from level paths.

polar onyx
#

I think yooka laylee, while far from a perfect game, handles vertical level design really well

#

The first level was really memorable

#

Mario odyssey might also be a good reference because some of the non-capture movement has the potential to be really broken, but the level design takes this into account really well and rewards skilled players for finding and taking difficult routes

fierce sand
#

I love both of those games! I might have to replay them to take some level-design notes

brazen rapids
#

Looks very fun with the character utilizing the environment and wall jumps for movement! Level building will be ripe with potential πŸ‘Š

fierce sand
#

I haven't done much on this project lately because my initial goal was just to make a fun character controller, which I did, and now I have to figure out how to actually make a game...

#

That said, I have been having a blast animating Floria and giving her reactions to different environmental conditions. It isn't all perfect yet, but I'm really happy with how it's coming along!

brazen rapids
#

I think that’s how some of the best projects start! This is definitely something I’d play, so hoping you can stay inspired to get some levels put together

final viper
#

Those animations are looking great, so expressive! πŸ˜„

wet cove
#

Wow, I love all the different animations! The shiver walk animation is my favorite - Well done!

polar onyx
#

The expressions are so good!

fierce sand
#

Thanks! I love cartoonish exaggerated expressions, so making Floria as expressive as possible has been a priority πŸ™‚

#

I hope she doesn't have a pollen allergy, given she's a plant

fierce sand
#

Adjustable camera distance! I've been meaning to implement this since the beginning but never got around to it until now. The camera cycles between three distances at the press of a button (middle-click on keyboard + mouse, right stick click on controller)

fierce sand
#

Someone please water her, she is going to dry up in this heat 😦

Heat distortion was a pain and a half to get working properly, and I'm not even 100% sure my roundabout way of doing it will be viable in the long run, but after a full day of tearing my hair out while Googling frantically, at least I have it!

#

I'm also just now noticing that the distortion effect doesn't cover the sides of the screen... 🫠

#

At least that's an easy fix (mixed up anchoring/sizing on my HUD canvas)

fierce sand
#

Now that the TF2 workshop grind for the summer has wound down, I'm trying to convince myself to get back to work on this in earnest. Floria needs to be able to combat enemies, but her hands are leaves and thus pack very little punch. Her boots are the most solid part of her, so I made her able to kick. She can chain up to 3 kicks while grounded (probably not gonna be huge in gameplay, but I based it on Super Mario 64's grounded attacks), or do a single backflip kick while airborne. Currently this is just an animation with no enemy interaction and has a lot of experimentation left to do to get it feeling just right, but it's a start!

fierce sand
#

It may not look like much from the outside, but this is huge because I've been struggling to figure out how to do it for years: Floria can now look at and track targets independent of her other movements! It adds so much life to a character when they can react to their surroundings like this

rotund parrot
#

looking really good

polar onyx
#

SO COOL

fierce sand
polar onyx
#

FANART?????

#

It's official, you've MADE IT

#

You can die happy

#

I think

fierce sand
#

It was actually just a thread where someone was taking requests of characters to draw, so not out-of-the-blue fanart... but I'm still really happy to have it!

polar onyx
#

STILL GOOD

fierce sand
#

I've been working on a few fundamental things behind the scenes that aren't ready to show off just yet, but have this clip in which I accidentally made Sonic the Hedgehog

#

This is not sped up! It's the result of me trying to find a good way to handle slowing the player down during certain actions while allowing them to return to full speed immediately afterward

polar onyx
#

ship it πŸ‘

fierce sand
#

It's been a while since I've posted anything about this project... it's because I haven't had much drive to work on it lately, and when I do work on it, most of what I've done has been behind-the-scenes stuff that isn't easy to show off. But I have made a few changes since last time!

Of note:

  • I completely redid my wall-detection setup. The old one only worked if the wall crossed a line near Floria's waist (it was using ray casts at that height and nothing else). After much trial and error, I created a system that uses capsulecasts to determine the presence of walls, combined with raycasts to verify the wall normals and such. So far it seems to be doing what I need it to.
  • I decided I really didn't like the kick attack I created before because it brought the player to a jarring halt in the middle of what was otherwise very fluid movement. It took a while to decide on a replacement, but I went with a graceful pirouette-style spin which doesn't slow her down at all, allowing combat to feel much smoother and more satisfying. It doesn't feel very powerful yet, so I'll need to figure that out.
  • There is also a slide attack (which has been in the game for a long time, but I forgot to show it off :p ) and the previously-shown ground-pound attack. Additionally, Floria can use her vines to latch onto an enemy, pull it in, and destroy it! This currently reuses one of the old kick animations, but I'm going to fine-tune it to better match the timing of the action.
  • I also got wall-grabbing working for rotating objects! Now the player can grab a wall on a spinning object and will move with it as expected. Interaction when running into stationary walls during this still needs to be sorted out.

I showed off as much of that as I could in this video. I hope I can get my motivation back soon!

#

Oh yes, and enemies also explode into smoking pieces when destroyed!

polar onyx
#

I WANT TO PLAY THIS GAME SO BAD

final viper
#

Looks like some great progress!

#

One thing I've found that helps when my motivation is low is reminding myself the whys behind the project. Helps to ground me in what got me into it in the first place

#

Fwiw, it looks like you've got a solid foundation to a fun and satisfying platformer! πŸ™‚

shadow current
#

the movement looks so good as always, the spin is fun! for me something that helped with motivation was getting other people to try it out. both because:

  1. people encountering issues or not liking things which then motivated me to fix things
  2. people liking it! made me happy and want to work more
copper thistle
#

So much fun movement!

signal pawn
#

Looking good! All the movement seems really smooth and fun

fierce sand
#

Running into a wall while grappled to a moving object now cancels the grapple! It used to shift automatically to grapple the other wall, but that wasn't specifically-coded behavior (just how it happened to resolve itself with my existing code) and it let the player get inside of walls very easily

#

Now that I rewatch the video, she appears to be facing the wrong way when grappled to the platform the first time, but I'm not gonna bother fixing that cuz nothing grapple-able in the game will move this fast

fierce sand
#

Something I put in tonight to make the spin move more fun: spin continuously by repeatedly pressing the attack button! Floria also leans into the spin attack now to give it a better feel. I plan to add some more VFX to this as well as implement a limit where spinning too much makes Floria dizzy.

#

I'm really glad to see that y'all are liking this so far! I plan to get a playable sandbox demo out at some point so folks can try it out and give feedback on the controls

wet cove
#

I was heads down for a while releasing my game, but it's great to come back to see all your progress - The game is looking fantastic! I'm with Alex- I want to play this game so bad! And I think all of our projects could use more "super speed rotation grapple"-type videos πŸ˜‚

fierce sand
#

Coming soon: swimming!

I've wanted to add swimming to this character controller since the beginning, but was hesitant to start since I wasn't sure how to go about it. The solution ended up being hidden away in another attempt I'd made at this same kind of controller almost a decade ago and had done a swimming setup, and I was able to develop a cleaner version of that system for this. I can't wait to show it off in action once I've got some character anims in and debug it a bit more!

fierce sand
#

This went a lot faster than I expected! I now have swimming fully working and looking/feeling pretty nice. Not shown here is that the player can jump while surface-swimming the same as jumping on land. I'll probably add an underwater spin attack as well as an aquatic enemy type or two

#

(This was fixed by checking that water is deep enough for deep-swimming and preventing the player from diving if it is not. This was actually a surprisingly satisfying way to move around the world, so I might consider it for a future project...!)

final viper
#

Nice, the transitions into and out of the water look super smooth!

fierce sand
fierce sand
brazen rapids
#

Evil roomba could not stand its own evilness anymore

fierce sand
#

Man, I hate how inconsistent I am with this project... I just haven't felt motivated to work on it lately. I think I need to change my approach because I'm just not feeling the direction I've been taking it thus far. I think I might drop the robot enemies idea and try something a little more varied/interesting.

In the meantime, I did some more animating tonight, for when the player overuses the sustained spin attack.

polar onyx
#

Don't force yourself to work on it if you're not feeling it! That's a 100% recipe for burnout

brazen rapids
# fierce sand Man, I hate how inconsistent I am with this project... I just haven't felt motiv...

Something that's helped me when I've been feeling burnout or creative-block is "just get the level done." By that I mean I stick with the original concept of the level or idea and finish it out. Often if I still don't like the level then I go back and change it later. I actually redid eight levels on my game over the past month to make it more interesting. Those hurdles are tough, but a lot of times for me when I finish out the idea it clears space in the brain for new directions. Hope that helps!

fierce sand
fierce sand
#

I made some big progress today and got level loading working! It isn't pretty yet, but it will have a nice fade-out/fade-in by the end. I can also define player and camera start points and angles when moving to a new scene, and Floria's current health total is maintained as well. I also worked a bit on a simple platforming challenge area to try to get a feel for the types of challenges I want in the actual levels

fierce sand
#

As I've worked on my current simple platforming challenge demo area (pictured here), I've thought a lot about how to go about designing my "real" levels down the line. I've found that more traditional layouts tend to either be trivialized by the player's aerial abilities or become super claustrophobic and awkward when trying to limit aerial movement, which also makes all the player's movement abilities kind of useless. They also just aren't fun to work on for those reasons.

I'm now considering drawing inspiration from the levels in Super Mario Galaxy and the sky islands in Zelda Tears of the Kingdom and setting the game in the sky on floating island clusters. It would contextualize Floria's hyper-mobility (she has to be agile to get around the islands) and would allow for many free-floating structures, which I think will help in not making the player feel confined.

(Plus it means I could use a system I made for fun a while back that simulates a huge landscape far below the player, which I think is a very cool effect for generating a sense of scale and height!)

fierce sand
#

One thing I've been experimenting with lately is perception of perspective in-game. I've found that increasing the camera FOV helps to make distances a lot easier to judge, but also looks a little odd. Left here is 75 FOV, which is what I'm currently using; right is 60, which was my original setting but makes judging distances hard in complex environments. Has anyone had any thoughts on how to make judging perspective easier in 3D games?

#

(These look so much more similar to each other than they did in-game...)

wet cove
#

I've never made a 3D platformer, but I've played so so many of them. Some random things off the top of my head:

  • Drop shadows. On everything. This doesn't exactly help with judging distances, but it'll help the player land on the platform
  • Build things to specific metrics. This is important in general in a 3D platformer, and is especially important for jump heights, but it can help people judge distances as well if most things are X units away from each other
  • Put things that are too far for a jump MUCH further than the normal jump distance. If it's close, players will try and fall/die, but if it's definitely too far, that helps tell the player they shouldn't even attempt it (Or that they need a new ability to do it)
  • Add mechanics that let the player get back if they start a jump that's too far - Double jump, Mario Odyssey's hat bounce, grapple back to the platform, wall jump, etc
  • Don't make your game super punishing if the player does fall (Unless that's your design intent), and build levels that allow the player to get right back to where they were (eg, not too much verticality, lowering a ladder that acts as a shortcut, or finding some sort of checkpoint [eg, Mario Odyssey's flags/fast travel])

I'm honestly not sure if there are camera tricks or anything like that that can really help with this. I think it's much more a level design/mechanics sort of thing, at least as far as I'm aware.

fierce sand
#

Guys I think I imported the model wrong

#

(Reimported it and the scale was reset to 1 from 100 (weird Blender relativity for some reason), so it turned into this :p)

polar onyx
#

flora from the hell dimension

fierce sand
#

Playing around with a 3D skybox setup using both a distant-ground setup I made a while ago for fun and a new triplanar fade shader for the mountains that took an entire afternoon of bashing my head against my desk to figure out. I like how it came out though!

#

There's parallax for the background objects so they can be small in-engine, but will seem super far away to the player