Devblog #8 – Luna’s Brie-lliant Update

Hey there everyone, time for the latest developer blog update!

I’m really glad to hear that a lot of you enjoyed the recent big update featuring Cho. Your support truly means a lot to me. We faced some major challenges due to engine changes and internal redesigns, but despite the odds being against us, we managed to roll out the update successfully.

One of the really cool things I got to work on for this update, which sets our Ren’py game apart, is the interactive split view for CG images. This was showcased during the Cho retrospection events. Initially, we had plans to keep the scenes separate, but an idea sparked to incorporate both scenes into a single event to add an extra spiciness. Making it happen was a bit of a challenge; I had to dive into the engine and tap into some undocumented functions to make it work just the way we envisioned.

I must’ve gone through three or four iterations before finally stumbling upon the implementation that proved most effective for us, all the while maintaining good performance and features. If you glance at the code, it might not strike you as particularly elaborate, but devising the method of implementation posed its own challenge. You see, ordinarily textures come in standard rectangular sizes, yet we wanted for the displayables to be oddly shaped — think clouds or bubbles. This led us to the need for texture masking, and that’s where the AlphaMask feature stepped in. It was fairly straightforward, but that’s only a portion of the full story.

Next up was cracking the puzzle of exhibiting two images with a cutout, specifically for the bubble, and making them both interactive. The first idea was simple, just make a cutout, right. However, that entailed ensuring no vital elements occupied the bubble’s designated area, which would necessitate altering the artwork to accommodate. I wasn’t keen on that approach, so instead, I conjured up a zorder swap function for image tags, paired with a controller made within the screen scope. This renpythonic solution allowed us to maintain image prediction and rollback support, sans the need for extensive artwork modifications. In the end, it turned out fantastic in my opinion.

Reflecting on the update as a whole, am I satisfied with how it turned out? Yes and no. On one hand, I’m really pleased that we finally resolved the performance issues and tackled major problems like the flawed questing system and other issues. However, I can’t help but feel that we could have, or perhaps should have, added more new content. Maybe it’s just my own thoughts, though. Anyway, let’s keep moving forward.

With all of the above in the past, I can now dive into the meat of the game — the artwork. This time around, both Boppin and I are working on the drawings, while Johnny is pouring his efforts into the writing and scenarios. It’s a refreshing change, if I’m being honest. Don’t get me wrong, I absolutely love coding and consider myself primarily a coder. Still, it’s refreshing to switch things up from time to time and put my drawing skills to the test. I might not have natural talent, but I’m persistent. Over the past three years, I’ve taught myself how to draw, and finally, it’s starting to pay off. Having a grip on both programming and art is incredibly advantageous and it smoothens the process significantly. I understand the limits of layering, where to position elements in the scene, how they’ll interact with the code, and so on. It’s a unique perspective that I’m truly grateful for.

As you’re already aware, the current update in the making revolves around Luna. So, it’s safe to assume that both Boppin and I are busy creating various scenes centred around her character. We’re aiming to create more diverse and modular scenes, giving Johnny the freedom to fully explore his creative writing potential in the more risqué side of things.

Speaking of risqué things, if I spill any more beans about the upcoming scenes too soon, I might just tick off Johnny for letting his secrets slip. So, forgive me for holding back on the tantalizing titbits for now. What I can share with you is that the next update is diving head first into the story and steamy content, leaving the fluff behind. Expect heaps of fresh writing and art that might even make Johnny Sins blush a bit. 😊

Things are progressing smoothly, and we’re not foreseeing any bumps in the road ahead.

By the way, I hopped into Baldur’s Gate 3 shortly after its release. I’ve been eagerly awaiting that game for who knows how long, and I can confidently say it was absolutely worth the wait. If you’re a fan of both actual cheese and the kind that’s infused into writing, you’ll find yourself right in your element. The writing is incredibly diverse, and every character comes across as vibrant, each with their distinct personality and aspirations. The whole experience feels genuinely immersive. It’s been quite a while since a game has given me this much enjoyment, and chances are, Baldur’s Gate 3 might just clinch the title of my personal game of the year, or who knows, even the game of the decade. That all depends on how I feel about it once I’ve wrapped up my adventure in it.

Thanks for reading, and see you all soon!

Baldur's Gate 3 screenshot with a character polymorphed as a rolling block of cheese.