-
Suggestion: try doing it as a hobby before doing any major career changes.
> I love games
Many do, but game development can be tedious sometimes, or you might just discover that you like something else more.
# Game engines: Godot
For an easy start at putting something together, consider downloading Godot: https://godotengine.org/
It's a free game engine that's relatively simple, is open source, and supports both 2D and 3D, as well as has their own scripting language called GDScript (that should be easy to learn if you know Python), whilst also supporting C# (which is used more commonly in the industry). The documentation is pretty good, though you can also watch videos, like this channel for example: https://www.youtube.com/@Gdquest/videos
Follow the tutorials and try to put your own game together, see what working with maths/physics/things like raycasts is like, what it's like to deal with a game loop and scene trees, how logic that's attached to various nodes/objects interacts. Don't make the game anything complicated, start out with something like pong, breakout or snake.
# Game engines: Unity
If you want to focus more on what's used in the industry, rather than something that's just approachable, download Unity: https://unity.com/
You can do this as the first step as well, though you will have to use C# for the most part (though you can get Lua plugins, IIRC). This engine also has a rich ecosystem around it, as well as lots of different assets/plugins in the store, some of which are free. Do be warned that it's somewhat fragmented in the recent years (URP/HDRP, DOTS, networking and UI) so some things might be a bit confusing and it can get problematic to work with when you're dealing with larger projects. I recall Brackeys making some nice videos a while back, though apparently there's no new content: https://www.youtube.com/@Brackeys/videos
# Game engines: Unreal
Alternatively, if you're comfortable with even more complexity and lower level languages, go for Unreal: https://www.unrealengine.com/en-US
Admittedly, on the programming side of things it also supports Blueprints (visual scripting), but you'll probably be working in C++ with it as well. It can feel more coherent than Unity, but can also be more challenging to work with and some suggest it's optimized towards particular types of games. That said, the graphics and LOD solutions are excellent, so it's an especially good choice if you want something visually striking (though Unity's HDRP can also look good with some work).
# Game engines: other
There's also the option of looking into lesser known engines like Stride for example https://www.stride3d.net/ but while many of them will be interesting, you can't really compete with the amount of resources about Unity, Unreal (and perhaps more recently Godot) out there.
There's also the option of trying to write your own engine, but at that point you're most likely no longer writing a game and might not ship anything at all. For an example of someone's gradual descent into insanity (joking, sort of), look at Randy: https://www.youtube.com/@bigrando420/videos
# Other software
As for supporting software, for modeling/texturing/animations you'll probably want something like Blender: https://www.blender.org/
For image editing, GIMP is free: https://www.gimp.org/
For drawing, consider Krita: https://krita.org/ or FireAlpaca: https://firealpaca.com/
For simple audio editing, Audacity is okay: https://www.audacityteam.org/
If you just want ready made game art, consider looking at OpenGameArt: https://opengameart.org/ or something like that, personally I think that Quaternius has some nice ones if you're not picky about the style: https://quaternius.com/ or there are occasionally compilations of free songs etc. on various Reddit communities I think.
For version control, you can get by with Git, but please consider Git LFS: https://git-lfs.com/
# Summary
All of this doesn't mean that you need to release your own game on Steam or Play Store or wherever, merely play around with the tech and familiarize yourself with the different aspects of it all, to figure out what you like or don't like.
If you do decide to release a game for whatever reason, tamper your expectations and don't be afraid of failure. Consider what the launch of Brigador was like, despite it being an arguably good game: https://www.youtube.com/watch?v=qUsuusNLxik
After three to twelve months of this, you should be able to figure out whether you want to make the career change or not. At that point you already have a CV with past work experience on the programming side of things, as well as a little portfolio of demo projects and such, then it becomes a matter of networking and such. Building out in the open is also an option.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
book
Documentation on how to use the Rust Programming Language to develop firmware for bare metal (microcontroller) devices (by rust-embedded)
It’s not a job, but I’m guessing you would like this book: https://docs.rust-embedded.org/book/
-
Suggestion: try doing it as a hobby before doing any major career changes.
> I love games
Many do, but game development can be tedious sometimes, or you might just discover that you like something else more.
# Game engines: Godot
For an easy start at putting something together, consider downloading Godot: https://godotengine.org/
It's a free game engine that's relatively simple, is open source, and supports both 2D and 3D, as well as has their own scripting language called GDScript (that should be easy to learn if you know Python), whilst also supporting C# (which is used more commonly in the industry). The documentation is pretty good, though you can also watch videos, like this channel for example: https://www.youtube.com/@Gdquest/videos
Follow the tutorials and try to put your own game together, see what working with maths/physics/things like raycasts is like, what it's like to deal with a game loop and scene trees, how logic that's attached to various nodes/objects interacts. Don't make the game anything complicated, start out with something like pong, breakout or snake.
# Game engines: Unity
If you want to focus more on what's used in the industry, rather than something that's just approachable, download Unity: https://unity.com/
You can do this as the first step as well, though you will have to use C# for the most part (though you can get Lua plugins, IIRC). This engine also has a rich ecosystem around it, as well as lots of different assets/plugins in the store, some of which are free. Do be warned that it's somewhat fragmented in the recent years (URP/HDRP, DOTS, networking and UI) so some things might be a bit confusing and it can get problematic to work with when you're dealing with larger projects. I recall Brackeys making some nice videos a while back, though apparently there's no new content: https://www.youtube.com/@Brackeys/videos
# Game engines: Unreal
Alternatively, if you're comfortable with even more complexity and lower level languages, go for Unreal: https://www.unrealengine.com/en-US
Admittedly, on the programming side of things it also supports Blueprints (visual scripting), but you'll probably be working in C++ with it as well. It can feel more coherent than Unity, but can also be more challenging to work with and some suggest it's optimized towards particular types of games. That said, the graphics and LOD solutions are excellent, so it's an especially good choice if you want something visually striking (though Unity's HDRP can also look good with some work).
# Game engines: other
There's also the option of looking into lesser known engines like Stride for example https://www.stride3d.net/ but while many of them will be interesting, you can't really compete with the amount of resources about Unity, Unreal (and perhaps more recently Godot) out there.
There's also the option of trying to write your own engine, but at that point you're most likely no longer writing a game and might not ship anything at all. For an example of someone's gradual descent into insanity (joking, sort of), look at Randy: https://www.youtube.com/@bigrando420/videos
# Other software
As for supporting software, for modeling/texturing/animations you'll probably want something like Blender: https://www.blender.org/
For image editing, GIMP is free: https://www.gimp.org/
For drawing, consider Krita: https://krita.org/ or FireAlpaca: https://firealpaca.com/
For simple audio editing, Audacity is okay: https://www.audacityteam.org/
If you just want ready made game art, consider looking at OpenGameArt: https://opengameart.org/ or something like that, personally I think that Quaternius has some nice ones if you're not picky about the style: https://quaternius.com/ or there are occasionally compilations of free songs etc. on various Reddit communities I think.
For version control, you can get by with Git, but please consider Git LFS: https://git-lfs.com/
# Summary
All of this doesn't mean that you need to release your own game on Steam or Play Store or wherever, merely play around with the tech and familiarize yourself with the different aspects of it all, to figure out what you like or don't like.
If you do decide to release a game for whatever reason, tamper your expectations and don't be afraid of failure. Consider what the launch of Brigador was like, despite it being an arguably good game: https://www.youtube.com/watch?v=qUsuusNLxik
After three to twelve months of this, you should be able to figure out whether you want to make the career change or not. At that point you already have a CV with past work experience on the programming side of things, as well as a little portfolio of demo projects and such, then it becomes a matter of networking and such. Building out in the open is also an option.