[v2.1.30] – 2022-10-30
- communicated my goals in game dev for the next decade
- communicated my goals for building my game engine
- daily content
As always, hope you’ve had an excellent week full of productivity and excellent vibes. If not, no stress at all, this next one is a clean slate.
Here’s what I’ve been up to this week…
I spent this week really delving into how memory arenas work and writing one from scratch.
I have a much deeper understanding of how they operate now, along with some hints for how to use them to their full potential. As discussed in my latest video.
I’d really like to make a comprehensive video on the whole thing once I’ve got some more usage examples of them, but for now here are my notes:
Untangling Lifetimes: The Arena Allocator
- @ how arenas can be passed as parameters
- @ great example of a growable entity allocator with a free list
- @ double buffer the frame arena
- @ per-thread scratch arenas
“Learning how to work with arenas entirely revolutionized my experience with writing code in C. I almost never think about memory management, these days—it is not particularly more cumbersome than writing in a garbage-collected scripting language. Unlike such a language, however, I know where my memory is coming from, and when it’ll be “released”, and what that even means.” – Ryan Fleury
I quickly realised after sending last week’s changelog, that I had set the 29th deadline for this next game in an effort to prove people wrong.
I wanted to prove that I could get a game done quickly from scratch and justify how I am doing things, yet…
who the fuck cares?
I’ve got a good game idea here and I’m not going to shit it out as quickly as possible in an effort to please the masses. I’m gonna take my time and really nail this one down.
I’m done with my shitty quality itch.io phase, it’s time for my first commercial release.
I’ll talk more about this next week.
Despite me saying I was only going to shoot for 10 minutes a day, it quickly ballooned up to taking wayyyy to much mental energy and attention than I wanted to spend on it.
I’m reminded by some advice from this absolute banger of a video:
“If it’s worth doing, it’s worth doing well… but if it’s not worth doing, then don’t do it.”
Simply put, keeping people updated on a daily basis about what I’m working on is not worth the cost of context switching into update mode every 10 seconds when I make a change. In the moment it derails me from the context and flow of programming.
What I need to switch to instead is something like weekly, but weekly in the fact that all of my recording and updating is done on one single day, instead of sprawled throughout the week. This will prevent me from being knocked out of game dev mode on a moment-to-moment basis. I’ll no longer be thinking “ooop, I made a change, let’s go record this!”
“Sometimes the work just needs doing.” – Alex Hormozi
Despite all of the headache that the return to YouTube / content creation has brought, I certainly accomplished what I set out to achieve.
The bills have been paid for and I have clawed my way out of the red.
Primarily thanks to a handful of generous donations from some of you. I feel like I never say this enough, but…
I’m incredibly thankful that I’m able to simply put my head down and focus on honing my craft.
Over the next few weeks I’m going to try my absolute best to deliver this next game into everyone’s hands.
If you’re curious, here’s a breakdown of my in/out for the month.
Fueled by coffee, pizza and the raw power of my internal meat processor. It’s time for me to get crankin on this week.
Cya in the next one.