Coding

The games industry clearly remains the most exciting and varied sector for a programmer to go to work in. In the Coding Track our seriously knowledgeable and experienced technical speakers will show you exactly how to rise to the many challenges and opportunities facing game programmers today - including new and emerging platforms.

Coding sessions

Building Outside the Engine - How and Why to Use Your Engine Only for Display and User Input

Tuesday 26th October: 11.00 - 11.45 :

While some part of almost every game needs to be tightly bound to a graphics (and perhaps physics) engine, there are benefits to minimizing this coupling and writing as much as possible as "pure" code, such as ease of refactoring and testing, portability and reuse, and protection against 3rd-party changes. For some styles of game it's possible to reduce the core engine, whether Unity, Unreal, or something else, to a means of gathering user input and displaying results to the player. Here I'll take you through how I structured a Unity puzzle game, Hexahedra, in exactly this way and the benefits I was able to reap by doing so. Hexahedra's architecture resembles the OSI network model, where the puzzle simulation (pure C# provided as a DLL) and the Unity implementations of game elements, in a hierarchical structure (puzzle, factory, workstation, device), are able to communicate with each other with message passing through a single link. The puzzle simulation passes a series of events to Unity for display, and Unity collects user input and passes it back through to the simulation. This allows the puzzle simulation to be reused to power a backend stats server while also making it particularly easy to refactor and unit test. The event-driven system also makes additional gameplay features such as rewinding time much easier to implement. I'll also highlight considerations that make this approach unsuitable for some types of game.

Test Driven Development: A Mindset to Develop Games from the Start, Middle, or End

Tuesday 26th October: 15.00 - 15.45 :

Test Driven Development (TDD) can be a dry topic, and one of those concepts you learn about but possibly never see how to apply in a real world situation. Often focussed on discrete unit tests written at the beginning of a new project, its hard to reconcile that knowledge with your legacy, completely untested codebase, and even harder to reconcile with the many variables and interconnected systems that make up game development. This talk will give an overview of TDD from the point of view of someone who sees it as a mindset, rather than prescriptive. By addressing common misconceptions and using real world examples, this talk will explain the value that TDD brings specifically into the games development environment, showing how this mindset will impact and improve your implementations, stability, and communication between disciplines.

  • Understanding the value of TDD in the intersection of Game Design, Programming, and QC
  • Applying TDD as a mindset, even to a legacy codebase where it is difficult to retrofit tests
  • Suggestions based on real examples for applying TDD in your environment

How to Get More Out of Your Code Reviews

Tuesday 26th October: 17.00 - 17.45 :

There is only one hard problem in software development. Communication. Code reviews can be an important part of that, but too often they degenerate into nit-picking or become a box-ticking exercise. Code reviews have evolved from their roots in the more formal practice of code inspections, into asynchronous change-reviews such as the GitHub Pull Request process. Along the way much has been gained, but some things have been lost. While code reviews have seen widespread adoption, there are still questions as to whether reviews are the right tool for those in the games industry. Given that the tooling and methodologies that are widely available were mainly developed for the benefit of large distributed teams there are valid questions as to how applicable these techniques are to the smaller, more tightly-knit teams commonly found working on games. In this talk, Joe will share his experience of why code reviews matter, what they are good for and where they are not so useful. He will also look at some of the pitfalls to avoid and will give advice on best practices to help game developers, whether 30 years in or just starting their journey, to decide what form of review will best support the needs of their teams.

  • Learn how code reviews can be an important tool in aiding communication between developers
  • See why the tools you use for code review can have a big effect on the effectiveness of those code reviews
  • Understand what makes a good review and how to spot and stop negative reviewing behaviours

A Modern Development Culture for a Modern Development Process

Wednesday 27th October: 15.00 - 15.45 :

At Darewise, we aim to modernize the game development process for our game-as-a-service: Life Beyond. To support a rapid iteration and release schedule while the game is still under heavy development, we have had to adapt our studio culture and our development processes to match.  In this talk, we will focus on the programming aspect, on how to create, foster, and preserve a high-quality-code culture that results in a healthy, robust, and modular codebase that is resilient to design changes and could easily be reused for other games. We will cover the specific programming practices (best practices, code reviews, DevOps, management of technical debt...) as well as the equally important human aspects of management, hiring, knowledge sharing, and project planning methodologies we use. 

  • Best practices on how to increase rapid iteration in heavy development while maintaining/creating a high-quality culture (considering the hot button topic of crunch)

A practical perspective on training reinforcement learning bots.

Thursday 28th October: 14.00 - 14.45 :

Reinforcement learning has recently shown impressive results on video games. This session presents a pragmatic view on training reinforcement learning based bots for modern video games and the different technical challenges that arise when developing and scaling such a system. Indeed, a lot of academic research allowed the field of reinforcement learning to reach a state where it is applicable to actual problems but very little has been studied when it comes to application at scale and the practical issues that need to be taken into consideration when developing and using a reinforcement learning system.

  • Challenges of applying reinforcement learning to actual video games.
  • How to design a system suitable for real-world application?
  • Key takeaways from developing our own framework.

Don’t miss our early bird rates

Book your conference pass now with a 20% discount - you can save £££s! 

Offer ends 15 September.

Register Now

Get involved today!

There are many ways you can be part of Develop:Brighton - including taking a booth in the Expo or choosing one of the many sponsorship opporunities during the event or at the Star Awards.

Contact us now!

Keep up to date with Develop:Brighton

Newsletter Sign Up