<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Dave Ryley | Game Developer</title>
    <link>https://www.daveryley.com/posts/</link>
    <description>Recent content in Posts on Dave Ryley | Game Developer</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Dave Ryley</copyright>
    <lastBuildDate>Fri, 27 Mar 2026 13:55:07 +0000</lastBuildDate><atom:link href="https://www.daveryley.com/posts/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>The Build Engineer</title>
      <link>https://www.daveryley.com/posts/dev-roles-10-build-engineer/</link>
      <pubDate>Fri, 27 Mar 2026 13:55:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-10-build-engineer/</guid>
      <description>&lt;p&gt;Also known as the Platform Engineer / Automation&#xA;Engineer / DevOps Engineer&lt;/p&gt;&#xA;&lt;p&gt;The following is insight into these roles from Tom O&amp;rsquo;Neill, former Build Engineer at Romero Games, and currently Senior Automation &amp;amp; Tools Engineer at HundredStar Games.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;General Sentiment/Overview&#xA;    &lt;div id=&#34;general-sentimentoverview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#general-sentimentoverview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;These roles would be considered the most adaptable and transferrable skill-sets to have when it comes to software development in general, and is the backbone of the games development process.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-10-build-engineer/feature.png" />
    </item>
    
    <item>
      <title>The Tools Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-09-tools-programmer/</link>
      <pubDate>Fri, 27 Mar 2026 13:48:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-09-tools-programmer/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The Tools Programmer &lt;strong&gt;builds the tools that the artists, writers, and designers use to build the game.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Wait, doesn&amp;rsquo;t the game engine already do that for you? Well, yes and no. A Game Engine is a suite of tools that covers the basics of what you should need when building a game, but its impossible to make a set of tools that are tailored to suit every game being developed, and that&amp;rsquo;s where the tools programmer comes in.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-09-tools-programmer/feature.png" />
    </item>
    
    <item>
      <title>The Animation Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-08-animation-programmer/</link>
      <pubDate>Fri, 27 Mar 2026 13:27:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-08-animation-programmer/</guid>
      <description>&lt;p&gt;&lt;em&gt;The following is primarily input and advice from John O&amp;rsquo;Kane, a principal software engineer with years of animation programming experience, with my contributions sprinkled throughout. Enjoy.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;An animation programmer&amp;rsquo;s primary role is to take a character (or object) design and provide the code and systems that will bring it to life.&lt;/p&gt;&#xA;&lt;p&gt;This means a lot of talking with everyone involved:&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-08-animation-programmer/feature.png" />
    </item>
    
    <item>
      <title>The Multiplayer Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-07-multiplayer-programmer/</link>
      <pubDate>Tue, 24 Mar 2026 12:00:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-07-multiplayer-programmer/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The Multiplayer Programmer&amp;rsquo;s job is to make sure the game works reliably across a network. From setting up lobbies and matchmaking, to supporting the shared experience of all players over the course of a match.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve asked Peter Romanovsky, who was the Principal Multiplayer Programmer at Romero Games, to provide his insight into the role.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pros&#xA;    &lt;div id=&#34;pros&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pros&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Why might a student want to pursue this role?&lt;/em&gt;&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-07-multiplayer-programmer/feature.jpg" />
    </item>
    
    <item>
      <title>The Graphics Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-06-graphics-programmer/</link>
      <pubDate>Fri, 20 Mar 2026 11:35:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-06-graphics-programmer/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The Graphics Programmer/Rendering Programmer is responsible for making the game look as good as it possibly can, while also making sure its within the performance budget for the target hardware. This involves working closely with artists to understand the target look and quality of the game, and working to find computationally cheaper solutions that still maintain that level of quality.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-06-graphics-programmer/feature.png" />
    </item>
    
    <item>
      <title>The Audio Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-05-audio-programmer/</link>
      <pubDate>Thu, 19 Mar 2026 11:31:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-05-audio-programmer/</guid>
      <description>&lt;p&gt;&lt;em&gt;For advice on this role I reached out to Joseph Greaney, Senior Audio Programmer at Black Shamrock. The following is his insight and advice on Audio Programming for Games.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What is a Game Audio Programmer?&#xA;    &lt;div id=&#34;what-is-a-game-audio-programmer&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-is-a-game-audio-programmer&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When a sound plays we need to know &amp;ldquo;What Why When Where and How?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;A sound designer might say, &amp;ldquo;A splash sound plays at the player&amp;rsquo;s foot when they step into a puddle.&amp;rdquo; Our job is to make sure it works as expected.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-05-audio-programmer/feature.jpg" />
    </item>
    
    <item>
      <title>The AI Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-04-ai-programmer/</link>
      <pubDate>Mon, 16 Mar 2026 13:31:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-04-ai-programmer/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The Role of an AI Programmer is to work closely with Design and Animation to breathe life into characters that make the world come alive.&lt;/p&gt;&#xA;&#xA;  &#xA;&#xA;&#xA;&#xA;&lt;div&#xA;  &#xA;    class=&#34;flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900&#34;&#xA;  &#xA;  &gt;&#xA;  &lt;span&#xA;    &#xA;      class=&#34;text-primary-400 pe-3 flex items-center&#34;&#xA;    &#xA;    &gt;&#xA;    &lt;span class=&#34;relative block icon&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z&#34;/&gt;&lt;/svg&gt;&#xA;&lt;/span&gt;&#xA;  &lt;/span&gt;&#xA;&#xA;  &lt;span&#xA;    &#xA;      class=&#34;dark:text-neutral-300&#34;&#xA;    &#xA;    &gt;Not to be confused with LLMs or Gen-AI.&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;To achieve this, an AI Programmer will develop systems for Enemies, Allies, and other NPCs (Collectively, &amp;ldquo;Agents&amp;rdquo;). The game will often need systems for:&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-04-ai-programmer/feature.png" />
    </item>
    
    <item>
      <title>The UI Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-03-ui-programmer/</link>
      <pubDate>Fri, 13 Mar 2026 09:30:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-03-ui-programmer/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The UI Programmer works closely with Design and UI Artists, and is responsible for any and all user interfaces seen in the game. This can include,&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start Screen and start game flow&lt;/li&gt;&#xA;&lt;li&gt;Settings Screens&lt;/li&gt;&#xA;&lt;li&gt;The Player HUD&lt;/li&gt;&#xA;&lt;li&gt;Weapon reticules&lt;/li&gt;&#xA;&lt;li&gt;Enemy, Item Indicators&lt;/li&gt;&#xA;&lt;li&gt;Inventory Screens&lt;/li&gt;&#xA;&lt;li&gt;Minimaps&lt;/li&gt;&#xA;&lt;li&gt;Quest/Mission logs&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And any other screens or widgets you can think of.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-03-ui-programmer/feature.jpg" />
    </item>
    
    <item>
      <title>The Gameplay Programmer</title>
      <link>https://www.daveryley.com/posts/dev-roles-02-gameplay-programmer/</link>
      <pubDate>Thu, 12 Mar 2026 09:31:07 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-02-gameplay-programmer/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Overview&#xA;    &lt;div id=&#34;overview&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#overview&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The Gameplay Programmer is the &amp;ldquo;Swiss Army Knife&amp;rdquo; of Game Dev Engineering Roles. While other roles keep to a specialization, the gameplay programmer is defined by its lack of specialization, opting to go wide over deep to bring the other pieces together.&lt;/p&gt;&#xA;&lt;p&gt;As a Gameplay Programmer, you could find yourself working on,&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Player Movement&lt;/li&gt;&#xA;&lt;li&gt;Abilities&lt;/li&gt;&#xA;&lt;li&gt;Tutorial Systems&lt;/li&gt;&#xA;&lt;li&gt;Quest Systems&lt;/li&gt;&#xA;&lt;li&gt;Combat Systems&lt;/li&gt;&#xA;&lt;li&gt;Game Economy Systems&lt;/li&gt;&#xA;&lt;li&gt;Inventory Systems, Weapons and Items&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Just to name a few.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-02-gameplay-programmer/feature.jpg" />
    </item>
    
    <item>
      <title>Engineering Roles in Game Dev</title>
      <link>https://www.daveryley.com/posts/dev-roles-01-intro/</link>
      <pubDate>Mon, 09 Mar 2026 15:00:14 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/dev-roles-01-intro/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Getting into Game Development&#xA;    &lt;div id=&#34;getting-into-game-development&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#getting-into-game-development&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I was approached to do a student talk at the University of Limerick for students of the Games Development course. For context, it&amp;rsquo;s a computer science/engineering course with a focus on games development. I&amp;rsquo;m an alumni myself, graduating in 2019, and have been working in games since then.&lt;/p&gt;&#xA;&lt;p&gt;I asked myself what kind of advice I would give my past self when starting on this road. There&amp;rsquo;s a mountain of skills to learn, technical skills, time management, collaboration, and more. As a student you&amp;rsquo;re relying on the course structure and modules to provide you with the direction you need, but as great as the course was, for me it was missing one thing.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/dev-roles-01-intro/feature.jpg" />
    </item>
    
    <item>
      <title>Hello World</title>
      <link>https://www.daveryley.com/posts/hello-world/</link>
      <pubDate>Tue, 03 Mar 2026 13:56:27 +0000</pubDate>
      
      <guid>https://www.daveryley.com/posts/hello-world/</guid>
      <description>&lt;p&gt;Welcome to the site! This is something I should have put together a while ago, but better late than never.&lt;/p&gt;&#xA;&lt;p&gt;While in typical personal website fashion I&amp;rsquo;m going to be using this to showcase and link to projects I&amp;rsquo;ve worked on, I&amp;rsquo;ll also be using this as a resource for supporting my own (and hopefully others&amp;rsquo;) game development projects and personal growth.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve appreciated and made use of many a game developer&amp;rsquo;s personal efforts in documenting and providing resources for game development (highlighting &lt;a href=&#34;https://benui.ca/&#34; title=&#34;Ben UI&amp;#39;s website&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Ben UI&amp;rsquo;s website&lt;/a&gt; and &lt;a href=&#34;https://github.com/tranek/GASDocumentation&#34; title=&#34;Tranek&amp;#39;s GAS Documentation&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Tranek&amp;rsquo;s GAS Documentation&lt;/a&gt;) and figured it&amp;rsquo;s time I give back.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://www.daveryley.com/posts/hello-world/feature.jpg" />
    </item>
    
  </channel>
</rss>
