<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Deltakosh Studios - Dev Log</title>
    <link>https://deltakosh.com/log/</link>
    <atom:link href="https://deltakosh.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Notes on the Deltakosh Studios fantasy books, creative apps, art pipeline, and the tools behind them.</description>
    <language>en</language>
    <lastBuildDate>Wed, 01 Jul 2026 09:00:00 GMT</lastBuildDate>
    <item>
      <title>Fanions and Reflections!</title>
      <link>https://deltakosh.com/log/#entry-2026-07-01-fanions-and-reflections</link>
      <guid isPermaLink="false">2026-07-01-fanions-and-reflections</guid>
      <pubDate>Wed, 01 Jul 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/fanions-and-reflections.jpg" length="123992" type="image/jpeg" />
      <category>cottagecore</category>
      <category>babylon-lite</category>
      <category>reflections</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/fanions-and-reflections.jpg" alt="The glade&#39;s castle ringed by towers with colorful bunting (fanions) strung between them, mirrored in the surrounding water." /></p><p>OK, I&#39;m done with reflections. Someone please kill me if I ever want to tune them again. The SSR is finally working with the new ray marcher.</p><p>I am never touching that code again.</p><p>Anyway, to celebrate, I added a new tool: Fanions, little strings of bunting to hang between your towers.</p>]]></description>
    </item>
    <item>
      <title>Water: The Natural Enemy of Game Development</title>
      <link>https://deltakosh.com/log/#entry-2026-06-30-water-natural-enemy</link>
      <guid isPermaLink="false">2026-06-30-water-natural-enemy</guid>
      <pubDate>Tue, 30 Jun 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/glade-pond-water.jpg" length="105548" type="image/jpeg" />
      <category>cottagecore</category>
      <category>babylon-lite</category>
      <category>graphics</category>
      <category>water</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/glade-pond-water.jpg" alt="The glade&#39;s pond in CottageCore, with crisp water reflections of trees and two ivy-covered towers under a blue sky." /></p><p>If you&#39;ve ever tried to program water in a video game, you know it is a sentient, malicious entity that wants nothing more than to ruin your day.</p><p>Looking back at my recent efforts to tame the beast, it&#39;s clear that the glade&#39;s ponds have been putting up a serious fight. Here are a few of the most ridiculous ways the water tried to break the game this week, and how I finally put it in its place.</p><p>If you dug a pond on a domed or sloped terrace, the water level was calculating its surface from its deepest point. The result? The water would simply overtop the low side, creating a flat surface of liquid that magically spilled out and hovered over a raised mound.</p><p>Even when the water stayed in its basin, it was causing visual chaos:</p><p>Reflection Acne: the water&#39;s ray-marched reflections were struggling. They banded into tiles, left ragged silhouettes, and genuinely sparkled with what I can only describe as acne. I finally realized that my walls and towers were not registering in the depth pyramid, forcing the ray marcher to find a substitute far, far away.</p><p>The Dark Scribbles: my crisp screen-space contact shadows (SSCS) have no business being underwater, but they were rendering anyway. This left a bizarre dark scribble all over the submerged grass, reeds, and bed stones.</p><p>Ghost Trees: when I used a camera-fade dissolve to clear a path through the treeline, the invisible trees were still writing solid depth into the water&#39;s reflection.</p><p>I have since overhauled the ray marcher with a proper dual-surface depth tap, opted submerged foliage out of the SSCS entirely, and fixed the reflection casters.</p><p>The water is finally contained and the reflections are crisp.</p><p>For now, anyway.</p>]]></description>
    </item>
    <item>
      <title>Dressing the Walls</title>
      <link>https://deltakosh.com/log/#entry-2026-06-29-dressing-the-walls</link>
      <guid isPermaLink="false">2026-06-29-dressing-the-walls</guid>
      <pubDate>Mon, 29 Jun 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/wall-texture-picker.jpg" length="220565" type="image/jpeg" />
      <category>cottagecore</category>
      <category>art</category>
      <category>textures</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/wall-texture-picker.jpg" alt="CottageCore&#39;s build UI: a radial texture picker with Terracota selected, color swatches, Height, Size and Rotate sliders, and Ivy and Belts toggles, over stone walls and a tower in the glade." /></p><p>I&#39;m glad to share that Julio Sillet agreed to design the PBR textures for my bricks and tiles. I&#39;m not great at that, and he is a genius at stylized textures.</p><p>So the game will let you pick from several textures and colors to bring variety to your builds ;)</p>]]></description>
    </item>
    <item>
      <title>Let There Be (Clustered) Light</title>
      <link>https://deltakosh.com/log/#entry-2026-06-28-let-there-be-clustered-light</link>
      <guid isPermaLink="false">2026-06-28-let-there-be-clustered-light</guid>
      <pubDate>Sun, 28 Jun 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/glade-night-lights.jpg" length="72109" type="image/jpeg" />
      <category>cottagecore</category>
      <category>babylon-lite</category>
      <category>lighting</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/glade-night-lights.jpg" alt="CottageCore at night: the tower windows glow, lamp posts light the pond&#39;s edge, and fireflies drift over the dark glade." /></p><p>OK, I have to admit: I love clustered lights. They are of course supported in Babylon Lite, and I had to find a way to use them in CottageCore.</p><p>So I added fireflies, but it was not enough. I decided this morning that you should be able to add lamp posts, and that the tower windows should shine a bit at night.</p><p>So here we are. And honestly, it is a pleasure to use: just declare a PointLight in the clustered lights object and boom, the night shines!</p><p>And that actually gave me a nice idea: if you have no tower for your villagers, you will be able to drop a campfire so they are not cold at night (and so they do not leave).</p>]]></description>
    </item>
    <item>
      <title>Chapter 10 Draft Is Done!</title>
      <link>https://deltakosh.com/log/#entry-2026-06-27-chapter-10-draft-done</link>
      <guid isPermaLink="false">2026-06-27-chapter-10-draft-done</guid>
      <pubDate>Sat, 27 Jun 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/azymantias-chapter-map.jpg" length="201168" type="image/jpeg" />
      <category>books</category>
      <category>writing</category>
      <category>cycle-of-the-titans</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/azymantias-chapter-map.jpg" alt="MindFocuser&#39;s chapter map for Azymantias (Le Cycle des Titans, Book 3), with 27 chapter cards and 35% draft progress." /></p><p>I loved writing that one. Magisterium, politics, a bit of magic. Everything I love.</p><p>Azymantias (the third book in the Cycle of the Titans) is planned for 27 chapters, so I&#39;m about 35% done with the draft!</p>]]></description>
    </item>
    <item>
      <title>Who Murdered My Texture? A Mid-Frame Thriller</title>
      <link>https://deltakosh.com/log/#entry-2026-06-26-who-murdered-my-texture</link>
      <guid isPermaLink="false">2026-06-26-who-murdered-my-texture</guid>
      <pubDate>Fri, 26 Jun 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/destroyed-texture-shadow-stable.png" length="6889" type="image/png" />
      <category>cottagecore</category>
      <category>babylon-lite</category>
      <category>webgpu</category>
      <category>debugging</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/destroyed-texture-shadow-stable.png" alt="WebGPU console error: Destroyed texture [Texture &quot;shadow-stable&quot;] used in a submit, while calling Queue.Submit." /></p><p>You know the feeling. You&#39;re happily coding away, the shaders are humming, the glade looks beautiful, and then you casually resize your browser window.</p><p>BAM! Destroyed texture &quot;shadow-stable&quot; used in a submit.</p><p>The whole scene black-screens. WebGPU has decided to pack its bags and leave.</p><p>I spent a good chunk of time recently hunting down this absolute menace, and the root cause was so ridiculous I had to share it.</p><p>Here&#39;s what was supposed to happen: when you resize the window, the canvas-sized screen-space shadow buffer needs to be reallocated. The old GPU texture gets destroyed, and a new one is born. The circle of life. But instead, resizing was triggering a mass extinction event.</p><p>After tearing through the architecture, I found the culprit. It wasn&#39;t the engine, and it wasn&#39;t the GPU. It was a live-getter wrap. My forward shadow receivers were bound to this live-getter. When the engine went to rebuild a receiver&#39;s bind group after a reallocation, it needed to clean up the garbage. It reached out to release the old texture. Standard procedure. But because it was a live getter, when the engine asked for the &quot;old&quot; texture to release it, the getter cheerfully handed over the brand new texture instead. The engine, oblivious, executed the release. It literally assassinated the newly allocated texture mid-frame. The refcount unbalanced, the texture died, and the entire render pass was sent into the void.</p><p>The solution was to stop trusting live-getters during a reallocation firefight. On reallocation, every receiver now gets pointed at a snapshot wrap: a captured handle and view pinned tightly to one specific texture. No more bait-and-switch. I also moved the bundle invalidation (bundles are a superpower of Babylon Lite and WebGPU that reduce JS cost) and selection targets to onBeforeRender, sitting safely at the frame boundary before the passes actually kick off, so no draw call accidentally replays a freed texture.</p><p>The glade is now stable, the shadows are safe, and I can finally resize my browser window without feeling like I&#39;m playing Russian Roulette with the render graph.</p>]]></description>
    </item>
    <item>
      <title>A dev log, and a cozy game</title>
      <link>https://deltakosh.com/log/#entry-2026-06-23-a-dev-log-and-a-cozy-game</link>
      <guid isPermaLink="false">2026-06-23-a-dev-log-and-a-cozy-game</guid>
      <pubDate>Tue, 23 Jun 2026 09:00:00 GMT</pubDate>
      <enclosure url="https://deltakosh.com/images/devlog/cottagecore-title.jpg" length="31465" type="image/jpeg" />
      <category>meta</category>
      <category>games</category>
      <category>cottagecore</category>
      <description><![CDATA[<p><img src="https://deltakosh.com/images/devlog/cottagecore-title.jpg" alt="CottageCore title screen with the tagline Touch grass. Literally." /></p><p>It is finally time for a dev log. This is where I will capture all my adventures with code, from Babylon Lite to Mind Focuser and Urza Gatherer, and more recently CottageCore.</p><p>CottageCore is a game. Yes, I know I need to finish my 3rd book and I don&#39;t have time for a game. But I have an excuse: I was initially building it to really put Babylon Lite to the test. The original plan was simply to battle-test the engine in real conditions, but somewhere along the way I grew genuinely fond of the project.</p><p>It is going to be a cozy game with a touch of Tamagotchi, and there is no real way to lose. As the god of a glade, you are given tools to create cozy places for your villagers. They have a few simple needs to attend to, nothing dramatic: somewhere to sleep, and enough food and water. Animals live there too, so it will be up to you to balance your building, striking that sweet spot between raising a splendid castle or a cute cottage and leaving enough room for the ecosystem to persist.</p><p>And I will say it plainly: it is heavily inspired by Tiny Glade.</p>]]></description>
    </item>
  </channel>
</rss>
