Hey, I'm curious about how you handle collisions in your engine. If there's a devlog you've written on it I might have missed it?
Are characters AABBs? I don't know if this is 100% accurate but I'd heard that Quake used (discrete?) ray intersection tests against Minkowski summed geometry. Is this the same as what you're doing?
I think I wanted to write about it just forgot
anyway from what I know Quake is using the BSP for all world collisions
and their trick is to extrude the walls and floors inwards
the advantage is this makes collision very elegant (simple and fast): point to plane collisions for all world collision (no worry about triangles)
and the disadvantage is they need to store multiple copy of the level (e.g. one for bullets-unextruded, one for humans, one for big stuff like shamblers )
and I think this what they mean by the Minkowski geo thing (I'm not sure about this but I think it refers to adding the volume of one object to another and changing it to a point to object test - something like that)
I'm afraid Zortch is not this sophisticated or elegant: there is a large triangle soup and it's sorted onto a 2D grid and it's mostly sphere to triangle and line to triangle test
(and characters do a cylinder to cylinder test against each other)
it's quite a complicated mess, I prepared some slides that might explain it better:
there are also many edge cases: a character might stand on another, a character might stand on another
that is travelling on a conveyor belt or mover .. and so you can only stack crates the moving creatures
will drop you off
in summary the collision system is a collection of hacks held together with prayer and glue