<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: dev game</title>
    <description>The latest articles on DEV Community by dev game (@wlz).</description>
    <link>https://dev.to/wlz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4180854%2F122b5ffa-a264-4ad2-972e-963194ccdaa1.png</url>
      <title>DEV Community: dev game</title>
      <link>https://dev.to/wlz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wlz"/>
    <language>en</language>
    <item>
      <title>Why Dead Cells Bet on Haxe and Heaps.io: The French Niche Stack Behind a 10-Million-Copy Roguevania</title>
      <dc:creator>dev game</dc:creator>
      <pubDate>Tue, 13 Oct 2026 10:37:54 +0000</pubDate>
      <link>https://dev.to/wlz/why-dead-cells-bet-on-haxe-and-heapsio-the-french-niche-stack-behind-a-10-million-copy-roguevania-5b8d</link>
      <guid>https://dev.to/wlz/why-dead-cells-bet-on-haxe-and-heapsio-the-french-niche-stack-behind-a-10-million-copy-roguevania-5b8d</guid>
      <description>&lt;p&gt;Dead Cells sold more than 10 million copies by June 2023 on a stack almost no hiring manager has heard of: Haxe plus Heaps.io, a French open-source language and high-performance game framework, built by the same Bordeaux circle that made the game. That is the short answer to why an 8-person worker co-op bet a last-chance project on a niche toolchain instead of Unity or Unreal — they already owned the toolchain, culturally and literally.&lt;/p&gt;

&lt;p&gt;This is for indie developers and technical readers asking a concrete question: what did Motion Twin actually gain and lose by shipping a fast, precise roguevania on Haxe/Heaps, and what transfers to a small team in 2026? Scope is the PC/console core release — Windows, Linux, macOS, Switch, PS4, Xbox One on August 7, 2018, plus iOS, Android and later PS5 — and the Haxe/Heaps/HashLink lineage as documented by its maintainers as of October 13, 2026. It is not a Heaps tutorial and not a Dead Cells walkthrough.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Dead Cells is, in one paragraph
&lt;/h2&gt;

&lt;p&gt;Dead Cells is a 2018 roguelike-Metroidvania — the community shorthand is “roguevania” — developed by French independent developer Motion Twin. You play the Prisoner, an immortal head hopping between corpses, fighting out of a diseased island to slay the King, losing weapons and upgrades on death except for a few permanents, while a currency called Cells buys permanent upgrades if you survive to spend them. The official site describes it the same way: a rogue-lite, Castlevania-inspired action-platformer with sprawling, ever-changing castle, 2D souls-lite combat and no checkpoints — kill, die, learn, repeat. Steam repeats that loop and adds the system footprint that matters for this story: 2 GB RAM minimum, 500 MB storage, DirectX 9.1+ or OpenGL 3.2+. Levels are procedurally generated by merging predesigned sections in random configuration, with mutations, Power Scrolls in Brutality/Tactics/Survival, and Runes that gate traversal.&lt;/p&gt;

&lt;p&gt;Sales and reception explain why the stack choice matters. By June 2023 the game had sold over 10 million copies. Motion Twin itself now says Dead Cells brought “joy and tears to more than 11 million players on PC, consoles and mobiles.” Early on the team told GamesIndustry.biz they needed 20,000 copies in three months to survive and did that in the first day; a year after Early Access they were past 1 million, then 2 million by May 2019, 5 million by March 2021, 10 million in 2023. It won Best Action Game at The Game Awards 2018. For context, Motion Twin was founded in 2001 in Bordeaux, spent a decade on browser games, failed at mobile, and called Dead Cells a passion project — “something hardcore, ultra-niche, with pixel art and ridiculous difficulty” — and a last chance before possible disbanding.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Haxe and Heaps.io actually are
&lt;/h2&gt;

&lt;p&gt;Haxe is a high-level, open-source programming language and compiler that compiles one codebase to many targets from an ECMAScript-oriented syntax, with strong typing, compile-time error detection and dead-code elimination. The manual lists the current targets plainly: JavaScript, Neko, HashLink, PHP, Python, Lua, C++, Flash, Java, JVM and C#. The Haxe Foundation presents it for games specifically because it is fast, has game libraries, and targets iOS, Android, Web and Desktop from one codebase.&lt;/p&gt;

&lt;p&gt;Heaps.io is the high-performance piece inside that world. Its homepage calls it a mature cross-platform graphics engine designed for high-performance games that leverages modern GPUs on desktop and mobile, with 2D and 3D acceleration, a cross-platform GPU shader system, fast compile-and-run cycle, controller support and no revenue share. Its GitHub title is even blunter: “Heaps : Haxe Game Framework,” supporting HTML5/WebGL, mobile iOS/Android, desktop OpenGL or DirectX, and consoles including Switch, PS4 and Xbox One for registered developers. You start with Haxe 3.4+ and &lt;code&gt;haxelib install heaps&lt;/code&gt;. It is free and open source.&lt;/p&gt;

