Jayrude.dev

Weeknotes 2024: 27/52

Programmming

I worked some more on the little Godot project I talked about last week, mostly in terms of the Trenchbroom entity workflow. The first thing I did was finish importing a tree/bush asset pack, which was actually kind of a pain because the models needed tweaking a fair amount in blender. Initially I set up a separate entity for each bush/tree variant, but it was kind of a lot of work and made the entity browser in Trenchbroom messy.

The reason I did it this way to begin with is because I knew it was possible to display 3d models for entities in Trenchbroom, and I figured having them split out like this was necessary to have a different model for each tree type. Fortunately I noticed a section of the func_godot docs (sorry I can’t link directly to the section their docs are weird) titled “Conditional Models in Trenchbroom” which showed that you can use expressions in the entity definition files to choose between different models! Annoyingly the example definition there didn’t actually work, but the corresponding section of the Trenchbroom manual gave some more information and I got it all working nicely. The func_godot docs had missed some braces (this -> {}). I might do a pull request to fix them.

After getting the models displaying nicely in Trenchbroom I added some minor functionality to the trees/bushes. When a map is loaded the trees/bushes can (optionally) have randomised rotation, minor position offsets, and slightly randomised scale. This means I can sort of slam trees/bushes down in editor without having to worry about manually tweaking everything. I do plan to integrate something like the Scatter plugin so I can define an area to bulk place entities, but I’ve not gotten around to that yet.

I also added basic sliding doors. So far all of the entities I’d made were point entities, but for now at least it made sense for doors to be brush entities. This means I can model them however I want in Trenchbroom rather than using a 3d model from elsewhere. The doors are defined similarly to those in Quake, with an opening direction, opening speed (I actually defined it by how long it should take to open), and a “lip”. By default the doors slide the full length of the door which leads to z-fighting if they slide into a solid wall. The lip is a slide distance offset. Right now I don’t have an interaction system in the game, so the doors just run on a timer opening and closing every 5 seconds.

Once again you can see all the results of this in this video.

Reading

I finished The Lies of Locke Lamora by Scott Lynch last night and loved it. I’m glad that I was correct about this book working as a standalone. Pretty much everything wraps up neatly and I’m content to leave the series here for now. If Scott Lynch begins releasing books again I’ll think about continuing. Pretty much everything I said last week stands. The characters are great and I felt for those that didn’t manage to make it to the end of the book and the setting got even more interesting with floating sky islands (I think they were mentioned earlier on I just sort of glazed over them). Would strongly recommend giving the book a go.

I’ve not actually started reading my next book yet, but I have it all picked out ready to go later today. I’m finally delving into Robin Hobb’s Realm of the Elderlings series, starting with Assassin’s Apprentice. This is a long series at 16 books, but it’s broken up into trilogies (and one quartet) so I don’t need to commit too heavily straight away. I’m going to be reading this for the First in Series hard mode square of my r/fantasy bingo sheet.

Other

The new Trackmania campaign released this week. I’m really enjoying all the tracks so far. I’ve seen a lot of mixed opinions in the community about this campaign and honestly I’m surprised, I felt like it’s the most consistent campaign they’ve released. I think a lot of the negativity around it has come down to the Author Medals (the 4th hidden medal above Gold) being much harder than usual, especially on the last 5 tracks. I don’t think it’s necessarily a problem for them to be hard, but they may have gone a bit too far with some of them. A lot of streamers do author medal discovery speedruns when the campaign releases, and the best players usually finish in ~40 minutes. This time around the fastest I saw were more in the 2 and a half hours range (and some were considerably longer).

Alongside the main campaign there was also a stunt gamemode released. Frankly I thought it was pretty bad. The “tutorial” is abysmal, and the first couple of tracks for the gamemode do a terrible job at showcasing it. Some of the later tracks are more fun, but I don’t know that I’ll play this much more.

I’m finally getting around to being Spotify free. I’ve been slowly obtaining most of the music I enjoy from other platforms, or pirated. There’s a lot of music I listen to from small bands that just isn’t available anywhere other than Spotify, or in considerably worse quality on YouTube. I’ve been using a tool called DownOnSpot which uses your account credentials and a custom Spotify Developer application to download playlists and albums directly from Spotify (rather than finding the closest match on YouTube like most “spotify downloaders”). I also wrote a small script to bulk download things based on an input file with a list of albums.

Still on the topic of music, I got back into learning to play bass guitar. I bought my bass around a year ago, but never got very far into learning. I’ve been making it a commitment to spend ~30 minutes practicing each day after work, before I need to take the dog for a walk. I’ve been using StudyBass and it’s pretty nice.

Sunday was the day of the 10k run I mentioned last week. I honestly thought I was going to be fucked for it because I’ve been running for under 3 weeks and hadn’t managed to do more than 5k on the treadmill in the garage, but it actually went really well. Turns out that running is way easier and more fun when you’re outside. I think one of the major issues I was having was boredom. Staring at a cobweb covered concrete wall in a hot dark garage is just not very interesting. Due to only having treadmill running experience I decided to buy a running watch a couple of days before the event to help me pace myself. It was a great decision and I ran a pretty consistent 7 minutes per kilometer pace. It’s not fast by any means, but it felt good and is actually faster than I was running on the treadmill (which was 8 mins per kilometer). After the run I vaguely talked about running a half-marathon with a friend in a couple of months so we’ll see if that happens (she brought it up not me!)

I got a cute medal and some cake at the end :)

I got a cute medal and some cake at the end :)