Posted March 06, 2023 by BlackRaven9120
Hello and welcome to our Game Projects project we’re developing for Digital Arts and Entertainment.
We are a small team of two programmers (Bruce and Aaron) and three artists (Magnus, Naomi and Jana). Together we aspire to create a fun and chaotic multiplayer racing platformer; and to bring you along for the journey. We will share our progress on a weekly basis to assess every milestone and every setback we might encounter along the way.
But first, what is the game about?
The core idea is that the players race to jump their way up a giant robot, trying to reach its top point - the head - to obtain a precious bounty. The catch however, is that the robot moves parts of its body to shake the players off - which causes the individual platforms the players navigate to shift and tilt.
In addition to this, the platforms can contain small parts that can be used as traps or triggers to slow down the other climbers, or help you ascend higher.
Reach the top by keeping your balance and don’t get slowed down!
To start off, this week we will take you through the process and results of our initial research phase. So far we have focused on pinpointing specific technical and art-related questions that needed answering before production and then developing prototypes to answer those questions.
From the get-go the unanimous opinion was that for a couch PvP game with chaotic gameplay elements the artstyle should be simple and not too noisy to distract from the main act of climbing.
For this we looked at several stylized platformer games and took notes of their shape language and color palettes.
From here, we moved onto very quickly recreating simple assets from these games. The goal was to approximate the time spent on one of these assets to help settle on a final artstyle.
Briefly we experimented with a simple toon material in Substance Painter and imitated a cell-shaded effect in Unreal Engine.
For the artists working with the Unity Shader Graph proved to be challenging from the start, as Unity is a coding based engine. This meant that we haven’t ended up with a decent result to compare so far.
This was because we were going for a 3D project, which Unreal is more suited for.
Deferred shading is the default method of rendering lights in Unreal.
Deferred meaning the work is done in a separate pass, rather than an object's shaders. This approach reduces the performance hit of having multiple overlapping light sources. The cost of a single light is directly dependent on the area the light covers in screen space.
Deferred rendering is great at dealing with a multitude of small lights.
All work is done in the same pass, on a shader level of every object. Saves on GPU memory and makes things like anti-aliasing easier. Though, the cost of the pass is significantly higher with forward rendering.
Forward rendering is best for mobile games. Lumen is not available with forward rendering.
Source: https://unrealartoptimization.github.io/book/pipelines/forward-vs-deferred/
Test scene using forward rendering
Lumen is a dynamic global illumination system, it allows for real-time global illumination without baking. It has real-time indirect light occlusion and also works with high quality dynamic reflections, without using reflection captures.
Lumen provides light casting emissive materials, however these are still limited. UE recommends using light sources as the primary source of light as emissive materials appear blobby and noisy.
Lumen is made to work with Nanite, as other baked lighting methods might not work with such highpoly geometry. Nanite is worth using, because it’s a huge timesaver as it doesn’t require the creation of LODs.
Test scene using Lumen
Test scene using distance field AO
In addition to researching and prototyping asset production, pipelines, and engine shaders, an important aspect of our research process is exploring how the visuals of the game can enhance and support the game's themes, mechanics, and level design. Rather than spending large amounts of time creating pseudo-assets and mockups in the engine, we use concept sketching as a quick and iterative method to solidify visual design choices. This approach helps us avoid wasting resources on assets that may need significant adjustments later.
The visual exploration phase of our research is currently in its early stages. During the first week, our team focused on exploring a variety of visuals to establish a cohesive visual direction for the game. These initial sketches and designs serve as a moodboard to inspire new ideas and help unify our vision for the game. While they do not represent final designs for assets, game mechanics, or themes, they are an important step in our creative process.
The team is currently exploring how the game's visuals can effectively communicate the level design. It's essential for the game's success that players can see and understand that they are climbing a living giant while also being able to navigate the level during gameplay. The team is working to create a visually interesting and engaging level that both looks like a living entity and provides clear direction to the players
When designing a game, testing different camera angles is an essential step in creating a captivating gaming experience. The camera angle can have a significant impact on how players interact with the game world and the level of immersion they feel. It is crucial to test different camera angles to determine which one provides the best gameplay experience.
We decided to test a variety of different angles. Our baseline was 0-degrees to see if a side view angle would work with the platforming but, because our game is made with 3d models, it gave a weird feeling and didn’t really work.
Next we tried a 20-degree angle and really liked the feel it gave. It gave some depth perception and made falling down the platform feel more impactful. We also felt that it gave a great balance between seeing beneath the platforms and viewing the background.
Next, we found that the 30-degree camera angle was also highly effective in providing the desired depth perception and impactful falling sensation that we observed with the 20-degree angle.
The final angle we tried was the 45-degree one. This angle didn’t really work for the feel of the game, as it didn’t really feel like a platformer and more of a roguelike game. Therefore, we decided to not use this angle for our game.
Based on these findings, we decided to further experiment with both the 20-degree and 30-degree camera angles for our final game.
We also made a simple proof of concept for a grabbing mechanic that will be used in our game. This mechanic can be used by the player to hinder the other players. Based on this test, it became clear that this feature will be implantable in the given time.