Posted February 25, 2025 by Jeronimas
Hello everyone!
We're a team of five students: two programmers, Jeronimas and Giselle, two artists, Kaat (tech) and Tymur (stylized) and one sound designer, David. Welcome to our first devlog!
We have a vision of creating a fun game that can either strengthen or completely ruin friendships. We're now in Week 2 of our game project, and honestly, we struggled at first to choose from the many possibilities of a couch co-op game. Nothing really stood out to us. After much discussion, debate, and finally a unanimous vote, we have our idea! Our game follows two peaceful nurse gnomes on a mission to save a dying animal. This poor creature has fallen victim to the chaos of a gnome war, a conflict started by their violent counterparts. Armed with only a humble stretcher, the two must race through a magical mushroom forest, navigating treacherous terrain and the lingering effects of war—all while carefully balancing the wounded animal on their stretcher.
Artists – This weekour main goal is researching the following: Shaders (what shader fits our artstyle, are we able to create this in the engines?), Forward VS Deferred rendering, comparing Unity & UE (Unreal Engine) and how they implement shaders, animation, lighting and VFX. Besides that, we will start working on our art bible (art guideline for the artists).
Sound – As reference I look at “Ori and The Blid Forest”. In this game there are magical elements that intersect with the idea of our game. Also in some moments it has a rush element. “Rayman: Legends” - sometimes it has a rush element (for example music levels). Rythmical and fast music will definetely add a rush and tension feeling to players experience. “Minion Rush” and “Jetpack Joyride” - the whole game is about being in rush, with light soundeffects. Nice reference.
Programmers -Our focus this week was on movement, specifically how the stretcher should move with two players controlling it. Should both players have free range of motion, or is it better for movement to be divided between them? We've also started looking into how the stretcher should behave, whether each corner of the stretcher can be controlled individually or if it should only rotate around an axis through its center.
Forward and deferred rendering are 2 possible render pipelines in Unity and Unreal Engine. They impact the way light is calculated. This then impacts the performance of a game. Our Tech Artist has researched the difference between the 2 rendering pipelines. They made project files in both Unity & Unreal Engine to test out their implementation.
Their research conlusion on Forward VS Deferred is:
Forward Rendering:
Deferred Rendering:
Conclusion:
Forward is optimised for mobile VR, low poly games. With non-complex scenes and non-complex lighting.
Deferred is optimised for AAA/PBR games with complex scenes and complex lighting.
We decided on forward rendering. We will be baking our light so we will not be limited by the dynamic lighting issues.
Forward VS Deferred | Unity VS Unreal Engine
Forward: Unity is better for forward rendering in general. The exceptions are: 1. You are working on a VR game. Unreal engines forward rendering is optimized for VR games. 2. Need high performance 3. have complex lighting. In these cases, Unreal engine is preferred.
Deferred: Unreal Engine by default uses Deferred hybrid with selective forward shading. This is a workaround of some of the graphic issues with deferred. Hybrid is also possible in Unity, however, requires more set-up/manual work.
Lighting in UE and Unity : How, Why and the Price of it.
Since the team is leaning heavily into Forward Rendering we set the lights up using that method, optimized for a lowpoly meshes and little dynamic lights approach. Unity and UE5 both are quite similar in their way of setting up lights, but they have their differences.
Our research conlusion on Lighting is:
Unity:
UE5:
Conclusion: While UE5 is mostly used for dynamic lights-heavy projects, it's surprising how much more convenient baking is in the engine. It also handles those bakes a lot faster, so we think it's somewhat superior to Unity in that regard. Unity on the other hand fares better in more stylized light setups where main light (if its even present) is diffused, and key lights are baked. Although we found that Unity is unable to handle significant quantity of dynamic lights and Unity is worse when it comes to baking.
Post-Process and Camera are really the same in both engines, so only the workflow for lighting itself matters.
VFX implementation and control :
We tried importing some VFX assest from marketplaces for both engines, changed their settings and tried to combine some of them.
Conclusion :
The VFX approach for simpler effects is almost the same in both engines, and their import is just a tiny bit more straightforward in UE5. We have faced issues adding some marketplace VFX into the standard render pipeline speres in Unity, but still most of them behaves nicely.
Post-process shaders are more convenient and easier to use in Unity, including moving skyboxes and outlines, but not significantly. Both engines do well under load of multiple emitters and particles.
Unity although has some issues with light/emissive particles.
Prototype 1: Free Movement with Shared Stretcher
In this version, both players have full freedom of movement, with the only restriction being that they are physically attached to the same stretcher. This means that while each player can move independently, they must coordinate to navigate obstacles, avoid hazards, and safely transporting the animal. The stretcher forces players to stay at a static range of each other.
Key Features:
Prototype 2: Split Control – Steering vs. Speed
This prototype takes a different approach by assigning distinct roles to each player. One player is responsible for controlling the direction (steering), while the other controls the movement speed. This setup creates a more asymmetric gameplay experience, where both players must work together to ensure smooth and precise movement. The stretcher's movement depends on the balance between the driver’s steering decisions and the speed controller’s pacing.
Key Features:
Our artists tried making the same shaders in both unreal engine & unity. For context, our artists are more familiar with unreal engine.
Result UE (Unreal Engine):
The unreal engine result is done in forward rendering. The toon shader is a master material applied to the object, and the outliner effect is a post process material.
Result Unity:
The unity result is made in unity URP with forward rendering. This is a shader applied to the material of the objects. This is when our artists noticed that URP isn't as widely used as the default RP. So, a lot of the shaders that exist online are made specifically for RP.