Happy Monday, y’all. ATmosphereConf approaches us rapidly. If you’re planning to attend, I hope you’re as excited as I am.

My week wasn’t all that exciting. Mostly, I was head-down working on microclimate. I’ll deliver my status update later on, but I figured I’d try to pull together some other stuff to talk about. Let’s get into it.

Games

There were some notable games releases this week, including Marathon and Slay the Spire 2.

I started playing Marathon because it's seems to the perfect combination of FPS gameplay mixed with transhumanism, mystery, and a sense of style I would die for--all slathered in my favorite color: highlighter yellow-green. So far, I'm having a good time. It feels like a good casual title; something I can put a couple hours in here and there.

STS2 has my attention despite never playing STS. It's the talk of the town (re: my close friends), so I've had the opportunity to watch some co-op runs. It's given me a chance to introspect my feelings about why I haven't been drawn to it.

I previously failed to grasp the appeal of the original game. My impression was that Slay the Spire was "just" single-player Hearthstone or Legends of Runeterra, mixed with a hint of Balatro and perhaps a sprig of Risk of Rain. That last game is the only one I didn't bounce off of, and it seems the furthest from the rest--hence, I couldn't really see myself enjoying STS.

After sitting on it a little longer, I think that formula might be precisely the reason why I should try it, instead of a reason to not. You see, the multiplayer/competitive gameplay in Hearthstone and LoR were my least favorite parts of those games. I much preferred playing their puzzle modes--almost like picross or sudoku--and I had a blast working through those isolated problems.

When it came to competing, I was repelled like a magnet. In the normal games I did play, usually I would misread a card mechanic, or forget a critical, obvious piece of information about the board that would cost me the match. Losses were usually devastating, and wins just felt like a relief that I didn't screw anything up. FWIW, that's essentially my relationship with cooking as well, although I can usual salvage a recipe.

I assumed that my feelings were a result of deck-building mechanics, but the issue might be more that those mechanics don't work for me in a competitive scenario. I think I might actually enjoy deck-building in a RoR-style run--especially in co-op--where the stakes are lower, and I have more time to consider my actions.

So... I'll probably pick it STS2. I've been meaning to carry my Steam Deck more anyways.

microclimate

I've been working through adding auth to microclimate, and I'm just about finished now. I've mentioned previously that I'm using AT Protocol OAuth for the user sign-in mechanism.

Ironically, adding OAuth has been the easiest part of this entire ordeal. Shout out to for the awesome Jacquard crate, which made everything painless. It's also made life easy for identity resolution and client-side fetching--it really is batteries-included.

And that's right, I said "client-side fetching". It was a strange sensation to declare the users table as a single column just for DIDs. My intention is to perform app.bsky.actor.profile resolution from the desktop client, to avoid implementing gRPC procedures for every lexicon that our app cares about. This should work for the moment, at least until we add per-server profiles.

It's also been a hot minute since I did any serious React work, and I'm having a good time putting the user management UI together. Picking up Tanstack Query again after 2 or 3 years has felt like that moment when you get to lie in your own bed after travelling for a while. The current evolution of React Router is also great--my hope is that Fresh 2 can capture at least some of the magic of React Router 7's Framework mode.

For once in what feels like ages, I'm quite pleased with the tools and libraries I've selected for a project--even though I'm just about a month into development. The existence of the opposite probably says something about me, but what can I say; I'm still growing and learning.

When I started drafting my notes today, I actually typed out the equivalent amount of content that you've now scrolled past, but all about the reasons why I love the Marathon aesthetic.

Unfortunately, this is a weekly log, and not a game review column. Come talk to me at ATmosphereConf if you want the unfiltered thoughts ;-)

That's all for now. Thanks for reading this far, and I hope you have a great week!