<?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: Fervo</title>
    <description>The latest articles on DEV Community by Fervo (@fervogame).</description>
    <link>https://dev.to/fervogame</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%2F4189679%2F64026071-fd91-4dc4-b4f8-7b5690751d99.png</url>
      <title>DEV Community: Fervo</title>
      <link>https://dev.to/fervogame</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fervogame"/>
    <language>en</language>
    <item>
      <title>Why six forts fight at once: the design of Ringfort</title>
      <dc:creator>Fervo</dc:creator>
      <pubDate>Sat, 17 Oct 2026 02:33:07 +0000</pubDate>
      <link>https://dev.to/fervogame/why-six-forts-fight-at-once-the-design-of-ringfort-2db1</link>
      <guid>https://dev.to/fervogame/why-six-forts-fight-at-once-the-design-of-ringfort-2db1</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://fervogame.com/blog/why-six-forts-fight-at-once/" rel="noopener noreferrer"&gt;Fervo&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A devlog on &lt;a href="https://fervogame.com/games/ringfort/" rel="noopener noreferrer"&gt;Ringfort&lt;/a&gt;'s core idea: a ring of six forts that all fight at the same time, and the design choices that idea forced on us.&lt;/p&gt;

&lt;p&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%2Fckzc5z7qnf1z6o6rbxiz.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%2Fckzc5z7qnf1z6o6rbxiz.jpg" alt="Ringfort key art: a ring of hill forts at sunset with fire arrows arcing between them" width="799" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most auto-battlers are a duel. You build, someone else builds, the two boards collide, one of you wins. Ringfort starts from a different shape: a &lt;strong&gt;ring&lt;/strong&gt;. Six forts sit in a circle, and every round all six fight at the same time. Your left neighbour hits you, your right neighbour hits you, and you hit both of them back.&lt;/p&gt;

&lt;p&gt;This post is about why we chose that shape and what it changed. Everything else in the game follows from it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four ideas in the pot
&lt;/h2&gt;

&lt;p&gt;Ringfort began as a short list of ideas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Five to ten seconds of footage should be enough to see why it's fun.&lt;/strong&gt; Any round, any fight. Social video is how small games get found now, so the game has to make good clips on its own.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No tutorial.&lt;/strong&gt; The path through the game should be so clear that you learn it by playing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A ring of players, joined end to end.&lt;/strong&gt; Everyone is both attacker and target. Win, and you discover you're standing in a bigger ring, which gives you an endless mode for free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opponents that grow.&lt;/strong&gt; Most async games freeze an opponent's power at one moment. A ring needs opponents who level up alongside you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The ring was the idea that tied the others together. It's the battlefield, it's the progression, and it's an image you recognise in one glance in a clip.&lt;/p&gt;

&lt;h2&gt;
  
  
  The version we threw away
&lt;/h2&gt;

&lt;p&gt;An early proposal split your fort in two: a raiding party to hit the fort on one side, walls to hold off the fort on the other. On paper it was richer. Every item asked "attack or defend?", aimed at two different opponents.&lt;/p&gt;

&lt;p&gt;We cut it. Choosing between attack and defence is a natural source of agonising. Some agonising is good, but this kind gets in the way of the fun. So Ringfort has &lt;strong&gt;one lineup that fights both neighbours at once&lt;/strong&gt;. It's head-on combat, all the time. The hard decisions moved to where they belong: what to buy, and how to arrange it.&lt;/p&gt;

&lt;p&gt;That became the rule for the whole design. Put the hard thinking in the build. Make the battle a payoff you get to watch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everyone fights at once
&lt;/h2&gt;

&lt;p&gt;When all six forts fight at the same moment, timing starts to matter in ways a duel doesn't have. Damage lands when the projectile arrives, not when it's fired. Different races throw things at different speeds: beasts are quickest at 0.2 seconds of travel, then humans (0.3), elves (0.4), dwarves (0.5), undead (0.6), and orcs, the slowest, at 0.8. Fire and poison take their own time, and soldiers march along the road between forts.&lt;/p&gt;

&lt;p&gt;If your target falls before your shot arrives, the shot misses. If you fall, anything you already fired still lands. When a fort's walls hit zero, it's out, and &lt;strong&gt;the ring tightens&lt;/strong&gt;: you now face whoever stood beyond it. Knocking out a neighbour isn't a clean win. It brings you a new, often stronger, neighbour. The last fort standing is crowned and moves up.&lt;/p&gt;

