RSSAmplifier

Blog

k-hole

The feed of updates to k-hole

kylekukshtel.comRSS feed ↗31 posts

Latest posts

On-Demand Software

As a forewarning, this piece may be a bit meandering, as it’s an assemblage of some previous things I never posted but that felt relevant to assemble now in light of the Anthropic blog post on getting Claude Opus 4.6 to write a C compiler . A lot of ink (okay well HN comments) has been spilled over discussing the model’s ability to do this, and if its approach was valid, and if it was actually “…

The Best Boardgames Shelves Aren't From IKEA

Like any Mid-30s white male tech worker I’m into board games, and like any board gamer my collection seems to be perpetually growing. As of my last count I’ve got about ~100 board games, which is a lot by normal people standards, but small-medium by standards of people whose job it is to make boardgame content. My collection is big enough now that the question of how to store my games is now A…

Some thoughts on the Sora video app

I got access to the newly launched Sora app yesterday. I’ve been using it since launch and wanted to capture my FEELINGS on it as someone who has been playing with a lot of the generative AI tooling for a while now . This is just a loose collection of impressions — Sora feels like a big moment for AI generated video along a few different axes, so I wanted to explore some of my own thoughts on that…

How to Git Gud at Claude Code (a loose guide)

I’ve been working with Claude Code since Day 1 and AI coding tools before then. What started out as a sort of fun weird thing has begun to rapidly evolve into a more proper “ discipline”. There are now people that are better at prompting and understanding how to “ work” with AI than others. Notably, this was not always the case. A few short years ago everyone was just kind of firing in the dark,…

Casual Productivity with LLMs

I think AI gets a lot of heat because it doesn’t one-shot some complex task on a poorly architected codebase. Sure maybe this is the success case for AI that will calm the wolves (it won’t), but I thought that, because I’ve written about AI a fair bit in the last few blog posts, it was worth demonstrating some Real Unlocked Value in AI outside of vibecoding whatever app slop I may want to pursue…

Building a Visual Podcast for Game Data

Someone on a Discord im in (hey zhila!) suggested I put Game Data on YouTube . I thought it was a good idea, as YouTube is (surprisingly) the largest platform for podcasts/audio-only content ( Also you do listen to Game Data right? My podcast that interviews game creators on deep technical dives into their games?). However, a lot of the podcasts on YouTube often feature recorded video…

UNSTABLE SCULPTURES — Diffusion Models are the Next Frontier of AAA Game Development

This is the third post in an unplanned trilogy of posts that look at the state of the games industry and where it’s headed over the next few decades. You can find the other posts here: Game Design Mimetics (2022) The Potential of Creative AI in Game Development (2023) Also, I’m tracking more developments in this space at the bottom of this post. Scroll all the way down for more information on…

Using Gemini 2.5 and Claude Code To Generate An AI 2027 Wargame

I had an idea to try and convert the recent AI 2027 report into a game. Beyond that, I again wanted to push at some of the limits of AI coding and also get some reps in with testing a newer workflow of using models like Gemini 2.5 and o3 to “ plan” and then getting Claude Code to do the actual work. I still think the game idea is a good idea, but I’m rapidly losing steam on the idea and may just…

Vibecoding the mood.site Premium Update

I’ve just released a big update to my image gallery moodboard website app thing mood.site . I talk more about the specifics of the update on the new release notes page for it , but the TLDR is that I: Re-architected the site with Svelte Added in lot of customization options Made the site much faster Added in the ability to pay for it Those bullets are each doing a lot of work (it is a TLDR ), so I…

So You Want To Compile Your C# Game Engine To The Web With WASM

