Greetings, everyone!
We have some intriguing discussion points for you today. Additionally, we're tweaking this format slightly to determine the optimal length for articles of this nature.
Some of you might recall an experiment on the test branch involving class upgrades for the Eliminator class, From the limited testing, the class upgrades have shown to be very effective in expanding the build-diversity around a class.
Creating a generic system that works efficiently has been a challenge, particularly considering that generic upgrades suitable for any class are complex to design, given the vast number of factors involved. Customization tailored for specific classes is not possible with generic systems.
While items represent a versatile system with robust class synergies, other features like terminals have proven to be somewhat lackluster given the time spent on their development. Current trends favor tailored upgrades, and although items remain an integral part of Synthetik's build diversity, there has been a feeling of a missed opportunity of more class development throughout the run. The new class upgrade system aims to alleviate this issue.
Our plan is to substitute Kernels from Bosses with the new class evolution perks. Kernels were a last-minute addition and had mixed quality in both the visual aspect as well as their gameplay impact. Now, instead, you'll be offered a choice of 2 class evolution perks. Unlike the initial Eliminator tests, the upgrades are fewer but more impactful.
We're beginning with around six impactful perks, so each run will have its unique theme like the "Dash run" or the "blade run." You'll receive two upgrades from Bosses, and we're considering increasing this to three per run. This change allows for diverse outcomes with the same class loadout across different runs.
If the response is positive, we might introduce smaller perks at other points in the game. We've pruned Kernels, retaining only the top four. These will now have a special rarity and may also drop within class upgrades.
For Update 12, we're planning to release multiplayer for the first time on the main branch. We don't expect Multiplayer to be flawless on the first launch but it should be on par with the single-player experience and will be gradually further refined.
We're also developing a matchmaking system which streamlines the process of finding a match.
We're also introducing item dropping, allowing you to share items with teammates, and examining the possibility of enemy amount scaling to minimize health scaling. We've also made numerous under-the-hood and chat enhancements.
With the Commando class, we are giving Raider a refresh with some extra cool new things.
We don't want to spoil too much, but he will have 3 Kits like the other classes, of which the Experimental Blade kit offers 2 new blade attack types, a micro swing on dash, and a blade throw attack.
For his specialization abilities, we have a blade bullet reflect which is pretty cool, the classic plasma grenade, and some others in testing.
A lot of the current bug reports and feedback is related to the navigation system, meaning the system which handles how objects are moved and spawned in the game environment.
To tackle these issues we've replaced a popular third-party solution with the latest engine solution, leading to better stability and maintainability. This helps us improve on certain persisting collision issues and potentially improve vehicle behavior.
It also reduces our technical debt as we no longer have to maintain and fix a custom branch of a third party maintained plugin, and with the engine implementation having less complexities.
Technical debt is when you add complexity which will have to be maintained down the road. So the more features and systems you add, the more you have to maintain and the more will eventually break down the road. Often this is not apparent at the start, but will bite you somewhen later.
We have gradually ripped out a lot of technical debt and are getting a lot more lean now, with our own saving system, new navigation setup, audio system and others as opposed to previous third party solutions.
This ties well into the topic of technical debt as the new material system heavily diminishes the need of varied third party softwares.
We always strive to improve our workflows, pipelines and productivity and with the new material system we can create assets for the game world much faster and at higher quality. Much of the work in the environments are however built in-engine, however the new system also allows us to build things in much more flexible ways in the engine itself.
New new system uses vertex colors for texturing as opposed to textures. The trick here is to use a higher polycount and have a smart shader which does make things look good based on the limited vertex information given from the mesh.
Setting up this shader was the culmination of years of shader experience and quite a feat. Generally "smart materials" are only done offline in third party painting apps like substance painter as these are quite performance heavy and complicated. However with some good tricks we managed to set up a comparable system in engine. The materials shown here generally only use 3 texture samples, which is extremely low for such a complex shader with many advanced features. (Texture Samples are for most shaders the largest performance bottleneck)
Meshes consist of vertexes. Vertexes are the points that connect the polygons (the faces you see). Each vertex has a vertex color included by default. Mostly this is not used, or rarely used for painting a wall or similar things. You can use vertex colors in many ways, but we use vertex colors to derive shadow occlusion and model curvature, which is then fed into our smart material to give us a a certain styling based on these values.
Since the vertex colors are inside the mesh itself, this frees us from any textures which relate to the mesh. That means that this car has 0 unique textures. Any new mesh using this system will have 0 textures attached, so you only import the mesh and nothing else.
This is a massive relief which saves a ton of memory, but also makes our workflow much faster. Now we no longer need to bake textures, fix bakes, export for baking, export for Substance Painter, export multiple textures, import textures, rename materials, order things in folders and so on.
Also, if you have to change a mesh to improve it, you do not need to go through a large process, and the great reduction in files and materials makes our project cleaner and easier to maintain, both adding to overall quality and output volume.
With the elimination of specialized material per object accompanied by unique textures, you can now establish a generic library of materials. This approach is akin to what's done in offline or movie workflows.
One of the most notable advantages of the new system is its flexibility, enabling material switching on the same asset. For instance, the chrome material can be applied to any new assets, a significant shift from the previous method of incorporating chrome within an asset's texture.
Additionally, this system is well-equipped to handle extensive meshes, which usually pose challenges for standard texturing. For instance, a large bunker could consume a substantial amount of texture memory and require a high resolution. While we've incorporated several other impressive features into this system, we won't delve into too much detail here.
However, it's essential to note a few drawbacks of this approach. Vertex colors may lead to pop-in during LOD transitions, and they will never provide the same detailed resolution as textures. Thus, intricate features like welding seams or embossed text cannot be incorporated directly and need to be added as a decal or as separate model.
Moreover, mesh topologies need to be more meticulously designed to account for the vertex colors, generally resulting in a higher polycount.
Nonetheless, for us, the new shader and workflow is despite the lower resolution enhancing the quality of our models overall, while being much faster to work with.
All in all, this setup allows us to focus on designing and importing quickly and do less of the busywork around. It it surely not for everyone but from our position it is an amazing upgrade and you will see it's results in the future with our new content.
We also have created a damage generator which works very well to create high quality assets on a level we just couldn't before without a lot of manual sculpting.
Here you can see the generator in action:
In general we are making many workflow improvements and also assembling new and flexible libraries which allow us to quickly add visual elements to new environments or build new things for upcoming environments.
Half of this is knowing exactly what you need, and learning this is hard. We do have some great sets of assets, but on some areas they are completely lacking (as example, Sets of pipes and cables for detail objects, or machines are underdeveloped)
Below you can see the final result of varied concrete pieces made for testing the new Materials and Damage workflows. You can see the large quality difference between the new (Left, Top) and the older asset (bottom).
The plan is to fill out the less developed areas of our content libraries so we can very efficiently prototype or even decorate new areas for you on a consistently high quality level.
At the moment we are also pushing for some iterations on (especially) older weapon models.
We have already upgraded many sounds, but we feel some of the older weapon models are not on our new higher level of quality and not yet benefitting from the large amount of learnings we made throughout the project.
You might have seen some models being improved, and we are working on improving more, such as the Super 90, Judgement and Akita. Judgement has gotten a brand new color sheme, certain handguns have changed materials as well so they look more varied and Super 90 has gotten some model updates.
For Akita, we found it to be too similar to others visually, however we do like it's gameplay, so we are giving it a full remodel.
Akita:
Fusion SMG:
You can see how the fusion version is the much cooler one, and the classic is too similar to the Fusion SMG.
For the Akita we want to reinforce the taser element, but also give it visually more elements of it's accuracy characteristics. So we are doing a longer barrel design with a large muzzle device and adding a scope.
Here is a spoiler of the new Akita, now with a cool sideways magazine (as we had too many similar magazine shapes) and completely new design:
We are working on more cool things of course but this should be enough for today.
See you soon! - Team FFG