Saturday, April 16, 2016

Some progress on Crysis 3.

In light of the news that Crytek open sourced their entire engine,  I am able to study the Crysis 3 machine code and identify critical code and structures. 

One particular bugging problem was clipping/culling of characters in Singleplayer or Multiplayer at a really short distance,  in multiplayer this is unacceptable. There is no option enabled to fix this,  so obviously I had to dig in the code,  but it is C++ and it's also lots of math,  I mean this is 3D programming,  which I am both unfamiliar with.  So I opted to use Cheat Engine to find the variable responsible for this,  which led me to a piece of code that held a float type which upon change showed that in part affected the drawing at distance.  Unfortunately multiple subsystems used this value and it fucked up the game,  the code which I couldn't have identified without the CryEngine source code was the CCamera class constructor,  and the particular value might be related to the Z buffer or Frustum plane.  If I can find where they are calculated perhaps I can fix this drawing issue. 

I also managed to enable all CryEngine commands though not all are modifiable,  one in particular is the Nanovision blur command,  which might help people in the Multiplayer. 

No comments:

Post a Comment