When I set out to make Zinc I had a few goals in mind. A large portion of those goals were around engine ergonomics and “ making happy developers,” but one very specific technical goal was “ make it work on the web”. I didn’t know how to do this. I didn’t even really know how to approach the problem at the time, or even really understand how web builds would (or even “ do” for engines that support…

I'm Making A Podcast About Game Programming

I listen to a lot of game development-flavored podcasts, and one thing that has really stood out to me for a long time was how basically none of the podcasts were actually about development . There are plenty dedicated to creator interviews that discuss inspiration, design, etc., but practically none about the actual specifics of programming games. Beyond that, I’ve had my own pet interest in the…

Committing C# Crimes to Provide Better ECS APIs

I’ve been unsatisfied with how entity creation works in Dinghy (now renamed “ Zinc”) for a while. I said as much a few months ago on the forums and I’ve been mulling it over ever since. Specifically, the more you lean into using ECS , the more the requirements around interfacing with it tend to grow like a virus in your codebase. Especially for “ real” ECSs where you shouldn’t ever really be…

Introducing Mood.site

I recently needed to send a friend some images in a way that could be referred to later/added to. Images to create a “ mood”. A “ moodboard” if you will. Here were my options: Make a folder in Dropbox/drive and manage the sharing permissions on the folder to be public. Use a design tool like Figma or Miro to throw lots of images into and share a share link with him Use a “ mood boarding” tool like…

Building a Web Framework with C# records, Tailwind and HTMX (and no JS)

I’ve been really interested in what the record type (and its accompanying syntax) provides in C# and have been musing a bit on an idea that started with some tooltip explorations a while ago. Specifically something with the self-described pattern of Immutable “ Prefabs” Mutated With Specific Data. The idea is that you create a base record type that is some pseudo-generic type, and then provide…

Handing Collisions the ECS Way

I’m starting up making a small game with Dinghy to dogfood some of its concepts, and part of this is to actually try and use the ECS system instead of just programming games the old way. I actually started trying to do stuff the old way and quickly started to find myself in event callback hell and thought “ I think I should try and actually use ECS ” . One of the first things I ran into was…

Fixing Discourse Restore dump.sql.gz Errors For Mismatched tar/gz files

Got a quick one for you today. I’ve encountered a thing in the past where, when OSX/macOS downloads an archive file, it will automatically extract it or do weird things with the download such that the downloaded file doesn’t actually match what you downloaded from a server. Debugging this is a bit of a pain, and what to do varies on a case-by-case basis of what service you’re downloading from and…

So You Wanna Package Some Native Libs Into A NuGet Package

While working on Dinghy , I’ve got a general flow that works. Namely, that there is a core .csproj Dinghy.Core (Library Project) that is the engine code itself, and there is another project, Dinghy.Sandbox (Executable Project), that references Dinghy.Core via a Project Reference. The Sandbox project is meant to mock out the end-user experience of Dinghy and give me a general testbed for Dinghy…

Luau.NET

This will be a short one because I need to get back to other things, BUT I wanted to make a small post here to say that I just released a the first version of Luau.NET . I had been interested in Luau since the first post announcing that it was going open source . I’ve never played Roblox or experimented with its creator tools, so my interest in it was less in that, but more that the language is…

First Impressions of Disney's Lorcana TCG

I wanted to capture some thoughts and impressions on Lorcana after some plays of it a few days ago, especially in relation to it’s obvious competitor/inspiration, Magic: The Gathering. I played three games (I was the Sleeping Beauty/Simba set vs. the Cruella/Aladdin set) over the course of an hour or two, so these impressions come from some plays right after learning. Theme -> Mechanics -> Theme…

Cantata Released!

It is with distinct pleasure that I can say that the ambitious tactical-strategy game my team has been working on for the past few years (and me for nearly a decade ) has finally released into 1.0 from Early Access. For those who don’t know, Cantata is a game that combines elements of 4X , Grand Strategy, Tactics, Automation, and RTS games into something we call a “ Grand Tactics” game. Think…

Cultivating A Space For The Doing

Apropos of nothing I found myself circling the painter Francis Bacon today in more ways than one. It started a bit with discovering this piece on him : What would have happened to Bacon’s career had he been subscribed to nine podcasts? Had he been posting his work to Instagram, and Facebook, and Twitter? Pressure would have leaked from the pressure cooker and the violence of his work would have…

Breaking the Cycle - The Potential of Creative AI in Game Development

I’ve been thinking a lot recently about Creative AI tooling and its intersections with game development, and mostly how I think a lot of the applications (and discussions) of it right now are naïve. This really hit when listening to a recent episode of the Interdependence podcast with Runway ML founder Cristóbal Valenzuela. In the podcast they talk deeply about mental models around the current…

Simple Echo Example for Discord.Net Bot

Channeling some Simon Wilson I’m thinking that I should be more transparent about hacking that I’m doing and add in some accountability for projects. Specifically, if I decide to hack on something, it’s also a commitment to write about it in some form. So here’s a go at it. I’m working with Discord and the ChatGPT/GPT4 API to try and build… something? I’ve got a few ideas but nothing to report…

Low-Level Interop and Memory Management in C# for Allocation-free P/Invoke Code

I’ve been recently picking up work on Dinghy again and as part of it have been looking at different approaches for doing bindings. Previously I was using Mono’s CppSharp to generate bindings for Sokol, which “ worked” but also generated a ton of cruft around function calls. The main issue was that PInvoking to the extern methods used a lot of marshalling, so they went through great pains to track…

FMOD Crashing with Programmer sound callback is not set for instrument error

UPDATE : New fix at the end of the post I had a weird issue in FMOD recently that I was struggling to find any information on so just capturing it here in hopes to help other people that run into something similar. I recently set up callbacks in Unity for FMOD event instances. The code was much simpler that I thought it would be, and consisted of basically just creating a delegate of the correct…

Discovering Dotnet-Script

Since last year I’ve been thinking about how to handle tooltips in games. For Cantata, we have a procedural tooltip system. This means that, instead of hand creating every possible tooltip and toggling it on/off when the player mouses over something, we have no handcrafted tooltips and instead build them procedurally from components at runtime. This has a ton of benefits, but one of the pain…

Heisenfunctions, Incremental Determinism, and The Future of Programming

It’s no secret that I’m into the new AI stuff . Not only that, but I think we’re in a real “ adapt or die” moment. It’s not obviously that dire (yet), but the advances the field made in 2022 have definitely got me thinking about how to rearticulate my own creative practice moving forward, and doing so in such a way as to incorporate AI collaborators throughout. To quote Pentiment , “ you can’t…

AI Won't Take Gamedev

A lot of VC thinkfluencer types have been salivating at the possibility of how AI is going to take over gamedev. This won’t happen. Additionally, a lot of the “ arts” bandied around as being prime for being taken over by AI (movies, animation, etc.) also won’t be taken over by AI . Here’s why. Video games, film, and whatever Fortnite “ is” are something like “ second order arts”. Or as Robert…

Talking To Machines, Or "Serendipitous Prompting for AI Image Generators"

I’ve been actively using Midjourney since I wrote that post back in June. The experience has been staggering in how so clearly there is my creative process before AI Art and after AI Art. The thing is, you’ll probably never see anything I generate (besides blog header images). This is maybe counter to a lot of the “ protests” around AI Art. Roughly stated I think there is a (somewhat) legitimate…

Finding answers to difficult questions

I’ve been working on a game engine in the background for a while. Most of this work though has been learning, with the idea of “ oh yeah I’m also making a game engine” becoming a useful preface and facet of myself through which to take in new information. Suddenly I have a reason to learn about IL in C#, finally checking out the stb libs, etc. That said, it has been a difficult road. Much has been…

Nostalgia and the Triforce% Run

This is a bit of meta post as this post isn’t actually on my blog, but I wrote about the recent Triforce% run over on Dirt . It’s 2500 words musing on the role of runners and how they relate to the games they play, and how the Triforce% run challenges and expands common speedrunning aims. It’s also about nostalgia, which seems like its becoming a theme for me. Read it here.