I am announcing a new project. Yes. Another one. BUT, allow me to explain a bit first.
Earlier this year I mentioned in a post that I’d be working on creating a game using Vulkan from the ground up. This blog has been dark ever since. That project never made it off the ground.
Truth be told 2020 has been tough – although I recognize not nearly as rough for me as many, I am not complaining and do recognize that I am fortunate – but it does not mean this year was without its challenges. I was working a lot earlier in the year, often in the form of crunch and overtime to release games. Thus, this and other projects fell by the wayside. This had caused me to lose my passion for making games for a bit.
This all changed later this year when I changed jobs and accepted a new position doing something non-gamedev related. It’s a position that does not demand lots of overtime and high stress. I made a decision that making games for someone else wasn’t something I wanted to do anymore. I want to make games for me, and make games that I like. But more than that, I wanted to involve the community in my process of doing so, as I wish this was something I had when I first started in game dev. I had done some of this with my Typescript Game Engine series on my YouTube channel to some extent. However, web-based games are also no longer something I wish to pursue. I feel like I’ve expressed all I want to in that domain.
I’ve also decided that I wanted to try making a game in raw C – not C++, in an effort to produce a simple, clean game without the overhead and language complexity that C++ brings to the table. Furthermore, I also wanted to make a project that does not use Object-Oriented Programming (OOP), as in recent years my view on this has shifted to less-than-favourable. Instead, I am favouring a more data-oriented design with some functional-style programming mixed in. I will probably post something dedicated to this at some point, but that’s outside the scope of the discussion here.
Ushering in a New Project: Homebrew Journey
All this being said, I launched a new project called Homebrew Journey, where I embark on a quest to create a game completely from scratch in C (that’s also the tagline of the project). It is a YouTube series where 100% of the code is done on video for the world to see. We will be creating all of the tools required for creating the game, outside of a code editor, compiler, modeler and graphics editor. This project will use no libraries at all in the core game code outside of required calls to the OS, some light calls to the standard library (although those will probably also be replaced at some point) and calls to Vulkan as the graphics API.
The project’s home page is at https://homebrewjourney.com (although the .net and .org domains also work) and is of course hosted on my YouTube channel with a playlist of its own. My Discord Server has also been rebranded to match up, so feel free to join the conversation there as well!
Anyway, I will drop an article here from time to time about it when needed, or as an addendum to the series, but https://homebrewjourney.com is always the best place for updates on the project.