&lt;p&gt;The lineage is unusually tight. Heaps is built by Nicolas Cannasse, original creator of the Haxe compiler and designer of the Haxe language. Cannasse was a Motion Twin co-founder-era developer; Motion Twin is listed by the Haxe Foundation among companies using Haxe, and the Foundation’s games showcase lists Dead Cells as built by Motion Twin alongside Northgard, Papers, Please, Evoland and others, with Heaps.io listed on the same page as a popular library. Haxe itself is described as the successor to MTASC, the open-source ActionScript 2 compiler also built by Cannasse at Motion Twin. In other words: the language, the engine and the studio grew up in the same room.&lt;/p&gt;

&lt;p&gt;The runtime bridge is HashLink. HashLink is the Haxe virtual machine with dual compilation: use HL/JIT for daily development for fast compilation, use HL/C — bytecode converted to C and compiled with gcc &lt;code&gt;-O3&lt;/code&gt; — for final release for best performance, sharing the same runtime and semantics. That single sentence explains a lot of Dead Cells’ feel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Motion Twin did not pick Unity
&lt;/h2&gt;

&lt;p&gt;Three conditions pushed them away from the default.&lt;/p&gt;

&lt;p&gt;First, Flash trauma. Motion Twin made more than 150 web games over 10+ years, then watched browser and mobile economics collapse. When you have survived MTASC, NekoVM, the death of Flash Player and a failed mobile pivot, “free engine with asset store” sounds less like safety and more like another landlord. Owning compiler plus engine plus tools felt like survival, not vanity.&lt;/p&gt;

&lt;p&gt;Second, team shape. Motion Twin is a worker cooperative with equal pay and equal say, deliberately kept around eight people — “if we get to ten that’s pushing it.” A cooperative that decides everything as a team cannot absorb a 30-person content pipeline or a black-box upgrade that breaks combat feel a month before launch. Haxe/Heaps rewards a team where programmers also build tools, and punishes a team that wants to hire five Unity generalists next week. The constraint fit.&lt;/p&gt;

&lt;p&gt;Third, genre fit. Dead Cells started as a follow-up to the cooperative tower-defense browser game Die2Nite, with traps plus positioning. The team prototyped, playtested with the community, found solo play was not fun, stripped multiplayer and free-to-play cruft from late 2014 to late 2015, then kept only the action part. PC Gamer’s history has producer Steve Filby saying the Early Access build in May 2017 was only 30–40% finished but movement and fighting already had to feel tight. A 60fps dodge-roll with i-frames, panic roll, slam, and pattern-based bosses is an input-latency and iteration problem before it is a content problem. Fast compile-and-run in seconds, GPU-accelerated 2D, and HL/JIT during the day plus HL/C for ship fit that problem better than a heavyweight 3D editor for this specific game.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the niche stack bought them
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Iteration speed as a design tool.&lt;/strong&gt; Heaps advertises never waiting more than a few seconds to build. Combined with HL/JIT for daily work, that means balancing Brutality/Tactics/Survival, reforging, the Forge, mutations and elemental damage could be reworked across many Early Access updates — more than 30 free updates plus four paid expansions — without the edit-compile-wait tax that kills game feel. Filby credits community essays and balance complaints for reshaping core progression; you can only listen that fast if rebuilding is cheap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. One codebase, many sharp edges.&lt;/strong&gt; Haxe compiles to C++, HashLink bytecode, JavaScript and others with conditional compilation for platform-specific code. Heaps then targets OpenGL/DirectX, mobile and consoles. Dead Cells shipped on nine platform families with a 500 MB footprint and 2 GB RAM floor. A small team does not do that with per-platform rewrites; they do it with a thin abstraction they control and a shader language that stays globally compatible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Performance headroom for 2D density.&lt;/strong&gt; Dead Cells is not “retro” in cost: layered parallax, particles, lighting on traps and spells, and seamless biome streaming while procedurally stitching hand-made chunks. Heaps’ pitch — modern GPUs, custom rendering pipelines, minimal overhead, native access — plus compiler inlining, tail-recursion elimination, constant folding and dead-code elimination, plus HL/C &lt;code&gt;-O3&lt;/code&gt; for release, is exactly how you keep a pixel-art game at a locked, responsive framerate on Switch and old PCs without asking players for 8 GB RAM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Toolmaker culture.&lt;/strong&gt; The same designer who led Dead Cells, Sébastien Bénard, later built LDtk, a modern level editor for platformers and top-downs with super-simple JSON export, auto-rendering rules, world layouts including “Grid-vania,” and direct Unity/Haxe/Playdate import paths. LDtk’s tagline — “By game devs, for game devs” — is also Motion Twin’s history: MTASC, Haxe, Neko, Heaps, then LDtk. When your lead designer builds editors for fun, picking an engine you can fork is rational.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it cost them
&lt;/h2&gt;

