<?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: GBoschiero</title>
    <description>The latest articles on DEV Community by GBoschiero (@devgius).</description>
    <link>https://dev.to/devgius</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%2F3342350%2Fbb2013e4-6997-429c-90dc-d685df039be5.jpeg</url>
      <title>DEV Community: GBoschiero</title>
      <link>https://dev.to/devgius</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devgius"/>
    <language>en</language>
    <item>
      <title>🎲 [Dice and Dragons #2]</title>
      <dc:creator>GBoschiero</dc:creator>
      <pubDate>Sun, 27 Jul 2025 12:49:10 +0000</pubDate>
      <link>https://dev.to/devgius/dice-and-dragons-2-3jcj</link>
      <guid>https://dev.to/devgius/dice-and-dragons-2-3jcj</guid>
      <description>&lt;h1&gt;
  
  
  Building a D&amp;amp;D-Style Character System in Unreal Engine – Part 1: Stats and the Character Sheet
&lt;/h1&gt;

&lt;p&gt;Welcome back! In the intro post, we talked about the goals of this series: to recreate a modular, Dungeons &amp;amp; Dragons-inspired character system in Unreal Engine using clean, extensible code architecture.&lt;/p&gt;

&lt;p&gt;Now, it’s time to get to the heart of what makes a character feel alive in games like D&amp;amp;D: &lt;strong&gt;stats&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this post, we’re going to walk through how D&amp;amp;D-style ability scores are structured, and how we’re planning to represent them in Unreal Engine using a dedicated &lt;strong&gt;Actor Component&lt;/strong&gt;. This component will become the foundation for everything that comes later — initiative, hit points, armor class, skill checks, and beyond.&lt;/p&gt;

&lt;p&gt;Let’s dive in.&lt;/p&gt;




&lt;h2&gt;
  
  
  Anatomy of a Character Sheet
&lt;/h2&gt;

&lt;p&gt;When you look at a D&amp;amp;D character sheet, the first thing that jumps out is the &lt;strong&gt;six core ability scores&lt;/strong&gt;. These scores define everything about how your character interacts with the world mechanically. They’re the DNA of the character.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ability&lt;/th&gt;
&lt;th&gt;Abbreviation&lt;/th&gt;
&lt;th&gt;Governs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Strength&lt;/td&gt;
&lt;td&gt;STR&lt;/td&gt;
&lt;td&gt;Physical power, melee attacks, athletics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dexterity&lt;/td&gt;
&lt;td&gt;DEX&lt;/td&gt;
&lt;td&gt;Agility, reflexes, stealth, initiative&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Constitution&lt;/td&gt;
&lt;td&gt;CON&lt;/td&gt;
&lt;td&gt;Endurance, stamina, hit points&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intelligence&lt;/td&gt;
&lt;td&gt;INT&lt;/td&gt;
&lt;td&gt;Logic, memory, arcane knowledge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wisdom&lt;/td&gt;
&lt;td&gt;WIS&lt;/td&gt;
&lt;td&gt;Awareness, insight, perception&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Charisma&lt;/td&gt;
&lt;td&gt;CHA&lt;/td&gt;
&lt;td&gt;Charm, leadership, persuasion, presence&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each score is typically a number between &lt;strong&gt;1 and 20&lt;/strong&gt; for most player characters, though enemies, bosses, or magical creatures may go higher.&lt;/p&gt;

&lt;p&gt;These base scores also translate into &lt;strong&gt;modifiers&lt;/strong&gt;, using a simple formula:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Modifier = floor((Score - 10) / 2)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So a score of 14 gives you a +2 modifier. A score of 8 gives you a -1. These modifiers influence everything from attack rolls to saving throws and ability checks.&lt;/p&gt;




&lt;h2&gt;
  
  
  How We’re Translating This to Code
&lt;/h2&gt;

&lt;p&gt;Instead of hardcoding values into characters, we’re going to build a &lt;strong&gt;modular Actor Component&lt;/strong&gt; that handles these stats independently of any specific class. Think of it like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A &lt;code&gt;UCharStatsComponent&lt;/code&gt; will live on the character and handle their entire stat profile.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This component will store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All &lt;strong&gt;six ability scores&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Their &lt;strong&gt;corresponding modifiers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A method to &lt;strong&gt;recalculate modifiers&lt;/strong&gt; anytime scores change&lt;/li&gt;
&lt;li&gt;A clean API to &lt;strong&gt;add or subtract points&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Integration points for effects, traits, and class features later on&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than scatter all of these as separate variables, we’ll keep them organized inside a custom &lt;code&gt;FStats&lt;/code&gt; struct, which we’ll explore and implement in the next post.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If the component is the &lt;em&gt;engine&lt;/em&gt;, the &lt;code&gt;FStats&lt;/code&gt; struct is the &lt;em&gt;dashboard&lt;/em&gt; — a neat, readable container for all stat-related data.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why Use an Actor Component?
&lt;/h2&gt;

&lt;p&gt;By placing stats in their own component, we gain a lot of design flexibility:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Characters, enemies, NPCs, or even summoned creatures can all share the same logic&lt;/li&gt;
&lt;li&gt;We can inspect and debug stats in isolation&lt;/li&gt;
&lt;li&gt;We can scale the system easily — adding racial bonuses, class traits, or magical modifiers later&lt;/li&gt;
&lt;li&gt;We stay organized, avoiding bloated character classes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This also keeps us aligned with Unreal’s design philosophy: keep Actors lightweight, and move reusable logic into components.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where We’re Going From Here
&lt;/h2&gt;

&lt;p&gt;In the next post, we’ll introduce the &lt;code&gt;FStats&lt;/code&gt; struct, define our &lt;code&gt;EAbility&lt;/code&gt; enum to represent the six core stats, and start building the &lt;code&gt;UCharBaseStatsComponent&lt;/code&gt; from the ground up.&lt;/p&gt;

&lt;p&gt;We’ll also cover how modifiers are calculated automatically anytime scores change, and how we can expose this to both C++ and Blueprints.&lt;/p&gt;

&lt;p&gt;This is the first mechanical building block in our character system — and once it’s in place, the rest (initiative, HP, AC, spellcasting) will snap together like puzzle pieces.&lt;/p&gt;

&lt;p&gt;Stay tuned — and feel free to share how you’re building your own stat systems in Unreal!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Coming Next:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Part 2: Implementing the FStats Struct and Calculating Modifiers&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>unrealengine</category>
      <category>gamedev</category>
      <category>marketplace</category>
      <category>devlog</category>
    </item>
    <item>
      <title>🎲 [Dice and Dragons #1]</title>
      <dc:creator>GBoschiero</dc:creator>
      <pubDate>Sat, 26 Jul 2025 23:28:46 +0000</pubDate>
      <link>https://dev.to/devgius/dice-and-dragons-1-6kj</link>
      <guid>https://dev.to/devgius/dice-and-dragons-1-6kj</guid>
      <description>&lt;h2&gt;
  
  
  This Is Day One
&lt;/h2&gt;

&lt;p&gt;I’ve started this project in my head a hundred times.&lt;br&gt;
Now I’m actually doing it.&lt;/p&gt;

&lt;p&gt;I’m building a fully modular, data-driven D&amp;amp;D 5E-style gameplay system inside Unreal Engine. No half-baked prototype, no “maybe someday” GitHub folder — an actual, functioning toolkit that handles character creation, stats, races, classes, feats, items, spells, combat... the whole thing.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is Dice and Dragons — and this is the very beginning.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Bother?
&lt;/h3&gt;

&lt;p&gt;Because every time I try to make an RPG, a D&amp;amp;D-style stat system, or even just a fun prototype with character progression… I end up rebuilding the same logic over and over again. And every time, I wish I had a clean, reliable base to start from.&lt;/p&gt;

&lt;p&gt;But the options out there are always too specific to one game, too vague to be useful or just kind of a mess under the hood.&lt;/p&gt;

&lt;p&gt;So instead of waiting for someone else to make it, I’m making it myself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Will Be (Eventually)
&lt;/h2&gt;

&lt;p&gt;The goal is a D&amp;amp;D 5E-inspired gameplay system that:&lt;/p&gt;

&lt;p&gt;Uses Unreal's Primary Data Assets to define everything — races, spells, feats, traits, etc.&lt;/p&gt;

&lt;p&gt;Keeps everything modular and flexible — clean components, not tangled Blueprints&lt;/p&gt;

&lt;p&gt;Is developer-friendly, with Blueprint support and readable code&lt;/p&gt;

&lt;p&gt;Can become a Marketplace-ready plugin with documentation and examples&lt;/p&gt;

&lt;p&gt;I want it to feel like a real tool — not just a cool experiment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I’m Starting
&lt;/h2&gt;

&lt;p&gt;Right now, there’s no UI, no characters, no maps — just a clear plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here’s the first goal:
&lt;/h3&gt;

&lt;p&gt;Create the core data structure for races, classes, and traits&lt;/p&gt;

&lt;p&gt;Build a simple Character Editor UI to select those&lt;/p&gt;

&lt;p&gt;Display calculated stats like HP, AC, Speed, and ability modifiers&lt;/p&gt;

&lt;p&gt;If I can make that small piece rock solid, I’ll know the rest can scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Series Is
&lt;/h2&gt;

&lt;p&gt;I’ll be writing devlogs as I build this — showing the process, the decisions, the wins and mistakes. I’m not sharing full source code (this is something I’m planning to sell), but I’ll explain everything I can around the architecture and approach.&lt;/p&gt;

&lt;p&gt;If you’re into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;D&amp;amp;D&lt;/li&gt;
&lt;li&gt;Game systems design&lt;/li&gt;
&lt;li&gt;Unreal Engine development&lt;/li&gt;
&lt;li&gt;Or just want to watch someone build something ambitious in public…&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stick around.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;I’ll be laying the foundation:&lt;/p&gt;

&lt;p&gt;Folder structure and plugin setup&lt;/p&gt;

&lt;p&gt;Basic Race/Class/Trait PDAs&lt;/p&gt;

&lt;p&gt;The first logic pass on the character stat system&lt;/p&gt;

&lt;p&gt;Then I’ll share how it’s coming together in the next post — or what I break and rebuild in the process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Devlog #1&lt;/strong&gt; — complete.&lt;br&gt;
Let me know what you would want from a UE5 D&amp;amp;D template.&lt;br&gt;
&lt;strong&gt;Next:&lt;/strong&gt; getting the first bits of data structure live in-engine.&lt;/p&gt;

&lt;p&gt;Post by Devgius - &lt;em&gt;The Game Dev Llama&lt;/em&gt;&lt;br&gt;
Built in Unreal Engine 5.4&lt;/p&gt;

</description>
      <category>unrealengine</category>
      <category>gamedev</category>
      <category>marketplace</category>
      <category>devlog</category>
    </item>
  </channel>
</rss>
