Release Progress
Over the last weeks, a few important things happened that I want to share.
Steam Submission & IP Work
I submitted the app for the official Steamworks review some time ago. The process took longer than expected and was ultimately rejected. Most criteria were met, but—as anticipated—the main issue was IP cleanliness. Even though I documented, tracked, and remade many assets, it still wasn’t airtight enough for a formal release.
They tested far more thoroughly than expected. My plan was to polish things from roughly 95% to 100% after submission, but that didn’t fly. Since the original app credit is now consumed and the app marked as retired internally, I purchased a new one and began transferring everything.
The next submission will be prepared properly:
100% IP coverage and a professional assessment from an IP lawyer attached. This shifts the risk away from Steam and follows standard industry practice. I should have done it earlier—lesson learned.
Model Status
The model has been feature-complete for a while, and I’ve refined several components further. I can now explain the “WTF” (a lightweight theory of everything) clearly and confidently. The Minimal Model has been up and running as well as in CI/CD for more than half a year, and I’m also additionally deploying to a currently private repo that I intend to share as a public version of the model later on.
I’ve also thoroughly tested all release targets (namely Azure, Steam, Minimal and Public) as each is having minor differences in content and internal structure. Additionally i implemented two different types of Smoke Tests on the Steam WPF Build.
Content wise added five new description overlays that i deemed mildly significant to have in the final release and updated the Electrical Resistance one. Detailing them here would go out of scope, but I’ll share already prepared videos of them in a soon follow-up post.
Technical Progress
Technical progress over the last months has been substantial. I now run four self-hosted GitHub Runners on the NUC:
- 2× Windows
- 2× Linux
They’re tied to my main development repo, with one dedicated to the Steam repo. This gives me more fine-grained control, asset caching, and deeper build inspection. Using a global runner pool would have required upgrading to an organization account, which wasn’t worth the overhead.
Runner monitoring is fully integrated into my Grafana/Prometheus setup, giving a clear overview of local activity.
To keep the setup clean, I created dedicated partitions for:
- Cache
- Artifacts
- Runner Contexts
Spreading these across multiple Partitions helps isolate environments, improving reliability and troubleshooting.
As mentioned CI/CD can run fully on the NUC, but due to my slow upload speeds to Azure Static Web Apps, I was forced to split the build and push steps so the final upload is handled by a GitHub cloud runner. Below is an example of a deployment workflow executed under the new setup:
Content Remakes & Asset Compliance
I continued remaking assets that weren’t fully compliant. The Galaxy Overlay now has a unique, clean texture and looks solid.
2D items I remake follow a similar workflow. For example, the Dart Arrows shown here are originally under a third-party licence. By fully recreating them through AI, I bring them into compliance. I have many such elements, especially ones used in collages, so this process takes time.
I also attempted outsourcing a few 3D items—especially the plane used in the Battleroyal scene—via freelancer.com. Unfortunately, the experience was disappointing. Twice, artists delivered stolen free 3D models despite explicit instructions regarding copyright compliance. It took one quick check to trace the originals.
I don’t mind paying extra for proper work, but not for something that isn’t done. In the end, I purchased a licensed stock model from free3d.com with commercial usage rights and will use that instead.
That’s the current state: steady progress, clear next steps, and a much more solid foundation for the final release.