&lt;p&gt;Niche is not free. Hiring is harder: far fewer Haxe/Heaps programmers than Unity/C# or Unreal/C++ developers, almost no plug-and-play asset store for roguevania systems, and documentation that assumes you read source. Console support requires registered-developer access and direct contact, not a checkbox. Bus factor is real: when language, engine and VM orbit one creator, roadmap risk concentrates. And discoverability suffers — press and publishers default to “Unity or Unreal?” and misread custom tech as risk.&lt;/p&gt;

&lt;p&gt;Motion Twin paid those costs with advantages most teams do not have: a decade of Haxe in-house, a co-founder who wrote the compiler, and a co-op structure that prefers eight seniors over thirty juniors. Copying the stack without copying the context is the classic mistake.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to steal even if you never touch Haxe
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prototype the dodge before the dungeon.&lt;/strong&gt; Dead Cells locked movement and hit response at 30–40% complete, then let Early Access reshape balance, Forge and mutations. If your core loop is not fun with gray boxes at 60fps, no biome count saves it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Merge hand-made chunks, don’t pure-randomize.&lt;/strong&gt; Dead Cells’ procedural generation merges predesigned sections in random configuration. That preserves authored combat arenas and readable traversal while keeping runs fresh — a middle path between roguelike noise and Metroidvania rigidity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design economy around loss.&lt;/strong&gt; Cells are only spendable at section ends and lost on death; blueprints must be carried out. Permadeath plus a leaky bank creates tension without grinding, and gives permanent upgrades meaning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ship a tiny, fast client.&lt;/strong&gt; 500 MB and 2 GB RAM in 2018 was a feature: more laptops, more Switch handheld sessions, fewer support tickets. Performance is accessibility.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My own take — labeled as analysis, not fact
&lt;/h2&gt;

&lt;p&gt;Here is where I depart from the sources and offer a personal read. Take it as provocation, not proof.&lt;/p&gt;

&lt;p&gt;I think Dead Cells is best understood as a &lt;em&gt;compiler company accidentally making a game&lt;/em&gt;. Most indies ask “which engine should we use?” Motion Twin asked “which iteration loop lets eight equals argue and still ship?” Haxe/Heaps answered: a loop measured in seconds, a language that catches nulls and dead code at compile time, and a VM that lets you debug fast and ship fast without changing semantics. That is a governance technology as much as a graphics technology. A co-op needs fast, legible builds the way a hierarchical studio needs Jira.&lt;/p&gt;

&lt;p&gt;That leads to a stranger idea: &lt;em&gt;owning the stack made the game more conservative in a good way&lt;/em&gt;. Because Heaps gave them total control over 2D rendering but almost nothing for free — no quest system, no behavior trees, no marketplace boss AI — they were forced to make depth from combinations of simple verbs: slash, dodge-through, slam, trap, roll. Dead Cells’ celebrated build variety is, in this reading, scarcity turned into design. Unity might have tempted them toward more systems; Heaps tempted them toward tighter verbs. Constraints did not limit creativity; they edited it.&lt;/p&gt;

&lt;p&gt;A second hunch: &lt;em&gt;the Flash ghost still haunts the design&lt;/em&gt;. Motion Twin learned on browser games where load time, small downloads and instant restart mattered. Dead Cells restarts in seconds, runs anywhere, and treats death as a refresh, not a punishment screen. Permadeath here feels like the old web-game loop — “one more run” — transplanted to PC/console with souls-like combat. The niche stack preserved a dying platform’s virtues after the platform died.&lt;/p&gt;

&lt;p&gt;And a worry: &lt;em&gt;would Heaps exist at this quality without Dead Cells as a forcing function?&lt;/em&gt; Probably not. Engines need a flagship that pays for edge cases: console TRCs, controller quirks, GPU driver bugs, save-corruption on crash. Dead Cells was Heaps’ 10-million-copy test suite. That is glorious and fragile. If your engine’s best QA is one hit game, your next game inherits both the fixes and the assumptions. Windblown, Motion Twin’s fast-paced isometric action follow-up announced at The Game Awards 2023, will be the test of whether the stack generalizes or whether Dead Cells overfitted Heaps to roguevania.&lt;/p&gt;

