Armenius
Extremely [H]
- Joined
- Jan 28, 2014
- Messages
- 42,101
I tend to agree with this point. I think the main reason I was and still am blown away by Crysis 3 is the way everything in the world is being affected by physics. Look at the second level, covered in tall grass and surrounded by trees. The wind appears to be moving everything it touches and the sound is there to back it up. While I kind of agree about ray tracing being a big step forward, I think we will always be stuck behind the peak so long as physics and graphics engines remain separate entities.A lot of the realism also tends to be compromised by other things like janky animation, physics effects which may look cool and make the game world more interactive but aren't necessarily realistic, efficient but clunky cheats to animate tree wind effects, all that sort of thing. That's why you sometimes see some jaw-dropping imagery from companies like Naughty Dog when they give presentations of their character rendering or whatever, but see it in the context of the actual game and, while pretty, it still ends up looking like "just" another game.
The way I kind of conceptualize this in my head is thinking of a driving sim. Every piece that makes up the car needs to be defined as an autonomous object, with its own physics and composition, rather than the car as a whole being defined as a module that is enacted on by a disconnected universal mathematical formula. Designing such a system and implementing it would be exceedingly complex, I imagine, and certainly not within commercial budgets. I was actually toying around with such an idea when trying to solve the problem of bullet physics for a simple arcade shooter. I got it working after about 4 months... Now imagine doing that kind of work on thousands of objects in a larger simulated world.
My overall point, though, is that in order for animations and physics to not look janky they need to be integrated into the world and not separated from it. I may be out of line here, but I think a big step toward this would be to stop utilizing licensed middleware like Havok and PhysX.