1 Introducing Rust in Games
This chapter covers
- Challenges in game development
- How Rust can improve the status quo
- The approach to use Rust in games today
20 years ago when a young enthusiastic programmer wanted to join the games industry there was no way around learning C and C++ to have a chance. Games were one-off products, often patched up like a wounded boxer in the last round just to get ready to release. Best case scenario the game was a success and the codebase was cleaned up and reused for a second version. The industry was shaped by veterans that used to write games in assembly and the heroes were going by the names of John Carmack and Tim Sweeny - people famously squeezing the last bit of performance out of the players' machines.
A lot has changed since then, games are now software as a service products with years long life cycles and regular update intervals. Maintainability of the software architecture is a much more important factor and most of the games are multiplayer/social experiences that require internet connections to allow people to express themselves and compete with each other around the globe in front of a wide audience. While performance is still important, the benefit of optimizations now aims at decreasing battery consumption on the user's phone instead of another incremental improvement of the rendering quality.