&lt;p&gt;Three open questions I would love readers to argue about:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In 2026, with Godot mature and Unity pricing and trust in flux, does owning a tiny stack still pay, or does Godot now give you 80% of Heaps’ iteration speed with 10x the hiring pool?&lt;/li&gt;
&lt;li&gt;If procedural generation is really “authored chunks + random merge,” should we stop calling it procedural and start crediting level designers the way we credit seed programmers?&lt;/li&gt;
&lt;li&gt;Is permadeath a mechanic or a business model? Dead Cells turns loss into retention — fast restarts, leaky bank, visible permanent growth. When does that cross from respect for the player’s time into compulsion?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you build on Heaps today, go in with eyes open: read the GitHub platform matrix, test HL/JIT versus HL/C early, budget for console-developer access, and assume you will read engine source. The reward is a client your players can run on a potato, a build loop your designers will actually use, and no revenue share. For a certain kind of team — small, senior, tool-literate, allergic to landlords — that is still a radical deal.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Verification note: engine facts above were checked against Heaps.io, the Heaps GitHub, Haxe manuals, the Haxe Foundation games showcase, Motion Twin’s site, Dead Cells’ official site and Steam page, and contemporary reporting, all retrieved October 13, 2026. Interpretive claims in “My own take” and the open questions are the author’s analysis and are labeled as such.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>deadcells</category>
      <category>haxe</category>
      <category>heapsio</category>
      <category>indiegamedevelopment</category>
    </item>
    <item>
      <title>Why Stardew Valley Bet on XNA and MonoGame: The Dead C# Stack Behind a 50-Million-Copy Farming Sim</title>
      <dc:creator>dev game</dc:creator>
      <pubDate>Tue, 13 Oct 2026 08:02:34 +0000</pubDate>
      <link>https://dev.to/wlz/why-stardew-valley-bet-on-xna-and-monogame-the-dead-c-stack-behind-a-50-million-copy-farming-sim-1pf3</link>
      <guid>https://dev.to/wlz/why-stardew-valley-bet-on-xna-and-monogame-the-dead-c-stack-behind-a-50-million-copy-farming-sim-1pf3</guid>
      <description>&lt;p&gt;Stardew Valley should not have worked on paper. A first-time solo developer picked a framework Microsoft had already abandoned, with no visual editor, no asset store, and no royalty-funded roadmap — and then shipped one of the best-selling games ever made on that same stack for a decade.&lt;/p&gt;

&lt;p&gt;The short answer: Eric "ConcernedApe" Barone built Stardew Valley in C# on Microsoft XNA and its open-source successor MonoGame because he already knew C#, the 2D sprite workflow fit pixel-art farming perfectly, and the "boring" low-level framework let him own every system without paying an engine tax. That choice gained him total control, tiny hardware requirements, and a moddable C# codebase — at the cost of building everything from UI to netcode himself and relying on partners and community for ports. &lt;a href="https://en.wikipedia.org/wiki/Stardew_Valley" rel="noopener noreferrer"&gt;Stardew Valley's infobox lists its engine as MonoGame&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is the third entry in a niche-stack series: Phaser + JavaScript behind Vampire Survivors, LÖVE + Lua behind Balatro, and now XNA/MonoGame + C# behind Stardew Valley. Same question each time: what does an unfashionable tool let a small team do that Unity or Unreal would have made harder?&lt;/p&gt;

&lt;h2&gt;
  
  
  Who this is for and what counts as "niche" here
&lt;/h2&gt;

&lt;p&gt;If you are an indie developer choosing a 2D framework, a modder wondering why Stardew mods are DLLs, or a player curious why updates still feel hand-made, this is for you.&lt;/p&gt;

&lt;p&gt;Niche does not mean obscure. MonoGame is a serious, maintained framework that also powers Celeste, Bastion, Fez, and Stardew Valley itself. Niche means: tiny team and community compared to Unity/Unreal, C#-first instead of editor-first, code-driven instead of store-driven, and born as a rescue project after Microsoft walked away. Popular means: Stardew Valley sold more than 50 million copies as of February 2026, after starting as a one-person Harvest Moon fix. &lt;a href="https://en.wikipedia.org/wiki/Eric_Barone" rel="noopener noreferrer"&gt;Barone developed the game alone over four and a half years&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Scope note: this covers the PC lineage (Windows/Linux/macOS) and its console/mobile ports, plus the MonoGame/XNA layer. It does not cover Chucklefish-era publishing contracts or platform-holder certification details, which are not public in full.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What XNA and MonoGame actually are
&lt;/h2&gt;

