Hey guys, it's been awhile since I've update (or even visited) my website – though I've been doing a lot over on Github and more than ever over on YouTube.
Upon trying to put out an update, I noticed this site was down. How odd. Apparently the docker container that's running it died. I forgot to check the logs before I restarted it though – so I guess I won't know what happened until it happens again... That being said – it's likely not to be down for long stretches again. Turns out I forgot to stick a restart policy on the container. This has been rectified.
Anyways, development updates!
So it's been quite awhile since I released the Open Source Mario Maker Clone to the world – and to my delight, there has been one level uploaded to the server since then!
The 2021 Education Expedition
Since then, I've been upgrading / sidegrading my development skills into a more low-level direction.
So how's that been going? Slowly. That's how. There have been multiple barriers that I've been working my way through for months now. While sometimes it feels like I'm making very little progress – whenever I reflect on things I know now that I didn't 6 months ago; I realize that I've come a mighty long way.
Let's get specific. I've been studying multiple subjects:
- C++ – While I wouldn't call myself BAD at C++; it had never been my primary language of development. It's just not in super high demand. Other languages pay the bills much more effectively. That being said, I purchased 2 books that I've been working my way through.
- Professional C++ by Marc Gregoire https://amzn.to/3yPooKe
- Concurrency in Action by Anthony Williams https://amzn.to/3wLSyfO
I'm working through these specifically to gain insights on some of the newer, less documented C++ standards. Specifically, I'm trying to work as closely to C++20 as I can.
- Game Engine Architecture – Virtual Reality requires efficient runtimes. Efficient runtimes are basically what game engines do; therefore I'm studying game engines. I've been working my way through this book:
- Game Engine Architecture by Jason Gregory https://amzn.to/3yP6A1Z
- Vulkan and Graphics Programming – my mathematics skills need work. Additionally, I know very little about the technicals behind graphics programming. Therefore, this is where I've been spending the bulk of the last few months. On top of the book that I've been working through:
- Real Time Rendering by Tomas Akenine-Möller https://amzn.to/3c5tJ6p
I've also gone through a Udemy course on Vulkan, Vulkan tutorials on https://vkguide.dev and https://vulkan-tutorial.com/. With some of the Vulkan specifics out of the way, I'm also getting started with some UC San Diego Graphics Programming courses online.
So this is everything I've been shoving into my brain over the last few months. This is not everything I've been upto though. I've also been trying to put these learnings to use with...
2021 Personal Projects!
A year can't go by without setting myself some things I want to make; here's what I've been upto so far:
YouTube – I find that the best way to solidify my learning outcomes is to produce learning materials for others to consume. The first few months had been slow as I was putting all my time and energy into my knowledge acquisition but I was challenged to a race to monetization – so I've ramped up to trying to keep a weekly upload schedule. Instead of rehashing one of my videos, here's the plan for YouTube:
Virtual Reality Engine – I decided I was going to build my own VR Rendering / Game Engine thing from scratch using C++, Vulkan and OpenVR. It probably goes without saying, but I had decided to build this BEFORE I had decided to embark on my ridiculous learning adventure. This has been slow going – as rendering is hard AF if you've never paid attention to it before.
However, I've got a renderer and I'm on the cusp of outputting the image to my Valve Index. Once that is accomplished, I expect progress will be a lot more consistent as... to be honest I've kind of been procrastinating on putting the hours in to figure out multi-target rendering and outputting the left/right eye image.
Anyways, that's everything going on in development land from my end. I'll try to empty my brain onto this page more often. It'll help with organizing my thoughts and will also keep me touching the site (ensuring uptime >.>).
If you've read this far, thanks for your time. I'm sure it wasn't easy :D