JetBrains GameDev Days 2024
Session recordings of JetBrains GameDev Days 2024.
A two-day event dedicated to game development, covering Unity, Unreal Engine, and Godot.
Watch the recordings here!
Building a Godot Addon
Johannes Ebner
Have you ever wondered how you can create your own Godot addon and publish it to the Asset Store?
This session will walk you through all the required bits, provide insights and best practices for building your own addon, and show you what is possible with just the Godot editor and GDScript!
We’ll also take a quick look at GDExtension and what you can do with this new method of building high-performance plugins.
How We Built the Backend Architecture for HAWKED
Vyacheslav Morov
In this talk, we’ll examine the process of building the backend for the HAWKED project, highlighting the tools we used, the challenges we faced, and the lessons we learned.
Building a game server requires managing a large number of complex real-time operations where minimizing latency is crucial. It demands constant adaptation, as well as the refinement of both the server's architecture and your approach to backend development. To ensure the backend's reliability and efficiency, it is essential to focus on scalability, fault tolerance, and observability.
During development, we utilized frameworks and microservices like .NET, Orleans, and ASP.NET, and we had to overcome several challenges, including the need to implement mandatory singleton services and the limitations of various technologies and platforms.
Debugging Unity Games With Rider
George Lemeshko
Debugging Unity games can be challenging, but JetBrains Rider makes it a lot easier. In this talk, you’ll learn how to leverage Rider’s advanced debugging tools to inspect variables, evaluate expressions, and solve issues faster.
Streamlining Configuration With Kotlin
Jamie Berghmans
In this talk, Jamie will demonstrate how to use Kotlin in TeamCity to go beyond the limitations of traditional YAML or XML build pipelines. Starting with a simple single-file build script, he'll show how to develop it into a cleaner, multi-file structure that's easier to read and maintain. The session will also cover how to use inheritance to create custom, reusable Build Types, reduce code duplication, and leverage Kotlin language features to increase developer efficiency. These techniques will be illustrated using a multi-OS Unity project that requires running both Edit Mode and Play Mode tests.
Turbocharge Your Unreal Engine Game Development With JetBrains Rider and TeamCity
Matt Ellis, Daniel Gallo
Do you work on game development in Unreal Engine? Are you looking for a way to boost your game development productivity?
Join us for an insightful webinar exploring how JetBrains Rider and TeamCity enhance Unreal Engine game development. Discover Rider’s innovative IDE features, including its built-in AI Assistant, that streamline Unreal project changes. Then, see TeamCity’s role in testing and building changes to an Unreal project via a dynamic CI/CD build pipeline based on a BuildGraph script.
Developer Experience in Mobile GameDev: How We Rebuilt a Plane in Flight
Ilya Bogin
Find out how we rebuilt the developer experience at Playrix for different teams, why you should do it, how to measure the success, and how not to ruin the whole process.
Godot Game Development Leveraging Kotlin
Pierre-Thomas Meisels, Tristan Grespinet, Cedric Hippmann
This talk will take the shape of a live demonstration, showcasing how to use the Kotlin programming language as well as the JVM ecosystem alongside the Godot game engine.
It will be split into three parts:
How to build and run Kotlin code within Godot.
How to use Kotlin idiomatic language features in your game.
How to make game development easier using the wide range of libraries in the JVM ecosystem.
The demonstration will make use of this project.
CSharpify Your Engine: A Guide to Embedding C#
Andreia Gaita
C# is a very popular language, and there are a lot of C# developers out there. There is a constant desire for C# skills to be transferable across game engines, and this is especially true given the recent events surrounding Unity and the increasing popularity of alternative engines targeting the indie dev market.
But how transferable are C# skills from engine to engine? How do you evaluate the viability of the C# support on an engine you don't know? What do AOT, JIT, and Mono mean? If you want to embed C# in your engine, how do you do that?
This talk will answer all these questions and more, covering what you need to know about C# and the .NET ecosystem in the game industry, clarifying the jargon, going over existing engine support, explaining platform constraints and portability, and providing practical examples of how to embed C# in a game engine, as well as providing relevant online resources.
Rider Tips and Tricks for Unity Development
Alexander Bondarev
In this talk, we'll cover how Rider helps you identify memory allocations in hot paths, develop shaders, and switch less frequently between Unity Editor and IDEs via integration, highlighting, and fixing problems during code analysis.
Game Engines With C# and Rider
Alex Drum
Understanding game engines is one of the core competencies of video game development, and what better way to understand how a game engine works than creating one yourself? C# is an incredibly versatile language with an expansive network of libraries allowing you to develop each piece of your engine, backed by professionally developed and commonly used tools from around the world. Rider provides hundreds of debugging tools that allow you to quickly visualize memory usage, code execution patterns, and hot spots in your code, allowing quick optimization of code that is critical to game engines as a whole.
The speaker developed a Pokemon-like game engine from scratch using SDL2 and C# with Rider as the primary game development engine. This engine is highly optimized in its current state and has two completely custom programming languages in it, which have language servers written for Rider so that I can quickly and easily edit my entire project with completion and syntax highlighting in Rider.
This session will cover the importance of optimization in game engines, the concepts behind size compression and custom compilation tools, measuring memory usage, step-by-step code execution, and the value of Rider in the development of my game engine. Whether you’re building a custom engine or working on existing platforms, the aim of this session is to demonstrate how you can quickly and easily leverage these tools in your own development of video games.
Why DOTS Is Unity's Silver Bullet
Johnny Thompson
This talk will give an overview of Unity's Data-Oriented Technology Stack (DOTS) and the common problems in game development these tools solve. This talk will also demonstrate some interesting use cases of data-oriented design in Unity and some of the upcoming integrations in the Unity engine.