&lt;p&gt;Microsoft XNA was a freeware managed runtime announced at GDC in March 2004, built on .NET for Windows, Xbox 360, and later Windows Phone. It gave C# developers a Content Pipeline, SpriteBatch 2D rendering, input/audio helpers, and Xbox Live Indie Games distribution. &lt;a href="https://en.wikipedia.org/wiki/Microsoft_XNA" rel="noopener noreferrer"&gt;XNA's status is listed as Discontinued, with no new development as of January 2013&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;MonoGame started in December 2009 as XNA Touch, an iPhone port of XNA, was renamed and moved to GitHub in 2011, and pledged to keep XNA developers alive after Microsoft confirmed in February 2013 it had no plans for future XNA versions. &lt;a href="https://en.wikipedia.org/wiki/MonoGame" rel="noopener noreferrer"&gt;MonoGame implements the Microsoft XNA 4 API and began as a way to bring XNA games to platforms Microsoft did not support&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today MonoGame describes itself plainly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;MonoGame is a simple and powerful .NET framework for creating games for desktop PCs, video game consoles, and mobile devices using C#. It is an open-source re-implementation of the discontinued Microsoft XNA Framework.&lt;/strong&gt; It names Streets of Rage 4, Carrion, Celeste, and Stardew Valley as shipped examples. &lt;a href="https://github.com/MonoGame/MonoGame" rel="noopener noreferrer"&gt;See the project README&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Other facts that matter for this story:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Written in C#, source under Microsoft Public License, repo at github.com/MonoGame/MonoGame. &lt;a href="https://github.com/MonoGame/MonoGame" rel="noopener noreferrer"&gt;Same README&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Supports Windows, macOS, Linux, Android, iOS/iPadOS, and — for registered developers — PS4, PS5, Xbox One/Series, Switch and Switch 2. &lt;a href="https://github.com/MonoGame/MonoGame" rel="noopener noreferrer"&gt;Same README&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Since September 2023 it has been stewarded by the MonoGame Foundation, a US non-profit funded by donations rather than royalties. &lt;a href="https://en.wikipedia.org/wiki/MonoGame" rel="noopener noreferrer"&gt;MonoGame history&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Version 3.8.5 added preview Vulkan and DirectX 12 backends; the long-standing path was DirectX on Windows and OpenGL elsewhere. &lt;a href="https://en.wikipedia.org/wiki/MonoGame" rel="noopener noreferrer"&gt;MonoGame history&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In one sentence: XNA was Microsoft's cozy C# game kit; MonoGame is the community keeping that idea alive and portable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Barone chose it in 2012
&lt;/h2&gt;

&lt;p&gt;Barone graduated from University of Washington Tacoma in 2011 with a computer science degree, could not find industry work, and started Stardew Valley explicitly to practice C# and have something to show employers. &lt;a href="https://en.wikipedia.org/wiki/Eric_Barone" rel="noopener noreferrer"&gt;He began work in 2012 to practice programming in C#&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In 2012 that decision was pragmatic, not nostalgic:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;He knew the language.&lt;/strong&gt; C# was his degree language. XNA let him stay in Visual Studio and learn game loops, not a new editor plus a new language.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The game fit SpriteBatch.&lt;/strong&gt; Stardew Valley is top-down 2D: tile maps, seasonal sprites, day/night lighting over sprites, inventory UI. XNA's &lt;code&gt;SpriteBatch&lt;/code&gt;, &lt;code&gt;ContentManager&lt;/code&gt;, and XNB pipeline were built for exactly that.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unity 2D was not what it is today.&lt;/strong&gt; Unity's 2D toolset only matured around 2013-2017. In 2012, betting a pixel-art sim on Unity meant fighting a 3D-first editor. XNA had no editor to fight.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero cost and zero permission.&lt;/strong&gt; Freeware XNA, then free open-source MonoGame, no seats, no revenue share — critical for an unemployed developer working 10 hours a day, seven days a week for four and a half years. &lt;a href="https://en.wikipedia.org/wiki/Eric_Barone" rel="noopener noreferrer"&gt;Work schedule and solo roles&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;He did all pixel art, music with Reason Studios, sound, code, and writing himself. The stack did not make content for him; it stayed out of the way while he made it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the "dead" stack gave him
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Deterministic control over a simulation.&lt;/strong&gt;&lt;br&gt;
Stardew Valley is a slow simulation: 28-day seasons, crop timers, NPC schedules, friendship points, mine RNG, weather. Owning the &lt;code&gt;Update()&lt;/code&gt; loop in C# means owning time. No hidden physics tick or editor script order to work around. When Barone rebalances grass survival in winter or furnace throughput, he changes C#, not a black-box system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. A Content Pipeline that loves pixel art.&lt;/strong&gt;&lt;br&gt;
XNA's idea — import PNG/XNB once via &lt;code&gt;mgcb&lt;/code&gt;, load via &lt;code&gt;Content.Load&amp;lt;Texture2D&amp;gt;&lt;/code&gt; — sounds old-fashioned until you ship 280 new furniture items, 41 floor styles, and seasonal map variants in one update. The &lt;a href="https://www.stardewvalley.net/stardew-valley-1-6-update-full-changelog/" rel="noopener noreferrer"&gt;1.6 changelog reads like a content-pipeline stress test: new farm type, crops, festivals, hats, furniture catalogues, map redraws&lt;/a&gt;. A code-driven pipeline with versioned XNBs handles that bulk load predictably.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Performance on toasters.&lt;/strong&gt;&lt;br&gt;
Stardew Valley runs on PS Vita, low-end laptops, and phones because it draws sprites, not PBR materials. MonoGame's DirectX/OpenGL SpriteBatch path is thin. There is no editor runtime, no unused systems in the build. For a cozy game where 60 fps must feel invisible, thin is a feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. A moddable .NET assembly.&lt;/strong&gt;&lt;br&gt;
This is the underrated win. Because Stardew Valley is .NET/C#, the community could build &lt;a href="https://smapi.io/" rel="noopener noreferrer"&gt;SMAPI, the open-source mod loader for Stardew Valley, compatible with Steam/GOG achievements on Linux/macOS/Windows&lt;/a&gt;. SMAPI 4.5 requires Stardew Valley 1.6.14 or later and explicitly supports in-game config, performance work, and mod compatibility tracking. Mods are C# Harmony patches and Content Packs, not Lua sandboxes. That technical fact created a decade-long growth loop: Barone ships systems, modders multiply them, new players arrive for mods, Barone ships again. You cannot separate 50 million copies from that loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Portability without rewriting the game.&lt;/strong&gt;&lt;br&gt;
MonoGame's promise — one C# codebase, per-platform projects for Windows/Linux/macOS/Android/iOS/consoles — is how a solo C# game reached PS4, Xbox One, Switch, Vita, iOS, and Android. &lt;a href="https://en.wikipedia.org/wiki/Stardew_Valley" rel="noopener noreferrer"&gt;Stardew Valley's platform list spans Windows, Linux, macOS, PS4, Xbox One, Switch, Vita, iOS, Android, and Switch 2&lt;/a&gt;. Barone did not port all of those himself; partners and his later small team did. But they ported C#, not a rewrite.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it cost him
&lt;/h2&gt;

