<?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: Nathan C.</title>
    <description>The latest articles on DEV Community by Nathan C. (@natuworkguy).</description>
    <link>https://dev.to/natuworkguy</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3939269%2F6de387f3-1d76-481c-beb0-5277cc3a59fe.png</url>
      <title>DEV Community: Nathan C.</title>
      <link>https://dev.to/natuworkguy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/natuworkguy"/>
    <language>en</language>
    <item>
      <title>Pux: Bringing Pygame to Rux</title>
      <dc:creator>Nathan C.</dc:creator>
      <pubDate>Thu, 11 Jun 2026 16:33:36 +0000</pubDate>
      <link>https://dev.to/natuworkguy/pux-bringing-pygame-to-rux-10l0</link>
      <guid>https://dev.to/natuworkguy/pux-bringing-pygame-to-rux-10l0</guid>
      <description>&lt;p&gt;I've been working on a project called &lt;strong&gt;Pux&lt;/strong&gt;, a set of &lt;strong&gt;Pygame bindings for &lt;a href="https://dev.to/natuworkguy/rux-a-modern-systems-programming-language-worth-watching-178o"&gt;Rux&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goal is simple: make it easy to create graphical applications and games in Rux while leveraging the power and maturity of Pygame behind the scenes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;p&gt;Rux already provides a clean and modern programming experience, but graphics and game development are areas where a lot of developers expect batteries included.&lt;/p&gt;

&lt;p&gt;Instead of building an entire graphics stack from scratch, Pux acts as a bridge between Rux and Pygame, allowing Rux programs to access graphics, input, timing, and other game-development features through a familiar API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Features
&lt;/h2&gt;

&lt;p&gt;So far, Pux includes functionality such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Window creation&lt;/li&gt;
&lt;li&gt;Simple event polling&lt;/li&gt;
&lt;li&gt;Drawing rectangles&lt;/li&gt;
&lt;li&gt;Screen clearing&lt;/li&gt;
&lt;li&gt;Frame presentation&lt;/li&gt;
&lt;li&gt;Basic timing and frame control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Pux::{
    pg_init,
    pg_running,
    pg_clear,
    pg_draw_rect,
    pg_present,
    pg_quit,
};

