Rust for Game Development

Can Rust Be used for Game Development?

Yes, Rust can be used to make games, although Rust is not very popular in the game development industry, it is a fast, and powerful language that makes it well suited for making powerful, performant Games, you can use game engines like Amethyst, Bevy, to make your work easy.

Rust is not commonly used for AAA level games, but you will still be able to develop decent games that can attract the attention of many users. There are many games that have been developed using Rust that have a decent userbase.

Since its creation by Mozilla employee Graydon Hoare, Rust has grown in popularity and usage in many software development fields including Game development, Rust has grown to become the most loved programming language by many developers.

According to a Stack Overflow survey of 2021, Rust is loved by 86.98% of professional developers versus 13.02% of professional developers who dreaded it. Actually, Rust has been the most loved programming language for six years straight. Its popularity keeps increasing year over year.

Rust is a general-purpose, statically-typed, compiled programming language. It is often referred to as a language that empowers everyone to build reliable and efficient software. Rust is designed for performance and safety; it is known for enforcing memory safety.

You can use Rust to build command-line tools, Web services, DevOps tools, Embedded Systems, Internet of Things (IoT), Search Engines, Machine learning, Databases, Compilers, Games, Crypto, Network services, audio and video analysis and transcoding, and more.

There are many companies using Rust, some of the popular ones include Dropbox, Firefox, Cloudflare, Microsoft, Amazon, Google, Facebook, Discord, Mozilla, etc. but, nearly none of these companies use it for game development.

GAMES WRITTEN IN RUST?

There are not many popular games made with Rust, some of the notable ones include

  • Rust Doom,
  • HyperZen Training,
  • Q3,
  • Crate Before Attack,
  • Shar,
  • Veloren,
  • Rusted Ruins,
  • Plantex,
  • Hematite,
  • Vange-rs,
  • City Bound,
  • Nox Futura,
  • UniverCity,
  • Sulis, and many others.
games written in rust
Games written in Rust

RUST GAME ENGINES

There are a number of Game Engines that will help you to make games with Rust easily and efficiently, here are some of the common ones.

  • Amethyst – A data-driven game engine for building 2D and 3D games with Rust.
  • Bevy – An open-source, fast, and simple data-driven game engine for building 2D and 3D games with Rust. It is 100% free and has loads of features that make game development interesting.
  • Piston – An open-source modular game engine for making 2D and 3D games with Rust. Piston was used to make games such as Hematite, Playform, Rustyhex, Super Mario Bros, and many others.
  • Fyrox – A powerful game engine with rich features for making 2D and 3D games with Rust.

Other Rust-based game engines include Nannou, RG3D, Blue-Engine, Chariot, Caper, GGEZ, Eldiron, etc.

Although Rust is not at the level of C++, C#, or Lua for game development, it is glowing and getting a lot of traction from many game developers. It is going to take time for Rust to be the go-to language for game development but it has amazing features that make it a great choice for developing games.

WHY RUST IS THE FUTURE OF GAME DEVELOPMENT?

Rust provides low-level control without giving up high-level convenience, this makes it fast and easy to work with, making it very suitable for game development. Another great feature of Rust is how it handles memory.

While a developer has to manually handle memory management in languages like C/C++ or use C# which has a garbage collector, Rust takes a unique approach, developers can still handle memory without shooting themselves in the foot with a concept of ownership and borrowing.

Rust can also interface with other programming languages such as C and C++, it has a foreign function interface that can be used to call code written in C from Rust and to call Rust code from C. Rust also has a library called CXX that can be used to call C++ code from Rust and to call Rust Code from C++.

WHAT KIND OF GAMES CAN I BUILD WITH RUST?

There are many types of games that you can build with Rust, from simple to complex multiplayer games, some of the categories to consider include Racing, Puzzle, Simulation, Action, Card, VR, RPG, Strategy, FPS, Open World, and many more.

kind of games rust
Kind of games you can make with Rust

If you plan on making powerful games for different platforms and consoles, using Rust is currently not the best choice, there are very few Rust resources for game development. Plus, there are not many powerful game engines that support Rust for game development at that level.

