I wanna make a Game

Hey, guys, I wanna make a game; and I want to make it in Rust. The problem is, I have never done this before. I also have never really used Rust before - at least not for a project of mine. I started the tutorial in the Book and made a guessing game, but I never finished it and ultimately decided that I wanted to restart since it’s been awhile.

However, the bigger problem is that I’ve never made a game before. I figure I am going to need a game engine. So I started looking for Rust game engines. I found Amethyst and Bevy. I thought I might use Bevy since it has a reputation of being simpler for beginners, but it recommends using a more stable game engine for my Next Big Project™ - such as Godot with (GitHub - godot-rust/gdnative: Rust bindings for Godot 3). So, what do you guys think? I know I am a little in over my head, but this is something I really want to do.

P.S.: Not that it matters too much, but I know what game I am making. Basically, I want to take the train system in Factorio, and build a resource management game around that. I shared my idea with a friend of mine - who also loves Factorio and its glorious train system - and we hashed out a bunch of ideas together for this game. I hope you guys understand me not sharing too many details, though. My idea is awesome, but I understand if someone thinks I should try building a simpler game first.

1 Like

Here, I took the liberty of asking chatgpt about this.

I hope the compression isn’t too harsh and the text is easily readable.

1 Like

Some quick beginner tips;

  1. Start way small. And I mean WAAAY small. Start by making a simple game that just outputs a few pixels. Pong is essentially the Hello World of games and even that has quite a few gotchas.

  2. Do not lock yourself into any technology while learning to make a game. Today I would start with a game engine like Godot or Unity, and get a feel for how the classic “collect inputs, process data, return outputs” game loop pattern works, before you even start thinking about deep diving in Rust.

  3. Surprisingly little actual programming actually goes into a game nowadays. It is mostly combining art assets with the help of a decision tree script language - if A do x else do y. Few games actually require Carmack-levels of brilliance anymore, for better and worse. On the plus side artists can create any game they want with the tools given, on the flip side tools are often sub-par and leads to bloated games way too big for their own good.

  4. When doing something bigger, start with fun. You want a tight, fun game loop that keeps you coming back for more. Develop that before even thinking about genres, story plots and sidekick characters.

Good luck!

4 Likes

Another way yo do it is to use existing games. Back in the day, it was the source engine from half life or whatever was the engine of Warcraft3.

These days, maybe try prototyping in I dunno, Roblox, then go for something Big that your players may want to use like Unreal Engine or something. Core gameplay loop and art style are the more important parts of the game. Dont let the engine and other parts of the underbelly of the game get in the way of a good idea. Even Dragon Age was prototyped in the Neverwinter Nights Engine.

3 Likes

Not familiar with Rust or those engines, but here are some general things to consider.

  • is the engine well maintained / documented / easy to use?
  • does it have an active community to ask technical questions when you get stuck (forums, irc, discord)

If you’ve never made one you probably want to start simpler. There are a lot of moving pieces to games. Try to figure out the requirements for your game.

You may want to prototype a couple engines and figure out mechanically speaking how do you want your trains and tracks to look and feel and function. If you want to render 2D vs 3D might change your choice of engine for example.

Before even touching code or engines, you can prototype on paper to help figure out the art style and scale and scope of things.

1 Like