So I've been merrily chipping away at my game engine and my eventual game for the last I don't know how many years, hitting some areas pretty well I've thought. My terrain looks nice, my character skinning looks nice, my shadows look half-decent and at the moment I'm happy with my fps budgets, my component entity system, etc. I'm not far away from getting some sort of prototype going.
And then I thought about implementing a physics engine for my character's behaviour and I chose Bullet. Lovely, pull in a couple of libs, a few header files, add some rigid body objects, call 'frameStep' and off you go. Then I looked at their code...
I knew a physics engine would probably be complex but they have used c++ code the likes of which I've never seen before and it's kind of stopped me in my tracks a bit. I may be setting my sights quite high for my game (I've written several in the past) but I do have almost everything mapped out either in my mind or on paper for parts of it which I think may raise concerns. I've been developing for the best part of 32 years (I'm 42) over dozens of different languages (including 68k assembly) and I thought I knew a fair amount about c++ having used it at home and at work for the last 15 or so years but I've never written any code that resembles that physics library code.
So, if anyone here has worked on a AAA full works game, is it all as complicated as the sort of code you see in Bullet? Or are there parts of it that look like the sort of stuff us lowly home game engineers can write...?