I'm currently developing a game(finally...). Basically it's going to be a 3D Jump'n'Run game. As I have no experience in that are ​I'm researching the possibilities.
My requirements are:
1) I should be able to model quick and responsive character controller.
2) The character should be able to push other things around (for example crates, rocks). Additionally some (or all) of these object should not rotate.
3) Slopes (almost forgot about them). I'm not sure If I need this but I guess I want to prevent climbing high slopes.
*4) I'm not sure if I want some object to be able to push the player. So this lets say that this is optional.
Currently, as a placeholder I use Bullet Physics, where character implemented as capsule that doesn't rotate, and all obstacles are rigid bodies.
​I kind of wonder if ray casting is a viable solution. It surely will make implementing the character controller a lot easier (I think). Making the player pushing a single object shouldn't be that difficult, but making an object to push another object is probably a bit more complicated, I cannot quite model it in my mind.
​Anyone who has experience with that solution? Any suggestions? Am I missing something?
I additionally I can make the character an ellipsoid, but I do not see much benefit compared with the ray casting solution.
I feel like physics engine is too much for such a thing, but I will automagically make the character controller implementation a nightmare (or will it). I have literally 0 experience with physics engines.
​So every opinions, approaches, links to materials are welcome :)