<?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: Joyming</title>
    <description>The latest articles on DEV Community by Joyming (@joyming).</description>
    <link>https://dev.to/joyming</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%2F4109713%2F972ce459-124e-4c8a-908c-c922097a2757.png</url>
      <title>DEV Community: Joyming</title>
      <link>https://dev.to/joyming</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joyming"/>
    <language>en</language>
    <item>
      <title>A Pure C# Game Engine for indie game developers</title>
      <dc:creator>Joyming</dc:creator>
      <pubDate>Fri, 04 Sep 2026 12:03:40 +0000</pubDate>
      <link>https://dev.to/joyming/a-pure-c-game-engine-for-indie-game-developers-4584</link>
      <guid>https://dev.to/joyming/a-pure-c-game-engine-for-indie-game-developers-4584</guid>
      <description>&lt;p&gt;Hi, I'm Joyming.&lt;/p&gt;

&lt;p&gt;I originally set out to make a game but couldn't find a suitable engine (I used XNA/Monogame in the early days). My requirements were: pure C#, open-source, modern graphics APIs, 2D/3D support, PC/mobile cross-platform, and most importantly, a simple API.&lt;/p&gt;

&lt;p&gt;I wasn't a graphics person before, let alone 3D—I'm mainly a indie game developer. After years of hard work exploring GLTF animations, I finally overcame massive technical challenges this year with the help of AI (performance still needs profiling). I'm sharing my procedural sky, atmosphere, and global illumination demo here.&lt;/p&gt;

&lt;p&gt;One key lesson I've learned along the way: GPU instancing is the most important technique, even for 2D or text rendering. Dynamic lighting, on the other hand, is not a must. For indie games, unique gameplay matters far more than graphical fidelity.&lt;/p&gt;

&lt;p&gt;I've invested a lot of time and resources into this. To be honest, it has been exhausting at times. I'm now thinking about long-term sustainability, possibly using generative AI to help others build games on top of this open-source framework for commercialization.&lt;/p&gt;

&lt;p&gt;Check out the project here: &lt;a href="https://github.com/SeasonRealms/SeasonEngine" rel="noopener noreferrer"&gt;https://github.com/SeasonRealms/SeasonEngine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to discuss the implementation details!&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo1jbxs90ck2r17lalp7s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo1jbxs90ck2r17lalp7s.jpg" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fufm47fbsnca46q983i1e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fufm47fbsnca46q983i1e.jpg" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0of738wo37tetqffz2dg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0of738wo37tetqffz2dg.jpg" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F29t1crhgvcpcj63ufsgw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F29t1crhgvcpcj63ufsgw.jpg" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqkmvwcyo3y16migsdxg6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqkmvwcyo3y16migsdxg6.jpg" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>gamedev</category>
      <category>indie</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
