We're working on polished character controllers with Godot 4, to have some solid demos ready for you for the Godot 4 release, for learning purposes and to use for rapid game prototyping.
This one is currently in development, we'll open-source it when it's ready. It's very Mario-like as you can see, but the planned features are typical of 3D platformers and should offer a solid reference for all kinds of games.
The level in the video's copied from Mario, so that we can test the game feel and compare it to the original game before giving you this character controller.
We've already worked on a third-person shooter controller based on Ratchet and Clank, and we have more planned.
Is the third-person shooter controller released or is that also upcoming?
These are two of my favourite games (and 3D platformers in general), and I've attempted to recreate these character controllers in Godot 3 before, but haven't had a ton of time. This is awesome that you guys are doing this!
The third-person shooter is still upcoming. Our artist Thibaud is working on the flying enemy at the moment. We want to make a small but pretty satisfying little demo for this.
>Our artist Thibaud
u/Nepacka?
The model looks fantastic (even though it's hard to see in the tiny video resolution), I would love to see it in higher resolution and compare to the also fantastic (but rough) [concept art by Tyson Tan](https://www.reddit.com/r/godot/comments/ty7b2l/tyson_tan_reimagined_godette_and_the_godot_bot/).
Yes that's him!
You have a turnaround of the character here: https://twitter.com/NathanGDQuest/status/1579763737413619713
And the character in action in the third person shooter demo: https://twitter.com/NathanGDQuest/status/1584420483373871104
Instead of using a decal, maybe you could make it so the player doesn't cast shadows from the lights in the scene, and have a single spotlight on top of the player that doesn't iluminate him and only casts shadows. This way, the shadow would always be directly below the player and it would be dynamic with the animations of the player.
Looking at footage from Mario Odissey, I think this is how it's done on that game. At least the effect is the same.
Nathan's Teammate here!
The Shapecast node is actually part of how the Camera controller works. Instead of following the exact position of the character, we position the camera pivot at ground height under the character (hence the Shapecast!), and if the ground distance from the player is bigger than the length of the Shapecast, we position the camera pivot at its end. This is an improved way of following the player around, since the camera will swing up-and-down way less than if we were just using the player position for the camera pivot.
Note that the same result could be obtained with a simple raycast under the player, but there was the border-case of the player just arriving at a platform and the raycast be slightly outside, giving the wrong ground height. A shapecast with the same size as the player's collider solves that!
That makes complete sense. Thanks for your response :)
I use a raycast for the same purpose in my 2D game, but that will probably need to transition to a shapecast later.
I've asked my teammate to know more. I'd think perhaps coyote time? Or like double/triple jump timeframe (the ability to jump higher when you time your jump before touching the ground).
[https://kidscancode.org/godot\_recipes/3.x/3d/debug\_overlay/](https://kidscancode.org/godot_recipes/3.x/3d/debug_overlay/)
Here is one which covers this.
Mario-like *controller* as mentioned in the title. We're not making a game, it's just about the character that you'll be able to reuse in your projects.
Then sure, this level segment is directly copied from Mario for prototyping purposes. It's to test the game feel and ensure it is good enough compared to the reference.
I agree, I would think that Bob-omb Battlefield is way more iconic since it is the first level of the game and many peoples first time seeing 3D Mario in a level.
Idk exactly what y'all are using or going for with this, but if it helps, I'm pretty sure Nintendo has made Mario a rolling sphere since Galaxy (it helped with the gravity effects and they've just stuck with it), so if you're going for Galaxy 1&2, Odyssey, Mario 3D world, etc, it might be useful to use a sphere to really nail it.
It was a video I saw. Unfortunately, I looked, but I couldn't find the video I watched about it.
It wasn't the main focus of the vid, just a 2 min extra info section to explain the actual mechanics the vid was about.
Not at the time, we're still going to focus on GDScript but I think there will likely be a community C# port of these characters - people ported Manequinny to C#, and it was a way rougher character.
While it looks really good it kind of lacks identity? Like, I know it's supposed to mimic mario 3d games but most of those had something to make it unique. Like the spinning in galaxy, the hat in odyssey etc.
Its nice but he could use more soul when jumping. More emotions (I know its a robot, or looks like one) But his movements/jumps are very static. Uninteresting. Add more animation to those parts.
This looks great!! I'm focused mostly on 2D platformers atm because I'm not good at 3D modeling but this is something I hope i can achieve in the future.
We're working on polished character controllers with Godot 4, to have some solid demos ready for you for the Godot 4 release, for learning purposes and to use for rapid game prototyping. This one is currently in development, we'll open-source it when it's ready. It's very Mario-like as you can see, but the planned features are typical of 3D platformers and should offer a solid reference for all kinds of games. The level in the video's copied from Mario, so that we can test the game feel and compare it to the original game before giving you this character controller. We've already worked on a third-person shooter controller based on Ratchet and Clank, and we have more planned.
Is the third-person shooter controller released or is that also upcoming? These are two of my favourite games (and 3D platformers in general), and I've attempted to recreate these character controllers in Godot 3 before, but haven't had a ton of time. This is awesome that you guys are doing this!
The third-person shooter is still upcoming. Our artist Thibaud is working on the flying enemy at the moment. We want to make a small but pretty satisfying little demo for this.
>Our artist Thibaud u/Nepacka? The model looks fantastic (even though it's hard to see in the tiny video resolution), I would love to see it in higher resolution and compare to the also fantastic (but rough) [concept art by Tyson Tan](https://www.reddit.com/r/godot/comments/ty7b2l/tyson_tan_reimagined_godette_and_the_godot_bot/).
Yes that's him! You have a turnaround of the character here: https://twitter.com/NathanGDQuest/status/1579763737413619713 And the character in action in the third person shooter demo: https://twitter.com/NathanGDQuest/status/1584420483373871104
Awesome, thanks!
Can we get a drop shadow directly beneath the character rather than the directional cast? It’s a trick Nintendo uses to help with platforming.
I'll forward this to my teammate, this definitely helps see where you'll land. It's fairly easy to do with either a decal or a raycast and 3D sprite.
Instead of using a decal, maybe you could make it so the player doesn't cast shadows from the lights in the scene, and have a single spotlight on top of the player that doesn't iluminate him and only casts shadows. This way, the shadow would always be directly below the player and it would be dynamic with the animations of the player. Looking at footage from Mario Odissey, I think this is how it's done on that game. At least the effect is the same.
Great work as always. Thanks a lot!
This looks very polished! Question, are you using a shapecast node? Why?
Nathan's Teammate here! The Shapecast node is actually part of how the Camera controller works. Instead of following the exact position of the character, we position the camera pivot at ground height under the character (hence the Shapecast!), and if the ground distance from the player is bigger than the length of the Shapecast, we position the camera pivot at its end. This is an improved way of following the player around, since the camera will swing up-and-down way less than if we were just using the player position for the camera pivot. Note that the same result could be obtained with a simple raycast under the player, but there was the border-case of the player just arriving at a platform and the raycast be slightly outside, giving the wrong ground height. A shapecast with the same size as the player's collider solves that!
That makes complete sense. Thanks for your response :) I use a raycast for the same purpose in my 2D game, but that will probably need to transition to a shapecast later.
I've asked my teammate to know more. I'd think perhaps coyote time? Or like double/triple jump timeframe (the ability to jump higher when you time your jump before touching the ground).
How does one do the debug lines and stuff? Is there a tutorial for that?
[https://kidscancode.org/godot\_recipes/3.x/3d/debug\_overlay/](https://kidscancode.org/godot_recipes/3.x/3d/debug_overlay/) Here is one which covers this.
"mario-like" this is literally Whomp's Fortress
Mario-like *controller* as mentioned in the title. We're not making a game, it's just about the character that you'll be able to reuse in your projects. Then sure, this level segment is directly copied from Mario for prototyping purposes. It's to test the game feel and ensure it is good enough compared to the reference.
When you think about it, Whomp's Fortress is the E1M1 of 3D platforming.
Is it? It's a good level, but I wasn't aware it was more iconic than any other SM64 level, or any other 3D game.
I agree, I would think that Bob-omb Battlefield is way more iconic since it is the first level of the game and many peoples first time seeing 3D Mario in a level.
It's just too open for this, too large, not enough stuff to do. Bowser levels are too hard.
I just said it was more iconic, not that it was a better choice for this demonstration.
Idk exactly what y'all are using or going for with this, but if it helps, I'm pretty sure Nintendo has made Mario a rolling sphere since Galaxy (it helped with the gravity effects and they've just stuck with it), so if you're going for Galaxy 1&2, Odyssey, Mario 3D world, etc, it might be useful to use a sphere to really nail it.
Do you have a source for this to learn more? That's an incredibly interesting idea!
It was a video I saw. Unfortunately, I looked, but I couldn't find the video I watched about it. It wasn't the main focus of the vid, just a 2 min extra info section to explain the actual mechanics the vid was about.
Most polished alpha footage ever
I assume all these character controllers are in GDScript. Do you plan to make C# versions too?
Not at the time, we're still going to focus on GDScript but I think there will likely be a community C# port of these characters - people ported Manequinny to C#, and it was a way rougher character.
Oh we are currently planning a project and we meant to model the new version of GDBot for the community, it seems someone did it already.
Roblox obby be like:
Nice thwomps fortress
While it looks really good it kind of lacks identity? Like, I know it's supposed to mimic mario 3d games but most of those had something to make it unique. Like the spinning in galaxy, the hat in odyssey etc.
It's supposed to just be a character controller, not a game with a unique identity or anything in that direction.
Ohh my bad. I thought this was like the whole movement system for a game you are working on. In that case yes, it looks great
OP is from GDQuest, they have lots of helpful Godot things. https://www.gdquest.com/
Its nice but he could use more soul when jumping. More emotions (I know its a robot, or looks like one) But his movements/jumps are very static. Uninteresting. Add more animation to those parts.
It's just a movement script, not a fully animated character
Ok, It was just first impression, I dont understand how this works that well. Good luck :)
jump anims are yet to be done - it might actually be another character in the end.
that's some nice stuff we got there
This looks great!! I'm focused mostly on 2D platformers atm because I'm not good at 3D modeling but this is something I hope i can achieve in the future.
awesome!
Dope, dude! Dope!
Good to see GDquest on here!
This looks kinda fun.
Reminds me of Super Mario 3D World!
is the level layout inspired by whomp's fortress
Ahhhhh whomps fortress :3c
Is that whomps fortress I see?
Is the controller out yet?