<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Astronaut Entertainment Dev Blog]]></title><description><![CDATA[Astronaut Entertainment Dev Blog]]></description><link>https://astentgames.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6acf5bcd2b8eed7aae23f9e5/b3efa9a9-d3f7-408b-9013-c850fed75001.png</url><title>Astronaut Entertainment Dev Blog</title><link>https://astentgames.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 16 Oct 2026 06:46:56 GMT</lastBuildDate><atom:link href="https://astentgames.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[One world, five platforms: notes from building a cross-platform MMORPG on Unreal Engine 5.8]]></title><description><![CDATA[We are Astronaut Entertainment, a small independent studio from Türkiye. Our project, Ancient Online: Remastered, is a classic eastern-fantasy empire MMORPG rebuilt on Unreal Engine 5.8 for Windows, L]]></description><link>https://astentgames.hashnode.dev/one-world-five-platforms-notes-from-building-a-cross-platform-mmorpg-on-unreal-engine-5-8</link><guid isPermaLink="true">https://astentgames.hashnode.dev/one-world-five-platforms-notes-from-building-a-cross-platform-mmorpg-on-unreal-engine-5-8</guid><category><![CDATA[GameDev]]></category><category><![CDATA[unreal-engine]]></category><category><![CDATA[MMORPG]]></category><category><![CDATA[multiplayer]]></category><dc:creator><![CDATA[Astronaut Entertainment]]></dc:creator><pubDate>Wed, 14 Oct 2026 10:46:02 GMT</pubDate><content:encoded><![CDATA[<p>We are Astronaut Entertainment, a small independent studio from Türkiye. Our project, Ancient Online: Remastered, is a classic eastern-fantasy empire MMORPG rebuilt on Unreal Engine 5.8 for Windows, Linux, macOS, Android and iOS. It is still in development. This post is about the handful of technical decisions that shaped everything else.</p>
<h2>1. One world means the server owns the truth</h2>
<p>Players on a phone and players on a desktop stand in the same field and fight the same monsters. That only works if no client is trusted. Our game server is authoritative: it runs the simulation at a fixed tick of 25 times per second, and every client is a view onto that state.</p>
<p>The server is our own C++ code, not an Unreal dedicated server. Unreal is the client: rendering, animation, input and interface. Keeping the two apart let us run the world on small Linux machines and kept gameplay rules out of the engine's reach.</p>
<h2>2. Movement is decided by the server</h2>
<p>Movement was the hardest part to get right. The server decides where a character is; the client interpolates towards that position. Getting this to feel responsive on a touch screen over a mobile connection took more iterations than any other system, and it is the reason we rewrote our movement protocol once already.</p>
<h2>3. Client and server share the same definitions</h2>
<p>Packet layouts and the gameplay constants both sides must agree on (movement speeds, skill ranges and so on) live in a small set of headers compiled into both the client and the server. When a value changes, it changes in one place. This removed a whole class of bugs where the client showed one thing and the server enforced another.</p>
<h2>4. Persistence stays off the hot path</h2>
<p>The simulation never waits for the database. Changes are queued and written behind the tick to PostgreSQL, with Redis carrying the queue between processes. The world runs as several channel processes behind a gateway that handles login and sessions. Quests are scripted in Lua, so content can change without rebuilding the server.</p>
<h2>5. One interface for mouse, touch and controller</h2>
<p>The interface is built natively in the engine's UI framework instead of a web layer. It costs more to build, but the same windows work with a mouse, a finger or a gamepad, and they stay cheap to draw on a phone.</p>
<h2>6. A rule that constrains design: no pay-to-win</h2>
<p>Power cannot be bought with real money in any game we make. The in-game shop offers only cosmetics and convenience items, never combat power. This is not only a business decision; it removes entire categories of items and systems from the design, and that makes balance easier to reason about.</p>
<h2>Where we are</h2>
<p>Internal builds run on all five platforms and the game is localized into 30 languages. There is no public download and no release date yet.</p>
<p>Game site: <a href="https://ancient.astent.games/">https://ancient.astent.games/</a><br />Studio: <a href="https://astent.games/">https://astent.games/</a></p>
<p><em>Disclosure: this post was written with the help of an AI assistant. Originally published on</em> <a href="https://medium.com/@astentgames/one-world-five-platforms-notes-from-building-a-cross-platform-mmorpg-on-unreal-engine-5-8-1232f768990c"><em>Medium</em></a><em>.</em></p>
]]></content:encoded></item></channel></rss>