Hi, I'd like to ask about technical side of implementing a movement system similiar to Assassin's Creed.
Well, most movement systems are pretty straight forward - usually done by using a Character Controller etc. But Assassin's Creed seems to use a more constrained system - you can jump automatically if you simply hold High Profile + Parkour Up, you can't simply fall of an object because you just slide across its edge. Of course different games in the series have different movement systems (e.g. AC1-AC Revelations gives you more freedom and you can make unsafe jumps that aren't verified by the game, AC3 is where the constraints really kicked in), but they probably have a similar core. But how does the game make these constraints? Is it NavMesh based? Looking at how these games snap you to the surface, quickly sample positions to let you jump across the beams and that you simply slide by the edge of an object if you try to jump off, I guess it's something based on a navmesh? It's probably not the same navmesh as in unity but something more complex that can account many other things (well, ubisoft has its own "Anvil" engine so they could do whatever they want). Or maybe it analyzes the colliders in real time and has some stuff to feed it into the system? idk. I watched some of the "Making Of" videos from ubisoft and there are some parts where it actually shows how the parkour system works - e.g. in Black Flag you can clearly see that a beam's surface is marked with color yellow/purple and there is a bunch of dots floating around some of the objects you can interact with, or in AC1 you can see that there's a rectangular area in front of the player which seems to snap itself to the ground as if it was scanning it. That's why i'm asking this question - how is it really implemented? :P
Maybe someone knows more about AC and is willing to share their knowledge?