Hey Everyone,
So it’s been nearly a week since we released the first development build and we really hope everyone has been enjoyed playing it and discovering the new location, characters, animations and new shotgun weapon. We know it doesn’t seem like a huge amount of progress initially but under the hood, huge advancements have taken place and I’d like to explore more of these details with this dev blog.
As I have mentioned before, the big impressive graphics in games can at times, be quite “easy” (this is a VERY relative term) to develop. Sprawling landscapes, vast sci-fi cities and realistic lighting and weather effects are bashed out in next to no time while the dev god’s have decided that the small mechanics can take absolute ages to get right. In fact, the more the player is ignorant to the mechanic working the more likely that same mechanic will be an absolute bitch to make work.
Following on from that, the hardest part of game dev in our opinion is making all the different systems work with each other. A dialogue system is pretty straight forward but making that system integrate with the quest system is a little trickier. Adding a map and markers on top of that and you have a very complex web of events, functions and triggers that all need to know what to do at a certain point at a certain time. When you factor in the ambient sound, sound fx, graphics, animations, UI actions, UI widgets and a whole selection of assets all triggering at the same time…it can get frantic and confusing!
One other thing I also wanted to touch on was optimization. You may have seen the list of updates we do with every release and there is always the category “optimizations”. The reason we are CONSTANTLY optimizing is for two main reasons.
1. Every time we add new content such as mechanics, models, music and animations to the game map the FPS starts slowly creeping down. AI code can be a real resource hog hence why NPC’s on even the top AAA titles tend to be pretty stupid and just follow basic paths and objectives. Textures, especially 4K variants consume huge amounts of VRAM so you have to try a variety of techniques to maximise quality while at the same time trying to maintain fidelity.
To mitigate the constant FPS downward spiral we have to resort to the trusty dev tool bag and use a selection of tools required for the job. One of our favourites and to be honest should be the first plug-in you install in Unreal is the Instance tool. We use this to create instances of thousands of assets throughout the level, especially items like trash, wires, walls etc which help with draw calls which in turn will help the framerate. We also love Meshbake. Meshbake allows you to bake static and skeletal meshes into a single mesh and It also combines textures and materials into more manageable amounts. Both of these are so useful for all devs and really help with optimizing your game.
2. From the start we desperately wanted as many people as possible to play and enjoy the game whether they have an older PC with an aging GTX 1060 or the latest and greatest RTX powered beast. We fully understand that this is a difficult task as Unreal is a demanding engine at the best of times but we believe with constant optimization and testing we can hopefully go someway towards our objective.
The one update we are really pleased with is the improvements to the dialogue system. As well as adding multiple player responses which will have an impact on the quests and narrative of the game we have now introduced a persistent memory so the NPC’s will now be able to remember previous conversations and replies you have made. When you talk to an NPC it will internally check to see if you have completed or are in the progress of completing a quest and will give you an appropriate response depending on your situation in the game. This should provide the player with a much more engaged experience within the game world.
Anyway, as usual, we would love any feedback through our usual channels on Discord so get over there if you aren’t already and let us know where we are going right and where we are going wrong. All input is greatly appreciated.
The Cyberpunk Crew