Most game developers making games for consoles do not use Rust, if you want to develop games efficiently for nearly all platforms, using C++, C# or Lua is the best approach. There are a lot of resources available for these languages to help you build your games quickly and efficiently.

WHAT ARE ALTERNATIVES TO RUST FOR GAME DEVELOPMENT?

There are many programming languages and platforms that you can use as alternatives to Rust for game development. Here are some of the popular ones:

UNITY (C#)

Unity is one of the most popular platforms for developing 2D and 3D games. Unity uses the C# programming languages for game logic, there are also other features that can be implemented with drag and drop.

Unity has a marketplace called Asset store, where you can download free and paid game assets to quicken your development process. Unity is regarded as a beginner-friendly platform, it is used by big companies as well as indie developers.

Some of the popular games made with Unity include Pokemon Go, Monument Valley 2, Tempo Run, Robocraft, Angry Birds, Sonic Dash, Marvel Strike Force, Iron Man VR, Lara Croft Go, Super Mario Run, and many others.

Unity supports many platforms, once you are done developing your game, you can deploy it to different platforms such as Android, iOS, tvOS, macOS, Windows, Linux, Playstations, Xbox, Nintendo, Stadia, WebGL, Oculus VR, PSVR, ARCore, Magic Leap, etc.

Unity is also used in other industries such as Film, Automotive, Architecture, Military, Engineering, Construction, etc.

UNREAL ENGINE (C++)

Unreal Engine is one of the most advanced, powerful, and popular platforms for making 2D and 3D games, it uses the C++ programming language for programming the game logic.

Unreal Engine has also a marketplace that has a lot of resources ranging from art assets to models, sounds, environments, code snippets, and more. Some of them are free while others can be paid for.

Some of the popular games made with Unreal Engine include Fortnite, Brothers in Arms, Golden Eye: Rogue Agent, Medal of Honor, Shadow Ops, Shrek 2, Star Wars, Spider-man 2, Batman Arkham City, DC Universe Online, Mortal Kombat, Transformers, Crash Bandicoot, and many others.

Unreal supports many platforms, once you are done developing your games, you can deploy to different platforms such as Android, iOS, tvOS, macOS, Windows, Linux, Playstations, Xbox, Nintendo, Stadia, WebGL, Oculus VR, PSVR, ARCore, etc.

Unreal Engine is also used in other industries such as Film & TV, Architecture, Simulations, Automotive & Transportation, Broadcast & Live Events, Engineering, medicine, etc.

GAMEMAKER STUDIO (JAVASCRIPT, C++, GAME MAKER LANGUAGE)

GameMaker Studio is an easy-to-use game engine for making 2D games and offers limited use of 3D graphics. It has a drag-and-drop feature that makes game development easy. You can also use programming languages like Javascript, C++, and Game maker language for advanced features.

GameMaker Studio has also a marketplace that has a lot of resources ranging from animations to sounds, backgrounds, fonts, objects, paths, sprites, scripts, shaders, and more. Some of them are free while others can be paid for.

Some of the popular games made with GameMaker Studio include Undertale, Forager, Hyper Light Drifter, Samurai Gunn 2, Webbed, The Tarnishing of Juxtia, Destructivator 2, Fields of Mistria, Flynn: Son of Crimson, Katana Zero, Battleships Forever, Tower of Heaven, and many others.

GameMaker Studio supports many platforms, once you are done developing your games, you can deploy to different platforms such as Android, iOS, macOS, Windows, Tizen, Playstations, Xbox, Nintendo, WebGL, Amazon Fire TV, etc.

Others include Godot (C++, C#) Panda3D (Python), Amazon Lumberyard (Lua), CryEngine (Lua), Phaser (Javascript), Blend4Web (Javascript), and many others.

These alternatives will help you to build games for many platforms and they have a huge community of developers. Rust does not have a big game development community compared to C#, C++, Lua, or Javascript, a big community around a language is helpful in case you have challenges during development.

CONCLUSION

It can be seen that Rust can be used for Game development but is it not at the level of C++, C#, or Lua. Rust has many great features that make it a great option for game development, but if you want to make games for many platforms and consoles efficiently, using Unity (C#) or Unreal Engine (C++) is the best approach.

You can enhance your programming skills and learn job-ready skills on Udacity, get started at a discount.