I am the developer behind I.T. Never Ends. It is a card-based resource management game (heavily inspired by Reigns) where you work IT support for a corporation taken over by eldritch horrors. You balance ticket resolution, budget, and entropy while dealing with printers that violate causality.
I wanted to share a technical deep dive into how I built and packaged it, which I recently wrote about in a devlog: https://dadbodgames.itch.io/it-never-ends/devlog/1388428/bui...
Here is a quick overview of the technical architecture and some lessons learned from the process:
The Architecture: The entire game is built in React and JavaScript. Under the hood, the game is essentially a giant state machine. While I have used engines like Godot for previous dynamic action titles, I am a full-stack developer by day (mostly NextJS). For a text-heavy, UI-driven game like this, I found the traditional object-oriented approach in standard engines required too much manual glue code to wire the game state to the UI. React's declarative approach using state as truth allowed me to iterate incredibly quickly on the content itself, which makes up 90% of the gameplay.
The Build Pipeline (Tauri vs. Electron): Packaging a web application for Steam and the Steam Deck was the biggest hurdle. I ended up having to split my approach:
Windows: I use Tauri. It is significantly lighter and creates a much smaller binary by hooking into the OS webview.
Steam Deck / Linux: I had to switch to Electron. SteamOS does not have a reliable pre-installed webview for Tauri to hook into out of the box. To handle robust save data persistence without relying on heavy Node.js filesystem modules, I wrote a small "sidecar" binary in Rust. The Electron frontend talks to this sidecar via JSON-RPC to handle atomic writes to the disk, which keeps the game running at a smooth 60fps on the Deck.
The Data & Community Pricing: I have been fortunate to see over 10,000 plays on the Itch web build in the last two months, plus another 3,000 players on the Steam demo since February 1st.
To gather player feedback efficiently at the edge, I built a custom system directly into the game client. The game has write-only access to a Supabase project. Players use an in-game, thematically fitting feedback form to submit friction points, purchase intent, and pricing data. This pipes directly into a Discord webhook via edge functions and is broadcasted live to our community. The idea is to let the community decide the final price of the game by popular vote (currently converging around the $12 to $13 mark).
You can play the free web build on Itch here: https://dadbodgames.itch.io/it-never-ends There is also a standalone Steam demo if you prefer: https://store.steampowered.com/app/4225400/IT_Never_Ends/
I would love to hear your thoughts and am happy to answer any questions about the React state management, the Rust sidecar, or the Steam Deck build pipeline!