&lt;h2&gt;
  
  
  You can see the fight coming
&lt;/h2&gt;

&lt;p&gt;In a one-on-one auto-battler you usually build blind. In Ringfort, while you shop you can see &lt;strong&gt;what your neighbours are fielding this round&lt;/strong&gt;. You have exactly two problems, both in plain view, and one set of eight wall slots to answer both.&lt;/p&gt;

&lt;p&gt;The tools for that answer come in two families, and you can follow either one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Race bonds.&lt;/strong&gt; Humans, Elves, Dwarves, Orcs, Undead and Beasts each gain a rule at 3, 6 and 8 items of one race. Eight different items with six or more stars between them make a Legendary bond, and six duo bonds unlock combos between two races.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-race styles.&lt;/strong&gt; Weapon, Shield, Fire, Poison, Control, Command, Repair and Economy items grant bonuses at 2, 4 and 6 of a type, whatever their race. Run several at once and they resonate.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each item acts on its own cooldown: arrows, fire, poison, freezing foes, shields, repairs, boosting allies. You place them and then the battle plays itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cattle
&lt;/h2&gt;

&lt;p&gt;Ringforts are real. Tens of thousands of their remains still dot the Irish landscape: circular earthworks that once enclosed farmsteads. Ireland's great epic, the &lt;em&gt;Tain Bo Cuailnge&lt;/em&gt;, is literally a cattle raid, and in early Irish society cattle were how wealth was counted. So in Ringfort you spend cattle to buy items.&lt;/p&gt;

&lt;p&gt;We didn't need a heavy Irish setting, just the bones of one: forts on a ring, cattle as currency, and kingship that climbs from small to high.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rings inside rings
&lt;/h2&gt;

&lt;p&gt;Win a ring and you move up to the next one. From ring 2 on, everyone you face was crowned in another ring, and some of them are seasoned veterans. With three or two forts left, the fight turns into a showdown. Climb six rings to become High King.&lt;/p&gt;

&lt;p&gt;We wanted the progression to feel like a camera pulling back: you win your valley and find out the valley was just one fort in something bigger.&lt;/p&gt;

&lt;h2&gt;
  
  
  About your opponents
&lt;/h2&gt;

&lt;p&gt;Ringfort is asynchronous, so you never need anyone else online. To be upfront: for now, the forts you face are simulated player snapshots with made-up names, drawn at random from tens of thousands each run. We match them to your strength at the start of each ring, so a lucky draw doesn't hand you an impossible elite. Once online play opens, they'll be replaced by lineups left by real players.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ten-second test
&lt;/h2&gt;

&lt;p&gt;We keep coming back to the first idea: could a stranger understand a random ten-second clip? A ring of six forts, every one of them shooting at once, walls dropping and the ring closing in, passes that test better than anything else we tried. It's the reason the game exists.&lt;/p&gt;

&lt;p&gt;Ringfort is coming soon. The store page isn't public yet. Follow along on the &lt;a href="https://fervogame.com" rel="noopener noreferrer"&gt;Fervo site&lt;/a&gt; and we'll post the wishlist link the day it goes live. More about the game is on the &lt;a href="https://fervogame.com/games/ringfort/" rel="noopener noreferrer"&gt;Ringfort page&lt;/a&gt;. Press notes and assets are on the &lt;a href="https://fervogame.com/press/" rel="noopener noreferrer"&gt;press page&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is a crosspost. The original lives at &lt;a href="https://fervogame.com/blog/why-six-forts-fight-at-once/" rel="noopener noreferrer"&gt;fervogame.com/blog/why-six-forts-fight-at-once&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>godot</category>
      <category>gamedev</category>
      <category>design</category>
      <category>indiedev</category>
    </item>
    <item>
      <title>An incremental game where art and music are generated by code</title>
      <dc:creator>Fervo</dc:creator>
      <pubDate>Sat, 17 Oct 2026 01:08:32 +0000</pubDate>
      <link>https://dev.to/fervogame/an-incremental-game-where-art-and-music-are-generated-by-code-1i2j</link>
      <guid>https://dev.to/fervogame/an-incremental-game-where-art-and-music-are-generated-by-code-1i2j</guid>
      <description>&lt;p&gt;One Mote is an incremental game I am making at &lt;a href="https://fervogame.com" rel="noopener noreferrer"&gt;Fervo&lt;/a&gt;, a two-game indie studio. It is not released. It is coming soon to Steam, with no date and no price announced, and there is no store page to wishlist yet. This note is about the constraint that shapes the whole game: there are no art files and no music files. What you see and what you hear is produced by the game's own code while it runs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Procedural, not generative AI
