Coding
From Constraints to Creativity: The Art and Science of Procedural Level Design
Procedural level generation is more than just a clever algorithm—it’s a tool for unlocking creativity, streamlining workflows, and delivering unique player experiences. In this session, we’ll take you behind the scenes of Unseen Diplomacy 2 to showcase the innovative design and development of its procedural level generation system.
The key design constraints that made procedural generation the right choice will be shared and we’ll explore how we structured a system that puts control into the hands of designers and artists. You’ll see how this approach not only fosters creativity but also makes procedural systems accessible and adaptable for teams of any size or composition.
We’ll break down the graph-based workflows that formed the foundation of our system, offering insights into making complex tools intuitive for designers while retaining technical control. We’ll discuss practical lessons learned, from prototyping to production, and how these workflows can be applied across different game genres.
The session will also cover integrating QA into procedural pipelines, focusing on how to create meaningful, actionable feedback loops and tackle the unique challenges of debugging dynamic content.
Finally, we’ll share a case study of the custom tools we developed, revealing what worked, what didn’t, and how these lessons can help you wrangle the complexity of procedural systems in your own projects.
Whether you’re a programmer, designer, or tools specialist, this talk will equip you with the strategies and insights to make procedural generation a core part of your creative toolkit.
Session Takeaway
- A data oriented method for procedural level designs that encourages collaboration between programmers, designers and artists - allowing creatives to direct the level and be creative
- Lessons learnt taking a prototype to production quality and the tooling built along the way
- How to wrangle the complexity of a procedural system, the extra challenges it brings and how to adapt it to your team size
Hierarchical Kinematic Path Planning for Vehicles in Open Terrain
Existing solutions for navigation in game engines are mostly aimed at biped characters, and can’t be applied for vehicle navigation, as it fails to take into consideration the kinematics constraints of the vehicle. Most games use navigation paths for vehicles, which are precomputed and already optimised for the vehicle’s turning rate at a given speed. But it means that the vehicle needs to stay on these paths. We provide a solution, adapted from Stanford’s Hybrid A* to allow vehicles in game to navigate anywhere on an open map.
The Hybrid A* allows for a realistic representation of the path a vehicle can take by calculating its different positions based on its turning angles, instead of having fixed points on a map like a traditional A*.
The original Hybrid A* algorithm is adapted for a vehicle driving at a constant speed, and calculates its future position on the fly, which restricts its functionality for video-games. Our solution was to calculate the turning radius of each vehicle for different speeds, and add the results to a datatable that is used to calculate the path points on the grid.
We also adapted the algorithm to use a double-layered hierarchical map, where the highest layer would do a traditional A* to check first if a goal can be accessed, and the lower layer would use the hybrid A* algorithm. Once we have the result of the A*, we can compute the the hybrid A* in parallels for each subpath, optimising the cost of the algorithm.
Session Takeaway
- Vehicle Navigation
- Hierarchical Hybrid A*
- Kinematic Pathfinding
Leading a Coding Team with Imposter Syndrome
Imposter syndrome can sometimes stay with us as we progress through our careers. You may find yourself in the situation of having your first project to lead and the self-doubt is still lurking in the background. This session will take you on a journey of how to handle leading a new project - from the first few days of setting up source control and workflows, becoming masters of a new codebase, submitting the first deliverables and handling the ups and downs in between - all while keeping imposter syndrome as far away as we can manage.
Session Takeaway
- Best practices on how to lead and manage a team through a new project.
- How to navigate imposter syndrome across the team, throughout the course of a new project.
- Understanding common pitfalls of new team leads and how to avoid them.
Now Do it Again, But Better – Building on the Success of Fights in Tight Spaces
Fights in Tight Spaces is the high-octane action movie of the roguelike genre, combining a striking visual style with deep, strategic deck building. The small team at Ground Shatter were blown away by its success and felt a great responsibility to deliver an incredible sequel to match it. Or to borrow a phrase: Do it again, but better!
Join Senior Programmer James Vigor as he explores some of the challenges the team faced in bringing their flagship game to life, and how they built upon its success for its medieval fantasy spin-off, Knights in Tight Spaces.
In this talk, James will guide you through the process of dissecting the codebase, reviewing its strengths and flaws, and deciding which bits to keep and which to rebuild from the ground up. It will appeal to developers who are working on turn-based strategy games, those about to embark on a sequel to an existing game and anyone interested in more general programming architecture advice. James will share his open and honest examination of his experiences, having been through a full development cycle of both of these popular games.
Session Takeaway
- The importance of having a post-mortem and how to contribute as a programmer
- The pros and cons of rebuilding architecture from scratch
- The lessons we learned from our games that can be applied to other turn-based games
- The importance of putting the power in the hands of the content providers
PowerWash Simulator: A Deep and Dirty Tech Dive
The global hit PowerWash Simulator is an unusual concept that brought many unusual technical challenges. From its Dirt Pipeline that allows rich level editing whilst adhering to strict technical requirements, to very data-intensive save logic and multiplayer, many bespoke solutions had to be built to support its development.
Its immediate success on Early Access, and later on all last and current-gen consoles, pushed the boundaries further: with more and larger levels running on more platforms, other highly scalable solutions were needed to ensure a productive content pipeline (asset management, CI/CD, content validations, DLCs) and gameplay experience (multiplayer, runtime performance).
This talk will cover many dirty – and clean! – tricks pulled in Unity and C# to bring the game to life.
Session Takeaway
- Approaches on managing asset-heavy Unity multiplatform projects
- Overview of a high-performance save data system in Unity
- A flexible custom build pipeline in Unity