JetBrains logo

JetBrains GameDev Days 2024

A free live virtual event dedicated to game development, covering Unity, Unreal Engine, and Godot.

October 9 - 10, 2024

    We’ve invited several experts from various areas for talks and discussions and to share pro tips on how to craft the best games. We’ll cover aspects of CI/CD, Unity's DOTS, scripting in C#, and game development on Godot.

    In 2024, we’re again going hybrid. We’ll warm up by having a couple of talks at the in-person events on October 9, while the main, online sessions will be held on October 10.

    Agenda

    October 9, Wednesday

    Munich

    Amsterdam

    • 18:00–15:06 CET/CEST
    • 16:00–13:06 UTC

    Doors open

    General relativity

    • 18:30–19:30 CET/CEST
    • 16:30–17:30 UTC

    Building a Godot Addon

    Advanced
    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.

    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: Principles, Technologies, and Tools

    Intermediate
    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.

    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.

    • 19:30–20:30 CET/CEST
    • 17:30–18:30 UTC

    Debugging Unity Games With Rider

    Introductory and overview
    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.

    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: Harnessing Inheritance, Variables, and More for Enhanced Efficiency!

    Intermediate
    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.

    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.

    October 10, Thursday

    • 11:50–12:50 CET/CEST
    • 09:50–10:50 UTC
    Daniel Gallo, Matt Ellis
    Turbocharge Your Unreal Engine Game Development With JetBrains Rider and TeamCity

    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.

    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.

    Turbocharge Your Unreal Engine Game Development With JetBrains Rider and TeamCity

    Introductory and overview
    Daniel Gallo, Matt Ellis

    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.

    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.

    • 12:55–13:40 CET/CEST
    • 10:55–11:40 UTC
    Ilya Bogin
    Developer Experience in Mobile GameDev: How We Rebuilt a Plane in Flight

    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.

    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.

    Developer Experience in Mobile GameDev: How We Rebuilt a Plane in Flight

    Intermediate
    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.

    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.

    • 13:50–14:20 CET/CEST
    • 11:50–12:20 UTC
    Anastasia Kazakova, Chris Perez, Johannes Ebner, Andreia Gaita, Tristan Grespinet
    State of Game Technology Roundtable

    In this session, industry experts will come together for a roundtable discussion about the latest trends in game development technology. We’ll explore key lessons from recent reports, analyze emerging tools and workflows, and share practical experiences that are influencing the future of game creation. Whether you’re a developer, producer, or tech enthusiast, this session will provide you with perspectives on staying at the forefront of advancements in game technology.

    In this session, industry experts will come together for a roundtable discussion about the latest trends in game development technology. We’ll explore key lessons from recent reports, analyze emerging tools and workflows, and share practical experiences that are influencing the future of game creation. Whether you’re a developer, producer, or tech enthusiast, this session will provide you with perspectives on staying at the forefront of advancements in game technology.

    State of Game Technology Roundtable

    Introductory and overview
    Anastasia Kazakova, Chris Perez, Johannes Ebner, Andreia Gaita, Tristan Grespinet

    In this session, industry experts will come together for a roundtable discussion about the latest trends in game development technology. We’ll explore key lessons from recent reports, analyze emerging tools and workflows, and share practical experiences that are influencing the future of game creation. Whether you’re a developer, producer, or tech enthusiast, this session will provide you with perspectives on staying at the forefront of advancements in game technology.

    In this session, industry experts will come together for a roundtable discussion about the latest trends in game development technology. We’ll explore key lessons from recent reports, analyze emerging tools and workflows, and share practical experiences that are influencing the future of game creation. Whether you’re a developer, producer, or tech enthusiast, this session will provide you with perspectives on staying at the forefront of advancements in game technology.

    • 14:30–15:00 CET/CEST
    • 12:30–13:00 UTC
    Pierre-Thomas Meisels, Tristan Grespinet, Cedric Hippmann
    Godot Game Development Leveraging Kotlin

    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 the following project:

    https://github.com/utopia-rise/godot-kotlin-jvm

    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 the following project:

    https://github.com/utopia-rise/godot-kotlin-jvm

    Godot Game Development Leveraging Kotlin

    Introductory and overview
    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 the following project:

    https://github.com/utopia-rise/godot-kotlin-jvm

    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 the following project:

    https://github.com/utopia-rise/godot-kotlin-jvm

    • 15:00–16:00 CET/CEST
    • 13:00–14:00 UTC
    Lunch Break

    Lunch Break

    • 16:00–17:00 CET/CEST
    • 14:00–15:00 UTC
    Andreia Gaita
    CSharpify Your Engine: A Guide to Embedding C#

    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.

    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.

    CSharpify Your Engine: A Guide to Embedding C#

    Introductory and overview
    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.

    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.

    • 17:10–17:40 CET/CEST
    • 15:10–15:40 UTC
    Alexander Bondarev
    Rider Tips and Tricks for Unity Development

    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.

    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.

    Rider Tips and Tricks for Unity Development

    Introductory and overview
    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.

    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.

    • 17:50–18:50 CET/CEST
    • 15:50–16:50 UTC
    Alex Drum
    Game Engines With C# and Rider

    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.

    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.

    Game Engines With C# and Rider

    Advanced
    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.

    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.

    • 19:00–20:00 CET/CEST
    • 17:00–18:00 UTC
    Johnny Thompson
    Why DOTS Is Unity's Silver Bullet

    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.

    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.

    Why DOTS Is Unity's Silver Bullet

    Advanced
    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.

    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.

    Speakers

    Pierre-Thomas Meisels

    Data Engineer, Ubisoft

    Tristan Grespinet

    Open source contributor

    Cedric Hippmann

    Software Engineer, Abacus Research AG

    Andreia Gaita

    CEO and Founder, Spoiled Cat B.V.

    Alex Drum

    Engineer, Elestrals LLC

    Ilya Bogin

    Technical Producer, Playrix

    Johnny Thompson

    Developer and Content Creator, Turbo Makes Games

    Johannes Ebner

    Gaming Solution Architect, Structed.me

    Matt Ellis

    Developer Advocate, JetBrains

    Daniel Gallo

    Solutions Engineer, JetBrains

    Vyacheslav Morov

    Backend Developer, MY.GAMES

    Jamie Berghmans

    Infrastructure Developer, BiteMe Games

    Anastasia Kazakova

    Head of Marketing and Business Development in .NET and Game Development Tools, JetBrains

    Chris Perez

    Director of Product Marketing - Media & Gaming, Perforce

    Alexander Bondarev

    Software Developer, JetBrains

    George Lemeshko

    Software Developer, JetBrains

    FAQ

    Is JetBrains GameDev Day 2024 free to attend?

    Yes, it is an entirely free, hybrid event. There will be the in-person part on the evening of October 9, with YouTube streams on the JetBrainsTV channel, and October 10 is a full day of online talks.

    How can I join the sessions?

    You can watch the livestream on YouTube from home. We will be using YouTube as our streaming platform, so all you’ll need is a device that can stream videos from YouTube.

    Will the sessions be recorded?

    All the sessions will be recorded and published on YouTube, so you can catch up on anything you missed. While you’re waiting for the first session to begin, we invite you to check out the recordings from last year's GameDev Day 2023.

    What can I expect on October 9?

    We will host meetup-like evening events at a couple of our offices, so you can join us to listen to talks, chat with other attendees, and enjoy some food and drinks.

    Please note that the number of seats in the Amsterdam and Munich offices is limited.

    Do I have to attend all the sessions?

    No. You can join the livestream at any time, and you are welcome to pick specific presentations or join us for all of them.

    Can I ask questions during the event?

    Yes! We encourage you to ask questions in the YouTube chat during the presentations. We will try to answer your questions as we go along. Also, feel free to contact the speakers on X (formerly Twitter) or through their blogs!

    Community partners

    This event is supported by