&lt;/h2&gt;

&lt;p&gt;The words get mixed up, so here is the plain version. One Mote does not use an image model or a music model. Procedural generation here means ordinary code following rules: draw a glow when a crystal is reached, play a note when light arrives at the core. Nothing on screen was painted ahead of time, and nothing in the soundtrack was bounced to a file.&lt;/p&gt;

&lt;p&gt;Our other game, Ringfort, does use some pre-generated AI art and music, and we say so on that page. Two games, one rule: say how it was made. For One Mote the disclosure is none.&lt;/p&gt;

&lt;h2&gt;
  
  
  The picture is the network
&lt;/h2&gt;

&lt;p&gt;You start with one mote of light. Click the crystals around it and their light flows home. Collectors, Relays, and Prisms grow a web, ring by ring, until it fills the dark. Crystals light up as the network reaches them. When you collapse the web, the whole thing folds into a single star.&lt;/p&gt;

&lt;p&gt;The starfield behind that is a shader, not a painted backdrop. Because nothing is a pre-drawn image, the map looks like the network you actually built.&lt;/p&gt;

&lt;h2&gt;
  
  
  The same state is the soundtrack
&lt;/h2&gt;

&lt;p&gt;There is no pre-recorded music. Light that reaches the core is turned into notes and played live. A small network is a sparse line. A busy one fills in. Under the hood it is a small synthesizer in parts: bass, a pad, a melody, and inner voices.&lt;/p&gt;

&lt;p&gt;A few details that took longer than the first melody:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each run picks its key from a seed. The star field's traits choose the chord movement. Calm fields keep a steadier progression. Dense, sparse, dark, and Deep Sky fields open it up or lean darker.&lt;/li&gt;
&lt;li&gt;Resonators chime on the beat. Crystals in range light up together, and when they ring out a bell joins the music.&lt;/li&gt;
&lt;li&gt;Idle games stay open for hours. Voices fade over their last few milliseconds instead of clicking when a note is cut off. Looping parts finish a whole cycle before they repeat. A limiter keeps a late-game web from clipping.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the code has to serve
&lt;/h2&gt;

&lt;p&gt;The structure is the same idea at three scales. Build a network out across crystal bands, where further rings are worth more and cost more. Collapse it into a star. Stars fill constellations, and a finished constellation unlocks buildings, crystal rings, field traits, or a permanent perk. Three handcrafted galaxies come first: The First Light, The Spiral, and The Binary, with their own terrain (comets, gravity wells, wormholes, a companion core, and so on). It is six or more hours to the true ending.&lt;/p&gt;

&lt;p&gt;After that, Deep Sky is an endless descent through generated fields. Anomalies stack: black holes, nebulae, thin space, drifting crystals, solar wind. Later constellations need stars from down there, so the story path and the endless path feed each other.&lt;/p&gt;

&lt;p&gt;Self-Growth can build the network for you, including while you are away. Or you place every link yourself. It is mouse-driven either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where things stand
&lt;/h2&gt;

&lt;p&gt;This is a devlog from the coming-soon stage, not a launch post. When the Steam page exists, the link will go up on &lt;a href="https://x.com/Fervo_Q7Q" rel="noopener noreferrer"&gt;X&lt;/a&gt; the same day.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Game page: &lt;a href="https://fervogame.com/games/one-mote/" rel="noopener noreferrer"&gt;One Mote&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Studio: &lt;a href="https://fervogame.com" rel="noopener noreferrer"&gt;fervogame.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Press kit: &lt;a href="https://fervogame.com/press/" rel="noopener noreferrer"&gt;fervogame.com/press&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The longer design note this devlog is adapted from lives on the studio blog: &lt;a href="https://fervogame.com/blog/one-mote-a-game-drawn-entirely-by-code/" rel="noopener noreferrer"&gt;One Mote: an incremental game drawn and scored entirely by code&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>gamedesign</category>
      <category>gamedev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
