Kinematic Walker — Character Movement Controller for 3D games

Could you tell me please if I need to somehow update the project to the new realities with the fixed_update() method?

@Pkeod found that the kinematic walker capsule shakes against the walls on modern computers with Windows. But everything is fine on Macbook Air 2012 (!) and Macbook M1 2021.


The project has a kinematic body, manual collision resolution in on_message() and position updating in update(). The current code doesn’t contain the fixed_update() function at all.

Current Defold project settings:

  • Vsync is on;
  • Update frequency is 0;
  • Fixed update frequency is 60;
  • Use Fixed timestamp is off;
  • Max fixed timestamps is 2;
4 Likes

Somebody please make a basic tutorial on 3D and how to unite all three of the basic components, the Kinematic Walker, Illumination and Operator TOGETHER in one project.
I mean, these are the basic building blocks, they all belong in one setup.

I’m migrating my game project from Godot, and while 2D dev in Defold is well covered, the 3D aspect is quite daunting and shrouded in mystery. Heck, I can’t even find proper camera control in editor perspective view, like, is there a free look mode? How can I rotate camera? There seems to be zero info on that in the docs. Only 2D (although the description says that Defold is essentially a 3D engine, yeah, that’s good to know but…)

I haven’t felt so helpless in quite a while, feeling like I’m ready to hire a commercial dev to help me out with this.
This is the game prototype I’ve made in Godot, and I need to rebuild it in Defold.
Looks like all three components I need are there. How do I bring them together in one project?
gameproto

Perhaps @astrochili can provide some pointers? Or maybe someone has already made this work and would be willing to share their setup?

There is some mention of scene view navigation here: Editor overview

  • Pan: Alt + left mouse button.
  • Zoom: Alt + Right button (three button mouse) or Ctrl + Mouse button (one button). If your mouse has a scroll wheel, it can be used to zoom.
  • Rotate in 3D: Ctrl + left mouse button.

And we almost have WASD movement ready. Not sure of the status @jhonny.goransson ?

Definitely looks doable in Defold!

1 Like

Thanks for the info!

The Illumination example project contains all these components in one level collection. So my advice would be to just look at the example that comes with the library :+1:. Or even use it as a starting point.

@electroskeptic But Illumination support only pre-baked shadows. For dynamic shadows, you should look at defold-light-and-shadows, as well as an example of crossing it with Illumination - defold-illumination-new. It takes a bit more effort and study to make it work the way you need it to, so it’s better to start with small steps.

4 Likes

If you encounter some difficulties, tell about it here or in the Illumination thread, depending on the context, then it will be clear how to help you.

There is no full tutorial on how to build a 3D project with these libraries, although I certainly dreamed that “it would be nice someday” to record tutorial video about it.

1 Like

Wow, thanks for this info! I’m delving deep on docs now, then I’ll complete a couple of 2D tuts available to get the hang of the overall workflow and then get to the new templates you mentioned.

I’m so in love with Defold web 3D performance and footprint I’m pretty determined to make my game work in it.
Yes, the shadows and light are very important (most of the gameplay mechanics is exactly about the play of light and dynamic shadows).

3 Likes

Is there anyhing like light detection possible at this point?
Like having a sort of sensor which is triggered whenever there’s light around it?

You can implement this using a collision body in the shape of a cone with a trigger type and place its pike at the ligth source position.

The cone collision body can be created with blender (defold-blender-convex-hull, dae2collision), trenchbroom (trenchfold), or manually (Convexhull shape in 3D).

2 Likes

thanks!

@astrochili
just for confirmation. is it expected that a box shape collision object will not work properly as a collision? what I see is that the player passes through it. if I jump over the cube instead, the collision works correctly.

EDIT: no sorry I’m an idiot. mask must be set to walker. the jump probably works because it’s a raycast - it doesn’t care about group and mask, it just finds something and sits on it

Yaap, it’s a bug #16, a little and safe but confusing bug… )))

hei @astrochili
just wanted to let you know that walker and operator they were essential for my gamejam submission and i would like to thank you :grinning_face_with_smiling_eyes: your name is also mentioned in the in-game hud

2 Likes

Does anyone experience this bug in the html5 demo where if you keep rotating around one way or another or back and forth sometimes it suddenly snaps/jolts another amount of distance? Difficult to exactly reproduce but it happening is really consistent.

Illumination 1.0.1

I have a problem like this when I press Escape to unlock the cursor. Is this it?

Hi. A nice submission! Glad it helped make something to jam :+1:

2 Likes

I see a similar problem in windows where the mouse is not really locked and so when the cursor reaches the edge of the display it is blocked and there is no more movement. in html5 works fine. I did not went deep on it, I just assumed it was related to this

a large chunk of the huge amount of money I’ll make from this game will go back to you :rofl:

1 Like

That happens too, but just rotating the camera around weird things happen occasionally so there is probably some issue in the camera code. It’s an issue in the other 3d demos in the series too like kinematic walker has the same issue.

Camera is managed by the operator module. To be honest, I’ve never encountered a problem like this before.

I can explain the reset of the cursor when pressing Escape by the cursor lock code, it’s not correct for HTML5 I think. But that’s more a part of the demo rather than the library.

If possible, please record a video for github issue with details like Defold version, OS, input device…

1 Like