Dev. Blogs

First Dev Blog Post: The Graphics Engine Update

Date
Views
9,166
1st Dev Blog:
=============================
Over the years, we have focused on bringing you new maps and fun gameplay-based updates, but we have left much of the core engine untouched. However, after conducting on-site meetings with our existing players, hosting on-site focus group tests, and listening to the community's outspoken desire for an engine update, we have decided to initiate a project that would significantly improve the game's graphics capabilities. Since Combat Arms’ release in 2007, there have been many advances in graphics hardware and sophisticated techniques for real-time rendering. We have decided to update the original LithTech Jupiter engine to support advanced graphical features comparable to those of other modern game engines, such as Unreal Engine 4 and CryEngine 3.
 
We have decided to primarily modify the rendering layer so that the game would be able to take advantage of modern graphics hardware capabilities. The player would be able to choose to play using the original LithTech Jupiter engine or the updated one. The underlying physics engine, network code, and collision system are not affected, and the game would allow players with different graphics settings to play on the same server. There were many interesting technical challenges to support this requirement, and we'll share some of them with you in future posts.
 
 

 
Below are some of the major features we have implemented for the graphics improvement project.
 
Shader-Based Rendering Pipeline
The current engine is based on a Fixed-Function pipeline with Forward Rendering, and we have implemented a Shader-Based pipeline with Deferred Rendering to allow efficiently implementing realistic lighting models. Deferred Rendering allows the engine to implement significant screen-space effects, such as Screen Space Ambient Occlusion (SSAO) and Screen Space Reflection (SSR).
 
Screenshot 1
 
Screenshot 2
 
Screenshot 3
 
Screenshot 4
 
 
Screenshot 5

Screenshot 15
 
Screenshot 16


 
Physically Based Rendering (PBR)
Adopting Physically Based Rendering (PBR) allows the engine to render objects realistically and consistently in a unified manner by more accurately calculating the properties of light. It also allows the artists to easily create 3D assets that look great in every lighting situation.
 
Screenshot 6

Screenshot 7
 
 
 
Higher Quality Lightmaps with Global Illumination
We've implemented a solution to vastly improve the quality of the generated lightmaps. More information is now pre-computed, including indirect lighting, high resolution shadows, and radiosity normal map information. This allows for advanced Global Illumination techniques that vastly improve the quality of the rendered scene.
 
 Screenshot 8

Screenshot 9

 
Modern Shaders
We've implemented various modern shaders, such as realistic water and glass.
 
Screenshot 10
 
Screenshot 11

Screenshot 13

Screenshot 14
 
 
 
Post-Process Effects
We've implemented various post-process effects to improve the rendering quality. Bloom, motion blur, and various other post-process effects add a lot of depth to the rendered scene.

Screenshot 17

Screenshot 18
 
Through this series of developer blog posts, we would like to share with you how we are progressing. We look forward to your feedback and will prioritize the improvements and features that are most wanted by the community.
=============================