Status Update, June 2025
Added 2025-06-28 08:28:12 +0000 UTCOverview
Shinmera: released cl-sf3
Shinmera: released libsf3
Shinmera: released sf3-blender-addon
Shinmera: released sf3.ksy
Shinmera: released the sf3 specification
Shinmera: started hammering out a level design workflow in Blender
Shinmera: implemented dual-uv mapping
Shinmera: selected a voice actor for Weiss
Domolutz: improved combat animation feel
Some Details
Well, as mentioned last time I tried to take some time off this month to recover from the conference and all the other nonsense of last month. But... well, that didn't really happen. I just ended up diving into a bunch of other projects, like the Simple File Format Family (SF3).
The specification for the SF3 file formats is now completed, along with reference implementations in Common Lisp, C, and Kaitai Struct, a Blender plugin to import/export models, support in Trial and cl-mixed/harmony, and patch submissions to recognise the file types in unix file and xdg's shared-mime-info database. I'm also thinking about adding support to f3d, libavcodec/ffmpeg, and some others, but that's thoroughly in a "if I feel like it" stage now.
For those not in the know, SF3 is a specification I'd been working on and off for a couple of years now. The idea started with the discovery that it seemed like there were no specifications out there for images and audio files that were literally just the necessary metadat and raw data payload. Sure there's WAV and BMP and so on, but if you actually dig into those there's a lot of extra complication and nonsense in those that makes them a pain to implement. Additionally I wanted to explicitly support reading the data out from in-memory representations as quickly as possible such that you could ultimately just mmap a file and access the data without extra decoding overhead. I think these features give the formats use-cases that aren't covered well otherwise. Not that I expect them to gain anything approaching wide use.
Honestly, a lot of the time while working on SF3 I wondered to myself, "Why am I doing this? Why am I working on something that, realistically, nobody will ever care about?" and the answer is that... I genuinely don't know! I started this on a whim, and then I felt compelled to finish it. But now that the spec is finished I feel compelled to add support to other systems. And I don't know why I can't seem to stop myself.
Reminds me of the best description for "talent" that I'd ever seen: "Talent is the inability to stop" (from Ikoku Nikki). I won't digress into one of my personal articles here, but I will say that that comes to mind a lot when people ask me how I get so much stuff done.
Anyway, I did also get some work done on Weiss. After some painful weeks of stress unrelated to work, I finally made a bit of a breakthrough and managed to figure out a level editing workflow in Blender that I think will be workable for the actual game production process. At least, it seems that way now. It's not ideal yet, either, but I think I can get the remaining bits with some Blender plugin finagling.

The basic idea being that I only define the floor plane of all the rooms and hallways, and let geometry nodes extrude that into the actual interior of a building. I can designate the height of the ceiling via a vertex colour, and (this is the part that doesn't work perfectly yet) even cut holes into the floor and ceiling to join multiple levels together.
The most amazing part about all this though is that the convex decomposition algorithm works really well with this sort of geometry, so collision has just... worked, for the most part. There was a bug in the geometry normalisation algorithm I'd developed to clean meshes up after export, but other than that I was honestly blown away when things just worked out of the box.

I also still need better tooling for placing furniture about, the default Blender placement method does not like inverted normals like I'm using here. But, at least I managed to massage the low poly furniture asset packs I bought to fit into the general aesthetic of the game.
Even with all this, detailing out a room still takes a crazy long time. Heck, even the rooms you can see in the video there are far from finished, especially the walls and ceiling need a lot more detail work and so on. I have to admit that detailing being so time consuming is something I'd been afraid would be the case, but had just sort of hoped wouldn't be until now.
So... yeah, considering that, and that I'm starting my psychology bachelor's studies in September, things are going to slow down a lot soon, I'm afraid.
But, it's also so exciting to finally make a very visible and tangible step forward towards production. As this all was going on I'd also been evaluating voice actors for the casting of the protagonist of the game, and I think we've found someone that is an absolutely amazing fit. I'm really excited to dive into the first recording session with them in August and get some grunts and actual dialogue lines into the game.
I've also talked with Mikel, my composer, and we'll probably move forward with figuring out a musical style for the game soon as well. Both of these things will help tremendously with making the game feel more alive and real, and I'm very excited to get it all going!
Unfortunately there's also been some bad news. We didn't get the Pro Helvetia pre-production grant for the game, and the time I'm able to apply for Pro Helvetia grants at all is running out as well, since they only offer grants to studios up to 7 years post foundation, which... well, my studio was founded in 2020, so not much time left there. I can now only apply for production grants anymore, and those are in my estimation almost impossible to get unless your game is close to finished already, which Weiss definitely won't be in the next two years. I'm still going to try applying in March, but... yeah, no big hopes here. We also still haven't heard much of anything about Zürich's own games grants, so no clue what they'll want from us or when and so on.
My own personal finances are also looking more and more dire, so I'm beginning to be rather concerned about what I can spend money on to fund the production. Your contributions here are helping a huge amount, and I am tremendously thankful for them, make no mistake about that! But still, the reality of game development is that it's crazy expensive. For example the music production alone will probably cost up to $10k, even for a short game like what we're aiming for here. Not to mention that if I didn't have the option to still live with my parents rent free, neither Kandria nor Weiss would have been possible to finish at all. And... well, I'm starting to really want to move out. Staying with your parents for all 31 (soon 32) years of your life does something to your psyche.
Anyway, until September things will remain on track. Then... I guess we'll just have to see how well I'm able to adapt back to living my life as a student. Based on my past experiences in the schooling system my guess is "not very well" but I'm trying to stay positive about it.
So! In another piece of good news, I did also finish all the art and layouting work for my yearly physical desktop calendar. It's now off to the printers for a test, and if it turns out well it should be up for pre-ordering in about two weeks. I'm honestly really happy with a lot of the drawings for this year. I initially was really concerned with my ability to pull off the various cloud formations, but I think I managed quite nicely. How's that for an uncharacteristic amount of positivity!

Well, this entry has gone on for long enough, so I think I'll end it here. I hope you'll have a good July and will survive the sweltering heat (or freezing cold on the southern hemisphere!) just fine. See you next time!
— Love, Shinmera ❤️
Comments
"Talent is the inability to stop" There are no brakes on this productivity train! 😂
Jean-Philippe Paradis (Hexstream)
2025-06-28 14:23:56 +0000 UTC