Unity Tidbit: Null Coalescing Null Propagation With Nullable Structs

How to check for null and still get the primitive you want, in one line of code.


Posted in No Category and tagged , , , by with comments disabled.

this is why we can’t have nice things

I woke up today, tired but not as painful as I was in the last week, and planned to go to work. Then, on the way to work, an SUV randomly blocked my way and I ran into it. I bruised my ankle (It’s swollen), hit my head, hurt my jaw, probably bit the inside of my cheek and I’m still somewhat suspecting a concussion. Yay… ๐Ÿ˜ช


Posted in No Category and tagged by with 1 comment.

I hate being sick

I especially hate it when it feels like anything nose/ear/throat related seems to hit me harder than it really should.


Posted in No Category and tagged by with comments disabled.

General Update๐Ÿ––

Learned some new things at work. Mostly that even though I tried to make things modular, they need to be more modular. This is a dog-damned complicated system. Personally, I’ve got the basic mechanic for my new RPG set up and I’m looking for testers and thinking about how characters work.


Posted in No Category and tagged , , by with comments disabled.

General Update๐Ÿ––

Recently I’ve been hard at work getting the latest milestone working at work and I’m almost there. It’s funny that I, again, have to write something to add to a common library that it should be doing itself but somehow doesn’t, but it’s always kind of fun. Personally, I’m mostly working on the design of the new RPG I’m making. I want to start testing basic mechanics if anyone wants to join. Just go to the Discord server.


Posted in No Category and tagged , , , by with comments disabled.

My Recent Feelings on D&D

It came to a head this Tuesday. Last Tuesday, my main game ended in the midst of combat with the players locking away the solo monster in an impossible situation. Then they wanted to whittle her down and kill her but that would have taken about 50 rounds in-game so… a whole session if we ran it quickly. To solve this, two of the programmers in my group decided to write software to simulate a million runs of this to get a probability of how long it’ll actually take to bring her to 0, and that’s without taking into account the various defenses and backups a vampire, and especially her, has to protect themselves. I know that programming interesting thing could be really fun but let me say that again: two people who like to play the game decided to invest several hours of their lives to avoid playing one part of the game. This very much resonated with something Matt Colville has been saying they want to step away from in MCDM’s own game, the fact that in D&D combat, characters go all out at the start of combat and the more it lasts, the more of an unfun slog it becomes. Which is stupid for a game about a high-magic, superhero-esque fantasy of fighting monsters for cool shit and maybe saving the world. Combat should get more fun the more time it takes and it should usually end in a few short rounds. So, this Tuesday, after simulations Continue Reading →


Posted in No Category and tagged , by with comments disabled.

My Thoughts on the New OGL 1.2

I’ve answered the survey as requested but I’m putting them here to for completion’s sake.


Posted in Gaming, Practice, Role-Playing, Thinking Out Loud and tagged , by with comments disabled.

Looking at My 2022 Steam Replay

First of all, going deeper into GamePass territory, using EGS more because of exclusives and always preferring to get my games from GOG, this might be the biggest chunk of my played games but it’s probably not even an absolute majority. And that’s it for Steam. I am working on my gaming summary of 2022 which I will probably record and post to YouTube later.


Posted in No Category by with comments disabled.

17!

Today is 17 years since this blog went online. It’s exactly 3 days after John Scalzi who, then, celebrated 24. I, on the other hand, did maintain a simpler site I actually wrote in a website building software called Homesite and partly with Notepad (for the lulz) and which also functioned like a blog (before the word Blog was invented). I don’t remember exactly when that site started but I was in high school. It was before 1998 so, theoretically, I win. I don’t write here too often nowadays because for small thoughts and updates I have a Telegram Channel which I humbly request you follow and a Discord Server mostly about games but also other stuff that would be cool if you joined. For smaller thoughts and just random stuff, I use Twitter and sometimes Facebook but Facebook has been annoying me so much that I just abandoned the Sabre Runner page there and thinking about moving my review page back here. That’s it. I try to overdo it here because I don’t want to blast your RSS feed (and, yes, you should still use it) with a lot of junk. I only post big things here like my thoughts on programming and game analysis. See you, hopefully, here, before next year.


Posted in No Category and tagged by with comments disabled.

Unity Tidbit: WaitUntil, WaitWhile

If you’ve been working with Unity for any sort of while you’ve probably used Coroutines before. They’re not exactly the bread and butter of using Unity but they’re like the jam or honey you put immediately after. You’ve probably used a lot of “yield return null” to wait for the next frame before resuming execution? I bet you even have used a “yield return null” loop to check a predicate every frame before continuing. I’ve done it myself. I’ve even written a repeating coroutine helper that uses null to check a predicate before running a given action. Well… stop that. Recently (and by ‘recently’, I mean at least a year) Unity now has two new conditions you can use in coroutines: WaitUntil and WaitWhile and they do exactly what you think they do. Just use any of these two instead of your usual “yield return” and put in a function (even a lambda) that returns a boolean then the coroutine will handle the checking by itself. It’ll check every frame if the predicate is fulfilled and will break if it is or isn’t, respectively. The underlying code this represents is exactly the same like you wrote yourself before but now your code can be a lot more elegant. You’re welcome.


Posted in IT, No Category, Programming and tagged , , , by with comments disabled.