Pre-Development Research


Research and development

Research Question

Is Unreal Engine the best engine for this project?

Unreal Vs Unity

Research Conclusion

Considering all of the above, we have decided to use the Unreal engine as it aligns better with the scope of our project.

Research Question (2)

What is deferred and forward rendering? What is best for our project?

Research Process

Deferred: “means that the work is moved to a separate pass, instead of being done in each object’s shaders… Spot lights are usually the cheapest type to render, because their screen-space area comes from a cone, not a full sphere. Point lights are often unnecessarily used by artists in interiors, where a spot light would be enough. Still, what matters the most is the range. Deferred rendering is great at dealing with a multitude of small lights. Sometimes it’s even feasible to attach tiny light sources to particles like sparks.”

Forward: “It’s done immediately on a shader level of every object, right after final material’s attributes are calculated. This approach gets rid of the G-Buffer, saving GPU memory and making several things easier (especially anti-aliasing). Don’t be surprised, though, that the cost of the base pass is significantly higher with forward.”

Main Points between Forward and Deferred Rendering:

Forward Rendering:

  • Calculates lighting for each object in the scene separately
  • Can provide high frame rates for simple scenes with few objects
  • Can struggle with scenes that have many light sources, as it has to calculate each light for every object in the scene
  • Doesn’t support advanced lighting effects such as global illumination, ambient occlusion or screen-space reflection out-of-the-box.
  • Supports transparency and anti-aliasing without additional complexity
  • Typically uses less memory than deferred rendering

Deferred Rendering:

  • Calculates light for the entire scene in a separate pass
  • Can provide more accurate and realistic lighting than forward rendering, especially for complex scenes with many objects and light sources
  • Can be slower than forward rendering for simple scenes with few objects
  • Supports advanced lighting effects out-of-the-box
  • May have some limitations with respect to transparency and anti-aliasing
  • Typically uses more memory than forward rendering

Reference:

https://unrealartoptimization.github.io/book/pipelines/forward-vs-deferred/

https://www.youtube.com/watch?v=nSL8cOxtsz4

Research Conclusion

Due to the nature of both rendering methods, we came to the conclusion that forward rendering seems to be the most beneficial rendering method for our specific case. The scene the game plays in, is rather small with not many separate light sources. Deferred rendering could potentially be harsher on the hardware than Forward rendering, with respect to the small scene we create. Additionally, our game will consist of a stylized art style, which does not require the realistic, high fidelity and accurate lighting of Deferred Rendering. 

In conclusion, Forward rendering seems to benefit our needs the most.

Research Question(3)

Is a PBR based approach towards texturing our chosen stylized art style an efficient option?

Research Process

Environment PBR square grass prototype based on Sleepy Pang concept (below)

Research Conclusion

Regardless of the art style, it appears that through the use of substance generators, a stylized PBR approach is a realistic option. Substance Painter, while typically seen as a program used for realistic texturing, has a myriad of techniques that can be utilized to create stylized textures. It also allows tweaking through hand-painting if necessary. This gives greater artistic control. Both artists are capable of using this approach. It would be ideal for assets, but further exploration must be considered regarding the application towards the environment base.

Research Question (4)

Is Phyics based gameplay the best option for our game?

Research Process

To Test this, we've developed a prototype of our movement and swing mechanics. Our game is centered around velocity, achieved by using a grappling hook to swing around obstacles. We've discovered that simulating physics on the player allows us to easily apply extra force upon release of the hook, creating a seamless and intuitive movement system that perfectly fits our game's style. Furthermore, we've found that the physics simulation also accurately models knockback when players collide or get punched, eliminating any future concerns in this regard.

Research Conclusion

To achieve the gameplay we desire, incorporating physics is the optimal solution. It simplifies the implementation process, minimizing the need for additional functions to attain our desired outcome. Choosing to use Unreal as our game engine aligns with this decision, as it excels in handling physics.

Plans for the coming week

  • 50 % finish Art Bible
  • 50 % finish Tech Document
  • prototype Punch mechanic 
  • prototype Local multiplayer
  • Prototype Level Scenes

Get Olympunch