Having a day off work today and have decided to dump my 2.5D grappling hook game and restarted my 3D platformer.
I'm doing all the physics myself in this one. I have the levels loading from the editor and a functioning kinematic character controller based on a capsule shape up and running, largely based on code I did last time I was working on this, but I wanted to reboot from scratch as I've improved a bunch of my framework since last time and the old project just felt a bit icky.
I'm using a hand-rolled GJK implementation as the basis of the collision detection, then a combination of this and some ray casts to get the character controller working. It sits stationary on slopes below a certain steepness, doesn't try to climb slopes that are too steep and so on. This has always been, for me, the part traditionally hardest to get right.
I'm still hoping to write a grappling hook game but in 3D using my own physics. I've been looking into implementing a spring-mass approach to a rope and seems feasible enough. I'd like to write a platformer where your grappling hook can connect to anything in the scenery rather than the predefined points we've been used to in recent years, but not sure how well its going to work.
The rope wrapping around things should be possible to do in this context. I did all that manually in the last project with little support from Box2D apart from the raycasting. I also need to teach myself how this GJK-based raycasting works that I've found mentioned a few times. At the moment the ray casting is handled separately using the triangles of the polyhedra so needs a special implementation for all non-polyhedral shapes so would be nice if the support functions could be used to handle this too.
Anyway, all that's for the future. Now I have a character controller walking and falling under gravity, I can start playing around with a rope system and see how it works out.