func Main() -&amp;gt; int {
    var x = 0;
    pg_init(
        800,
        700
    );

    while pg_running() == 1 {
        pg_clear(255, 255, 255);

        pg_draw_rect(
            x,
            x,
            200,
            150,
            175,
            175,
            175
        );

        x += 1;

        pg_present();
    }

    pg_quit();

    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Some features I'm considering:&lt;/p&gt;

&lt;p&gt;Drawing circles, lines, and polygons&lt;br&gt;
Text rendering&lt;br&gt;
Image loading and rendering&lt;br&gt;
Keyboard and mouse input helpers&lt;br&gt;
Audio support&lt;/p&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;Pux is still in active development, and contributions are always welcome!&lt;/p&gt;

&lt;p&gt;If you'd like to help improve Pux, feel free to open an issue or submit a pull request. Repo: &lt;a href="https://github.com/Natuworkguy/Pux" rel="noopener noreferrer"&gt;https://github.com/Natuworkguy/Pux&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whether it's bug fixes, new features, documentation improvements, examples, or code cleanup, every contribution helps make Pux better for the entire Rux community.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>programming</category>
      <category>python</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Rux: A Modern Systems Programming Language Worth Watching</title>
      <dc:creator>Nathan C.</dc:creator>
      <pubDate>Wed, 27 May 2026 01:27:16 +0000</pubDate>
      <link>https://dev.to/natuworkguy/rux-a-modern-systems-programming-language-worth-watching-178o</link>
      <guid>https://dev.to/natuworkguy/rux-a-modern-systems-programming-language-worth-watching-178o</guid>
      <description>&lt;p&gt;The programming language ecosystem evolves quickly, but occasionally a new project appears with a genuinely interesting direction. One language that recently caught my attention is Rux.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rux-lang.dev" rel="noopener noreferrer"&gt;https://rux-lang.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rux is a compiled, strongly typed systems programming language focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;native performance&lt;/li&gt;
&lt;li&gt;explicit memory control&lt;/li&gt;
&lt;li&gt;modern syntax&lt;/li&gt;
&lt;li&gt;lightweight tooling&lt;/li&gt;
&lt;li&gt;low-level interoperability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While still in active development, the project already demonstrates a clear vision and a surprisingly polished developer experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  Clean and Readable Syntax
&lt;/h2&gt;

&lt;p&gt;One of the first things that stands out about Rux is its syntax. It feels modern without becoming overly abstract.&lt;/p&gt;

&lt;p&gt;A minimal program looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;func Main() -&amp;gt; int {
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The structure is straightforward and approachable, especially for developers familiar with languages such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;C&lt;/li&gt;
&lt;li&gt;C++&lt;/li&gt;
&lt;li&gt;Rust&lt;/li&gt;
&lt;li&gt;Go&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The language emphasizes clarity and explicit behavior, which is particularly valuable in systems-level development.&lt;/p&gt;




&lt;h2&gt;
  
  
  Real Example
&lt;/h2&gt;

&lt;p&gt;Here is a practical example using functions and formatted output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Std::Io::PrintLine;

func Add(a: int, b: int) -&amp;gt; int {
    return a + b;
}

func Main() -&amp;gt; int {
    let result = Add(10, 32);

    PrintLine("Result: {}", result);

    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The syntax remains concise while preserving strong typing and predictable behavior.&lt;/p&gt;




&lt;h2&gt;
  
  
  Systems Programming Features
&lt;/h2&gt;

&lt;p&gt;Rux is designed for low-level development and includes features commonly expected in systems languages, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pointers&lt;/li&gt;
&lt;li&gt;references&lt;/li&gt;
&lt;li&gt;foreign function interfaces (FFI)&lt;/li&gt;
&lt;li&gt;inline assembly&lt;/li&gt;
&lt;li&gt;direct memory management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;extern func malloc(size: uint) -&amp;gt; *opaque;
extern func free(ptr: *opaque);

func Main() -&amp;gt; int {
    let memory = malloc(64);

    free(memory);

    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes Rux suitable for developers interested in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;operating systems&lt;/li&gt;
&lt;li&gt;game engines&lt;/li&gt;
&lt;li&gt;embedded tooling&lt;/li&gt;
&lt;li&gt;compilers&lt;/li&gt;
&lt;li&gt;performance-critical software&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Strong Type System
&lt;/h2&gt;

&lt;p&gt;Rux includes a broad set of explicit integer and floating-point types.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let small: int8 = 127;
let large: uint64 = 1000000;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The language avoids implicit conversions, encouraging safer and more predictable code.&lt;/p&gt;

&lt;p&gt;That design choice may feel stricter at first, but it helps eliminate a large category of subtle bugs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Lightweight Tooling
&lt;/h2&gt;

&lt;p&gt;Another notable aspect of Rux is its tooling philosophy.&lt;/p&gt;

&lt;p&gt;The toolchain includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compiler&lt;/li&gt;
&lt;li&gt;package manager&lt;/li&gt;
&lt;li&gt;formatter&lt;/li&gt;
&lt;li&gt;project utilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Creating and running a project is simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rux new MyProject
&lt;span class="nb"&gt;cd &lt;/span&gt;MyProject
rux build
rux run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The workflow is refreshingly minimal compared to many modern ecosystems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Development Ecosystem
&lt;/h2&gt;

&lt;p&gt;Rux already includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;documentation&lt;/li&gt;
&lt;li&gt;package management support&lt;/li&gt;
&lt;li&gt;a standard library&lt;/li&gt;
&lt;li&gt;a Visual Studio Code extension&lt;/li&gt;
&lt;li&gt;active GitHub discussions and issue tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The VS Code extension provides syntax highlighting and language support, helping improve the overall developer experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Rux Is Interesting
&lt;/h2&gt;

&lt;p&gt;Many modern languages attempt to simplify development by adding layers of abstraction. Rux appears to take a different approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;remain close to the hardware&lt;/li&gt;
&lt;li&gt;preserve explicit control&lt;/li&gt;
&lt;li&gt;maintain modern ergonomics&lt;/li&gt;
&lt;li&gt;avoid unnecessary complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That balance is difficult to achieve, especially for a newer language project.&lt;/p&gt;

&lt;p&gt;Although Rux is still early in development, it already shows strong technical direction and thoughtful language design decisions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Rux is still evolving, but it is already shaping up to be an impressive systems programming language project.&lt;/p&gt;

&lt;p&gt;If you are interested in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compilers&lt;/li&gt;
&lt;li&gt;systems programming&lt;/li&gt;
&lt;li&gt;language design&lt;/li&gt;
&lt;li&gt;native performance&lt;/li&gt;
&lt;li&gt;low-level software development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;then Rux is absolutely worth exploring.&lt;/p&gt;

&lt;p&gt;Learn more:&lt;br&gt;
&lt;a href="https://rux-lang.dev" rel="noopener noreferrer"&gt;https://rux-lang.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>news</category>
      <category>performance</category>
      <category>programming</category>
      <category>systems</category>
    </item>
    <item>
      <title>I’ve Been Building a Python Game Engine</title>
      <dc:creator>Nathan C.</dc:creator>
      <pubDate>Thu, 21 May 2026 21:10:55 +0000</pubDate>
      <link>https://dev.to/natuworkguy/ive-been-building-a-python-game-engine-54jn</link>
      <guid>https://dev.to/natuworkguy/ive-been-building-a-python-game-engine-54jn</guid>
      <description>&lt;p&gt;I’ve been working on a project called ABS Engine, a Python game engine focused on keeping projects simple and organized.&lt;/p&gt;

&lt;p&gt;Instead of making developers write massive setup code, games are mostly controlled through a project file called &lt;code&gt;game.absp&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It can define things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;entities&lt;/li&gt;
&lt;li&gt;connected scripts&lt;/li&gt;
&lt;li&gt;image assets&lt;/li&gt;
&lt;li&gt;fullscreen settings&lt;/li&gt;
&lt;li&gt;resolution&lt;/li&gt;
&lt;li&gt;cursor visibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example idea:&lt;/p&gt;

&lt;p&gt;Player entity&lt;br&gt;
→ script: scripts/player.py&lt;br&gt;
→ texture: data/images/player.png&lt;/p&gt;

&lt;p&gt;Game settings:&lt;br&gt;
→ fullscreen enabled&lt;br&gt;
→ cursor hidden&lt;br&gt;
→ resolution: 540x320&lt;/p&gt;

&lt;p&gt;Scripts can still access the engine API directly using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;engine.core&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The goal is making game projects easier to structure while still giving advanced users full access to the engine itself.&lt;/p&gt;

&lt;p&gt;I’m also working on build tools so projects can be packaged and shared easily without manually hunting for dependencies and assets.&lt;/p&gt;

&lt;p&gt;Still early in development, but it’s been one of the most fun programming projects I’ve worked on.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/Natuworkguy/ABS-Engine" rel="noopener noreferrer"&gt;https://github.com/Natuworkguy/ABS-Engine&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>gamedev</category>
      <category>gameengine</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