&lt;p&gt;No honest stack story hides the bill:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No editor meant no free tools.&lt;/strong&gt; Tilemaps, dialogue trees, cutscenes, farm layouts, lighting transitions — all custom C#. Unity or Godot would have given him a Tilemap editor, animation timelines, and UI canvas on day one. He paid in years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiplayer was a second game.&lt;/strong&gt; Single-player shipped in 2016; online multiplayer came later and still shows its custom heritage. The 1.6 notes admit it: Steam authentication changes, compressed large packets, build-number matching to prevent desync crashes, up to 8 players on PC. &lt;a href="https://www.stardewvalley.net/stardew-valley-1-6-update-full-changelog/" rel="noopener noreferrer"&gt;Multiplayer changes in 1.6&lt;/a&gt;. That is netcode retrofitted onto a simulation never designed for it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile and console needed specialists.&lt;/strong&gt; Touch input, save/lifecycle differences, console certification, split-screen — MonoGame supports the targets, but someone still writes the per-platform shims. A solo developer cannot certify five consoles alone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shaders and tooling lag mainstream.&lt;/strong&gt; MonoGame only added preview Vulkan/DirectX 12 in 3.8.5 after years on DirectX/OpenGL. If you want modern 3D features or node-based shaders, this is the wrong street.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hiring is harder.&lt;/strong&gt; Posting "5 years Unity" gets 500 resumes. Posting "5 years MonoGame Content Pipeline + custom netcode" gets five — but those five are gold.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short: MonoGame minimized runtime risk and maximized authorship risk. Barone bet he could out-work the missing editor. He did.&lt;/p&gt;

&lt;h2&gt;
  
  
  Proof it scaled: 50 million and 1.6
&lt;/h2&gt;

&lt;p&gt;Two numbers carry the argument.&lt;/p&gt;

&lt;p&gt;First, sales. Stardew Valley became one of the best-selling games ever, &lt;a href="https://en.wikipedia.org/wiki/Stardew_Valley" rel="noopener noreferrer"&gt;selling 50 million copies by February 2026&lt;/a&gt;. The same figure is repeated in Barone's biography, which also notes 2025's milestone as Steam's highest-rated game via Steam250. &lt;a href="https://en.wikipedia.org/wiki/Eric_Barone" rel="noopener noreferrer"&gt;Barone biography&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Second, scope growth without engine swap. The &lt;a href="https://www.stardewvalley.net/stardew-valley-1-6-update-full-changelog/" rel="noopener noreferrer"&gt;1.6 update changelog&lt;/a&gt; is not a patch; it is an expansion: Desert Festival, Mastery system, Meadowlands Farm, new crops and giant crops, Big Chest, Dehydrator, Fish Smoker, 19 Books of Power, 8 achievements, 4 cabin variants, waterfalls, seasonal maps, ultra-quality lighting as default, plus multiplayer stability. Shipping that on the same MonoGame base eight years after launch proves the stack was not a prototype crutch. It was the foundation.&lt;/p&gt;

