<?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: evangelos dimopoulos</title>
    <description>The latest articles on DEV Community by evangelos dimopoulos (@evangelos_dimopoulos_f321).</description>
    <link>https://dev.to/evangelos_dimopoulos_f321</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%2F4211552%2F29f766d5-3140-4866-9618-87004a46425a.png</url>
      <title>DEV Community: evangelos dimopoulos</title>
      <link>https://dev.to/evangelos_dimopoulos_f321</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/evangelos_dimopoulos_f321"/>
    <language>en</language>
    <item>
      <title>Building a route-chaining block puzzle in Unreal Engine 5.8 with C++</title>
      <dc:creator>evangelos dimopoulos</dc:creator>
      <pubDate>Tue, 27 Oct 2026 19:30:32 +0000</pubDate>
      <link>https://dev.to/evangelos_dimopoulos_f321/building-a-route-chaining-block-puzzle-in-unreal-engine-58-with-c-2k2i</link>
      <guid>https://dev.to/evangelos_dimopoulos_f321/building-a-route-chaining-block-puzzle-in-unreal-engine-58-with-c-2k2i</guid>
      <description>&lt;p&gt;We're a small team of gamers with mixed coding backgrounds, and we just released a free demo of our first game, &lt;strong&gt;Wyrd Hands: Block Puzzle&lt;/strong&gt; (Windows, Linux, Android). This post is about how it's built, not about the game itself, so here is the short version first: every tile carries a skeleton hand pointing up, right, down or left, and you chain the hands from one edge of the board to the other to clear a route.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://oakwyrdtales.itch.io/wyrd-hands-block-puzzle" rel="noopener noreferrer"&gt;Demo and downloads on itch.io&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The rule that makes it a puzzle
&lt;/h2&gt;

&lt;p&gt;A tile on the edge of the board that points away from the side it touches is a &lt;em&gt;route starter&lt;/em&gt;. One that points straight at a side it touches is a &lt;em&gt;route ender&lt;/em&gt;. A chain of tiles that each point at the next, from a starter to an ender on the far side, clears and scores. Routes that share tiles score extra.&lt;/p&gt;

&lt;p&gt;That's the whole mechanic. The board logic is a small amount of C++: find starters, follow the pointing direction tile by tile, and stop when the chain breaks or reaches an ender. Most of the work was in everything around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A UI built entirely in C++
&lt;/h2&gt;

&lt;p&gt;We build the UI (UMG widgets) from C++ instead of designing it in the editor. Menus, the riddle cards, the score and combo badges and the play-size card are all created in code. For a small team this keeps layout changes reviewable as diffs and lets us change a screen from the command line. We also added debug commands that open a given screen directly, which made testing phone layouts fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  A bot that plays the game
&lt;/h2&gt;

&lt;p&gt;The project has a built-in bot, started with a &lt;code&gt;-demo&lt;/code&gt; flag, that plays the game itself. We use it three ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;recording gameplay for trailers&lt;/li&gt;
&lt;li&gt;balancing, by watching how far it gets on different board sizes&lt;/li&gt;
&lt;li&gt;performance, because a bot gives you a repeatable run: on a tablet in landscape, a bot-played Halloween event run held a median of 29 fps (minimum 26.5)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Phones are a different game
&lt;/h2&gt;

&lt;p&gt;On Android we switch to a lightweight scene. The cathedral background is a single pre-rendered picture, made from the real scene with a capture command. The bats and steam are flat animated sprites, and the 3D resolution drops by itself when the frame rate falls. Phones and tablets are capped at 30 fps. On one 720x1640 phone that measured about a fifth less power while playing, 383 mA against 491 mA uncapped.&lt;/p&gt;

&lt;p&gt;The PC version keeps the real thing: Lumen global illumination and reflections, virtual shadow maps and TSR, with a low-graphics option for weaker machines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Content tools that aren't Unreal
&lt;/h2&gt;

&lt;p&gt;Campaigns (a sequence of levels with goals, timers and curated piece orders) are plain JSON files that the game reads at launch, so a new level can be tried without rebuilding. We also wrote a standalone HTML editor for them that opens in any browser with no install.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we'd like to hear
&lt;/h2&gt;

&lt;p&gt;This is a demo and feedback is the point. Does the tutorial explain routes well enough? Is the difficulty fair? What was your first impression, and how did it make you feel?&lt;/p&gt;

&lt;p&gt;If you want to try it: &lt;a href="https://oakwyrdtales.itch.io/wyrd-hands-block-puzzle" rel="noopener noreferrer"&gt;oakwyrdtales.itch.io/wyrd-hands-block-puzzle&lt;/a&gt;. A trailer is &lt;a href="https://www.youtube.com/watch?v=OGzqe-cff-Q" rel="noopener noreferrer"&gt;on YouTube&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: some of the art and text in the game and this post was made with AI assistance.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>unrealengine</category>
      <category>cpp</category>
      <category>indiedev</category>
    </item>
  </channel>
</rss>
