Randy’s Changelog v1.19

[1.19] – 2022-06-27

Added

  • Caffeine dependency (whoops)
  • Proper affiliate links for book recommendations at /books
  • Embedded ko-fi /donate page
  • New /roadmap page for mapping out my plans spatially across time
  • Pixel Engine is now “open source
  • Silent live streaming experiment via Twitch

Changed

Deprecated

  • CrossFit (too expensive, time to hit up the tried and true normal people gyms again) ((or maybe yoga))

Fixed

  • No longer shitting myself

G’DAY!

Gonna kick things off today with a lil quote from papa Clear…

“Nearly everything awesome takes longer than you think. Get started and don’t worry about the clock.”

– James Clear (aka. the most quotable man on the planet)

As much as I love game dev, programming, and just solving problems in general – that shit is hard.

This week, I started seeing a bit of a pattern crop up when working on this new Pixel Engine project.

It went a little something like this:

  • wake up
  • scoot over to coworking spot
  • boot open laptop + 4coder
  • solve next problem in like 30 minutes
  • push up a commit
  • stall for the rest of the day on lower-priority tasks
  • go to sleep

When I’m done with my first problem for the day, starting on the next one just seems like a gargantuan effort.

I think it’s because most of the time I don’t even know what that next problem even is – it’s just this vague, tangled up web of potential that I’ve gotta unravel to find something concrete that I can work on.

This problem inertia has been addressed partially by the game design log I whipped up last week – it’s a little more clear what my next step is – but even with it laid out right in front of me, I still find myself struggling to take it.

“Let’s call it a day there, problem well solved, time to go do something less difficult!” I say to myself after tweaking a few lines of code, fixing one small bug.

It was during one of these less difficult moments of my day, while I sat there watching the recent talk by Ryan & Abner, that a brilliant solution to this resistance sprung to mind…

Live streaming.

Now, I know, I know – you might recall that at the start of the year I very clearly said that I’d never be touching the go live button with a 10ft pole ever again.

…but that was filtered through the lens of using live streaming as a means for content creation.

What if though, this time when I went live, I just sat there in silence, without a microphone, and just continue doing what I’m already doing – just tapping away at the keyboard while listening to some lo-fi beats.

It’s certainly as far away from “good content” as it gets, so I decided to give it a whirl.

And wow, it actually worked wonders.

That problem inertia is still there, except this time I just plough straight through it like a goddamn freight train.

“I’m live, what am I gonna do, just stop streaming after 30 minutes and not move onto the next problem?”

So live streaming is back on the menu – except this time it’s literally just a window into my desktop with zero talking.

Chill, cosy, productive vibes.

Daily Schedule:
GMT+8
8AM -> ~11AM

The timing won’t be exact, but I think that should be a good jumping off point.

If our schedules line up, feel free to stop by, sit down and get some work done with me -> twitch.tv/randy

I’ve also created a channel in the discord which you can join into with me and turn on your video if you’re keen.

Studying, programming, any kind of work – whatever you’ve gotta do – it’s a lot easier and more fun when there’s a bunch of people doing it alongside you.

We’ll give that a shot this week and see how it goes, I’m looking forward to just cranking out some more code.

Speaking off…

/dev

I did a really lovely refactor on the pixel simulation logic a couple of days ago, inspired by Ryan’s change in perspective when he was tackling UI.

Instead of defining pixel types, like sand, water, air, etc and programming logic based on that via a switch statement, I instead define how a pixel behaves based off of a bunch of bits (hah) of features.

This makes adding in new types of pixels completely trivial, since all you have to do is define the bits of behaviour you want it to have – reusing any that you already have, and implementing those that you don’t.

I had an example with some pseudocode written up, but the email was being a little fucky-wucky with the formatting so I yeeted it.

If you’re interested in it you can check out my source (linked later on), or Ryan’s blog post on it – he does a much better job at explaining this pattern. I’d highly recommend internalising it yourself, it applies to a lot more cases (hah) than you’d think.

(case in point: I had no idea it would apply to this pixel sim until I sprung outta bed the other morning in a beautiful “aha” moment)

With the new rework, I got fake inertia working really easily. This makes the piles that are stacked high look a lot less uniform diagonally since there’s a random chance of the pixels getting stuck.

wooooo a natural looking pile out of a uniform asf square brush

You can read the full log of changes over here.

I did a bit of fluid sim research yesterday and found a great paper on it. But before tackling that, I’d like to see if I can get it faked nicely with some tweaks to the current falling water algorithm.

these water pixels look like they’ve been dipping into my crack reserves

My main goal here is to get these jittery water pixels on the surface behaving more like smooth waves.

We’ll see how that pans out this week.

Now if you’d like to check out my source code, you can get access to the repository for the low low price of $200 / month…

…is what a lil bitch would say – the repo is now public up here.

/reading

I recently finished reading Dune, and oh my goddd was it an absolute banger. (okay, that was a lie, I actually just listened to the whole thing on Audible since it’s so much easier lmaoo (the part about it being a banger certainly wasn’t a lie tho))

If you’re even remotely interested in sci-fi / fantasy, I’d highly recommend the read. You might’ve seen the recent movie of it, but that hardly does it justice.

I’ve been pretty arrogant with just sticking to non-fiction books recently. But I’ve come to realise that a good fiction book teaches you just as many lessons about life (if not more) than a non-fiction does just by explicitly laying out all the facts.

After all, we’re creatures built for storytelling.

If you’d like to pick it up, I’ve finallllyy gotten my affiliate links sorted, so you’ll be sending some kickback my way in the process if you decide to grab it.

(lemme know if that button doesn’t work, here’s the link)

/end

I’ve got a big week ahead of me, and I’m keen to stream the programming portion of it.

Sleep schedule is still a bit messed up, and I haven’t been working out as much as I’d like, but at least I’m still staying on top of programming. It’d like to shoot for 3 hours a day, but there’s only so much my smol brain can handle before it starts to get diminishing returns (espeically rn with the fluid sim stuff, sheeeesh).

That’s all I’ve got for this week, I started things out with a quote, so I’ll round it out with one.

“The shortest answer is doing.”

– Lord Herbert

Go get em.

– randy

Not subscribed? Sign up below.