This is a bit of a late one, but I wanted to write anyway to leave a mark for what I accomplished and what I want to do this year. Last year was a big one. I graduated from university, started my professional career and moved into my first real place. It’s been very busy and adjusting to my newfound lack of spare time has been definitely a challenge, but overall I think I’m in a happy place for 2023.

In 2022 as part of my graphics journey, I:

  • Created a RHI for OpenGL/GNM(PS4) as part of my team project at university
  • Started learning Vulkan for my Erosion dissertation(C++/Vulkan)
  • Made a basic C++/Vulkan 3D Renderer
  • Converted it to a Rust/Vulkan 3D Renderer
  • Finalised on making a Rust/Vulkan 2D Game Engine

So far in 2023, I’ve been refactoring my 3D renderer into a 2D game engine. I was stuck for a long time between working on games and working on graphics. I much prefer to develop games in 2D as it’s what I am used to and I enjoy the simplicity of it, but I always felt like I needed to be doing 3D graphics work. However, I’ve decided to change my thought process and developed my own 2D game engine anyway. It’s not going to be the next big game engine, but it’s going to be a place where I can develop small scales games while learning more about graphics APIs, structuring a codebase and so much more. Although it does limit the type of games I can make to what my engine can support, it makes me much happier to work with and I don’t have particularly great ideas for games anyway, so the smaller, the better. I think if I genuinely had a great idea for a game that I felt would be much easier to develop in an off the shelf engine, I would be more than happy to switch to make sure sure that I would be able to complete it within a reasonable amount of time.

One disappointment from last year is that while I did get more comfortable using Vulkan, I still can’t say that I have done anywhere close to the things I did with OpenGL previously. I still have not gotten around to implementing shadows & deferred rendering, which I feel like I have pushed back on as I wanted to make sure I had the “correct” architecture first. This year, I’m going to try and get rid of that attitude and start pushing myself to implement more complex things. The worst thing that can happen is that I learn something for next time I try to do it.