For the past few months, I’ve been trying to learn Vulkan by creating a graphics engine/game engine-lite. However, I lost a lot of focus of what I was doing and what I wanted to accomplish. While initially setting out to make a purely graphics engine, I started including scope for more advanced Input, Physics, Audio systems etc that while I would like to add one day, are not what I want to focus on right now. I can only learn so much, and I really want to dive into modern graphics. Because I started focusing on creating a game engine-lite, I also started to panic and worry about the structure of my code and how people would interface with it, when all I really want to do is make a renderer for me.

This week, I’ve decided to refocus, but also take on a new challenge. I’ve heard lots about Rust over the past year, and I’ve decided to give it a go. This will probably end up being a bad idea, but I’ve used C++ almost exclusively for graphics programming, and I would love to see what Rust has to offer. I’m already in love with how easy it is to add crates to my project, and a lot of how Rust wants you to program interests me. While this will mean I will not be focusing on Graphics for a while, I’m hoping that it allows me to think in different ways and be more passionate about the language that I program in. Although it won’t be the answer to all of my problems, I haven’t explored a new programming language in some time and I think that no matter the outcome, I will learn a lot from it.

To start with, I have been reading the Rust book. I am not rushing through this book, but instead using it as a way to guide me through all of the different features of Rust in an organised, structured way. I make notes daily on what I am reading about and try to apply them when I next program in Rust. In addition, I am creating some simple projects and following tutorials to satisfy my need for something more fun. I have followed tantan’s tutorial on how to make the Breakout game using a library called Macroquad. This was helpful in understand more of what a Rust program looks like, and how a simple game can be created using just a graphics library. If you would like to play my version of the game, a link is here. I do not plan to add too many extra features, but I do want to add level loading from a file, and that is my aim for this week.