<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ecs on Lorbic</title>
    <link>https://lorbic.com/tags/ecs/</link>
    <description>Recent content in Ecs on Lorbic</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 08 Aug 2026 10:00:00 +0530</lastBuildDate>
    <atom:link href="https://lorbic.com/tags/ecs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Part 4: Refactoring to SoA ECS: Bitmasks and Flat Component Arrays</title>
      <link>https://lorbic.com/structure-of-arrays-ecs-bitmasks-golang/</link>
      <pubDate>Sat, 08 Aug 2026 10:00:00 +0530</pubDate>
      <guid>https://lorbic.com/structure-of-arrays-ecs-bitmasks-golang/</guid>
      <description>&lt;p&gt;When I started building &lt;em&gt;Derelict Facility&lt;/em&gt;, my initial instinct for game actors was standard Object-Oriented design: create an &lt;code&gt;Entity&lt;/code&gt; struct, add pointers for position, sprite, and stats, and store them in a slice (&lt;code&gt;[]*Entity&lt;/code&gt;).&lt;/p&gt;&#xA;&lt;p&gt;It worked fine for five entities. But as soon as I added automated doors, save terminals, and active power grids across a 1000-tile map, keeping track of separate heap pointers became a headache. My Go profiler showed GC pauses spiking while the CPU spent more time chasing heap pointers across non-contiguous memory than actually updating game state.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