&lt;p&gt;And Barone is still on it. His next game, Haunted Chocolatier, is described as coded and drawn from scratch with greater emphasis on combat — not as an engine switch announcement. Staying put after 50 million is a stronger endorsement than any launch blog post.&lt;/p&gt;

&lt;h2&gt;
  
  
  MonoGame vs Unity vs Godot for a Stardew-like: a practical table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;MonoGame (Stardew's path)&lt;/th&gt;
&lt;th&gt;Unity&lt;/th&gt;
&lt;th&gt;Godot 4&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Up-front cost&lt;/td&gt;
&lt;td&gt;Free, MS-PL, no royalties&lt;/td&gt;
&lt;td&gt;Free tier then seats/royalties after thresholds&lt;/td&gt;
&lt;td&gt;Free, MIT, no royalties&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editor&lt;/td&gt;
&lt;td&gt;None; you build tools in C# + mgcb&lt;/td&gt;
&lt;td&gt;Full 2D Tilemap, Animator, UI Toolkit&lt;/td&gt;
&lt;td&gt;Full 2D Tilemap, Animation, UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2D pixel-art fit&lt;/td&gt;
&lt;td&gt;Excellent: SpriteBatch, custom batching, tiny builds&lt;/td&gt;
&lt;td&gt;Excellent now, but heavier runtime&lt;/td&gt;
&lt;td&gt;Excellent, lightweight, GDScript/C#&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code ownership&lt;/td&gt;
&lt;td&gt;Total; you debug your C#&lt;/td&gt;
&lt;td&gt;Shared with engine; version upgrades can break you&lt;/td&gt;
&lt;td&gt;High; open source, but you track Godot releases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multiplayer&lt;/td&gt;
&lt;td&gt;Custom (Stardew retrofitted)&lt;/td&gt;
&lt;td&gt;Netcode for GameObjects / Mirror&lt;/td&gt;
&lt;td&gt;ENet + community; still custom logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modding&lt;/td&gt;
&lt;td&gt;C# DLL + SMAPI/Harmony; powerful, PC-centric&lt;/td&gt;
&lt;td&gt;BepInEx/DLL or mod SDK; heavier&lt;/td&gt;
&lt;td&gt;GDScript/DLL; smaller mod tooling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Console ports&lt;/td&gt;
&lt;td&gt;Supported for registered devs, needs specialists&lt;/td&gt;
&lt;td&gt;Best-in-class console support&lt;/td&gt;
&lt;td&gt;Growing, fewer day-one options&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hiring&lt;/td&gt;
&lt;td&gt;Hard, loyal niche&lt;/td&gt;
&lt;td&gt;Easy, large pool&lt;/td&gt;
&lt;td&gt;Medium, fast-growing pool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best when&lt;/td&gt;
&lt;td&gt;Solo C# dev, sim-heavy, 10-year tail, mods matter&lt;/td&gt;
&lt;td&gt;Team needs editor velocity + console certainty&lt;/td&gt;
&lt;td&gt;Solo/small team wants editor + open source&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No row declares a winner. If you need an editor tomorrow, do not pick MonoGame. If you need to own a 10-year simulation and its mods, MonoGame's lack of editor is the reason to pick it.&lt;/p&gt;

&lt;h2&gt;
  
  
  My analysis: four ideas that go beyond "follow your passion"
&lt;/h2&gt;

&lt;p&gt;These are interpretations, not verified facts. Take them as prompts, not prescriptions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Dead tech can be a moat if the community keeps it alive.&lt;/strong&gt;&lt;br&gt;
XNA died in 2013. That death filtered out trend-chasers and left maintainers who cared. When Barone needed stability, he got an API frozen since XNA 4, plus incremental MonoGame fixes — not a yearly breaking upgrade. Unity developers spent 2015-2024 migrating through UI systems, render pipelines, and pricing changes. Barone spent that decade adding parrots that find golden walnuts. Boring APIs compound.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Question to sit with: is your biggest risk engine churn or your own stamina? If it is stamina, a frozen API is a gift.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Constraints edited the design before players did.&lt;/strong&gt;&lt;br&gt;
No 3D physics, no navmesh, no behavior-tree editor means Stardew systems had to be legible in C#: schedules as tables, friendship as integers, seasons as state machines. That legibility is why mods and wikis thrive — everything is inspectable. I suspect Stardew would be a worse game on a more "helpful" engine, because helpful abstractions hide the numbers cozy players love to optimize.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Question: what would your game look like if every system had to fit in a spreadsheet? If that sounds fun, you want MonoGame. If it sounds painful, you want an editor.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. C# DLL modding beat Steam Workshop.&lt;/strong&gt;&lt;br&gt;
Most cozy games get cosmetic mods. Stardew got SMAPI, Content Patcher, Farm Type Manager, whole new NPCs with schedules — because .NET lets modders patch methods, not just swap PNGs. The trade-off: mods are PC-first, version-sensitive (hence SMAPI's 1.6.14 requirement and compatibility list), and can break on every Barone update. That fragility paradoxically keeps the community talking to Barone, not drifting away.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Question: are you designing a game or a platform? Stardew accidentally became a platform because its stack allowed it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Solo + niche + 10 years = genre revival, but also lock-in.&lt;/strong&gt;&lt;br&gt;
Critics credit Stardew with reviving farming sims. That is true and incomplete. Staying on MonoGame for Haunted Chocolatier suggests deep tooling lock-in: custom content tools, muscle memory, SMAPI relationships. Lock-in is rational here — rewriting 10 years of sim code for a new engine to chase shaders would be vandalism. But it also means Barone now partly funds the ecosystem he depends on; &lt;a href="https://en.wikipedia.org/wiki/Eric_Barone" rel="noopener noreferrer"&gt;his biography notes donations to MonoGame among other causes&lt;/a&gt;. One person's hit becomes a foundation's budget line.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Question: if your game succeeds, are you prepared to become a patron of your own tools? MonoGame Foundation's donation model only works if winners give back.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What indie devs can steal this week
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Choose the stack you can debug at 2 a.m.&lt;/strong&gt; Barone knew C#. That beat any feature matrix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prototype the save file early.&lt;/strong&gt; Farming sims live or die on serialization, version migration, and multiplayer sync. Test a 100-hour save and an 8-player farm before you polish a single hat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design for Harmony from day one.&lt;/strong&gt; Stable method names, data-driven dialogue, content packs over hard-coded events. If modders cannot hook it, they will rewrite it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target the weakest device you claim to support.&lt;/strong&gt; If Vita and phones are on the slide, profile SpriteBatch draw calls and texture swaps on those GPUs now, not after 1.0.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget for ports as people, not checkboxes.&lt;/strong&gt; MonoGame supports consoles for registered developers, but certification, saves, and input still need humans. Line up port help before launch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Donate upstream if you win.&lt;/strong&gt; Frameworks without royalties survive on reciprocity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Did Stardew Valley start on XNA or MonoGame?&lt;/strong&gt;&lt;br&gt;
It started on XNA-era C# in 2012 and ships as MonoGame. Think of MonoGame as the portable continuation of XNA 4. The engine credit today reads MonoGame.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why not Unity in 2012?&lt;/strong&gt;&lt;br&gt;
Unity 2D was immature, the editor added weight Barone did not need, and C# + SpriteBatch already solved his problem. He also had no budget for licenses and no desire to learn an editor while learning game design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Would Barone pick MonoGame if he started today?&lt;/strong&gt;&lt;br&gt;
Unknown — and that is the interesting part. Godot 4 with C# is the closest modern analog (free, open, 2D-first), Unity still has the best console pipeline, and MonoGame now has Vulkan/DirectX 12 previews. My guess: he would still pick code-first C#, because his advantage is systems thinking, not editor speed. But a new solo dev without C# muscle should test Godot for a month before copying him.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is MonoGame dead?&lt;/strong&gt;&lt;br&gt;
No. Stable 3.8.5.1 shipped August 2026, Vulkan/DirectX 12 previews are active, and the Foundation model replaced volunteer-only maintenance. Small does not mean dead; it means you can read every commit that affects you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need MonoGame to mod Stardew?&lt;/strong&gt;&lt;br&gt;
No. Install SMAPI and follow the Stardew modding wiki. You write C# or JSON content packs; you do not need to build MonoGame itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Stardew Valley did not succeed despite XNA/MonoGame. It succeeded because a dead-simple C# framework let one disciplined developer own a farming simulation for a decade, keep it fast on weak hardware, and leave the DLL door open for modders. The cost — no editor, custom netcode, port help — was real and paid in years.&lt;/p&gt;

&lt;p&gt;If you want to make a cozy systems game that lasts, the lesson is not "use MonoGame." The lesson is: pick boring tech you fully understand, protect the simulation, and treat modders as co-developers. Then stay long enough for boring to look brilliant.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Verification date: October 13, 2026. Engine, sales, XNA discontinuation, MonoGame governance, and SMAPI facts retrieved via HTTP from the sources below. Sales move fast — check the current Stardew Valley page if you read this much later.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>stardewvalley</category>
      <category>monogame</category>
      <category>xna</category>
      <category>csharp</category>
    </item>
  </channel>
</rss>
