For the team at Evodant, working on Gyre: Maelstrom has been both fantastic and enlightening this past year.
We knew going into production on a fully procedural game that the technical R&D would be hefty, and it was. The baseline procedural city was fairly easy to generate and from there we began to construct actual buildings of various types and functions. We create a new city when the player begins their game so each player has their own unique city. New content is continually being added to the city grammar that populates specific neighborhoods, creates certain types of gameplay zones and provides look and feel for the city districts.
Several iterations of characters was necessary to find what worked in our procedural world. We first tested characters that were composed of parts (legs, hands, arms, head, torso) but with the parkour capabilities in the game, character customizations, trying to maintain a consistent look and feel and the need to weight apparel assets to the characters, we eventually opted for 6 player character models that each have their own customizations.
Crafting is, of course, a big part of the typical RPG and Gyre: Maelstrom is no exception. The crafting system has gone through many iterations to land on a system that allows for apparel, item, body and weapon crafting that all integrate with each other systemically. The most complex of these was weapon crafting since weapons are created from weapons parts and each weapon part is crafted from raw materials of potentially different qualities.
The skill trees have also had several revisions, starting off with one big interconnected map and eventually being divided into 9 more concise skill trees.
Combat was one of the simpler systems to start off with having ranged and melee combat. Basic cover is implemented and once we have additional animations implemented (based on a hand-crafted animation system), coupled with the AI systems, we should have some interesting combat tactics and dramatic moments.
Lighting has been…challenging. Since we have a dynamic environment generated at run-time, we aren’t able to pre-bake lighting, and hence must rely on Unreal’s dynamic lighting systems. They aren’t fully complete systems (room for improvement) so we continue to tweak those systems and optimize where we can.
Finally, with all this procedural goodness our narrative engine Toska is being integrated when sub-systems are fleshed out. Since Toska runs the show (literally) the procedural systems need at least a broad brush stroke before Toska can link into it and use it to create story and gameplay. We’re really looking forward to showing side-by-side speed-runs of multiple players going through the game at the same time to show the differences that occur with just a few changes in player behaviour and their choices.