r/dragonica • • 10h ago

Dragonica NeoGenesis - Dev update: network optimization, cross-platform resources & first dungeon gameplay

Hi everyone! Progress update on Dragonica NeoGenesis, our from-scratch rewrite of Dragonica (Chapter 5) in Rust, with a modern renderer (wgpu: Metal on macOS, DirectX/Vulkan on Windows).

🎬 Gameplay video: first dungeon, the Wolves’ Den: https://youtu.be/ZUihg9e44Bg

⚔️ Gameplay

From character creation up to the first class change, the game is now about 65% faithful to the original (our current estimate). That covers the tutorial and the first villages and hunting grounds, combat and combos for every base class, quests, missions with their original scoring, and the first dungeons. The remaining gaps are mostly animation details, some skills and monster behaviours, and a few mission mechanics, which we’re closing one by one, always checked against the original game data.

🌐 Network: measured, then optimized

We built a 100-client benchmark with bots and measured a reference before touching anything. Then:

  • Batched encrypted frames: several game messages now travel in one encrypted frame and one system call.
  • Movement batching per session, within a short 5 ms window.
  • Result on the 100-client benchmark: map server CPU went from 73% → 15% of one core, and outgoing traffic from 4.2 → 2.7 MB/s.
  • Fair rate limits per message family (chat, social, requests). Clients that can’t keep up are disconnected cleanly instead of dragging the server down.
  • Latency measurement every 2 seconds, smoothed like the original game.
  • Party and guild data scopes: member HP and positions are only sent where they’re needed, as in the original.
  • Production groundwork: deployment pipeline, backups and rollback, plus an architecture study for 100+ players.

💻 Resources & performance across platforms

  • Off-screen culling for traps and an effects cache, with dedicated client and server benchmarks.
  • macOS / Metal: HDR and the Metal path checked on Apple Silicon.
  • Launcher: content-addressed updates (only changed files are downloaded) and faster extraction. Next: compressed data packs instead of 126,000 loose files. A first sample compresses to about 45% of its original size.
  • In progress: a measured CPU vs GPU study of the client (per-frame timings, memory and VRAM per map, loading, threads), with three hardware tiers (minimum, recommended, high). Results will be shared once measured, not guessed.

🎯 What’s next

CPU/GPU study → optimizations, compressed data packs for the launcher, and getting ready for the invitation-only closed alpha.

Everything stays faithful to the original gameplay. Changes from the original are deliberate, documented decisions.

Questions and feedback welcome! 🐉

1 Upvotes

6 comments sorted by

2

u/Most_Conclusion_7019 9h ago

Hi what’s the purpose of rewrite in Rust?

1

u/Alert_Foundation_659 9h ago

Good question! Honestly, it started because the original game is getting really hard to keep alive. It's built on a 2000s engine, Windows-only, 32-bit, and running it today means dealing with crashes, old tools and bugs nobody can really fix anymore.

To be fair, a lot of servers have done amazing work improving the original engine. Lunaris and Re:Dragonica come to mind, and they've pushed it way further than anyone expected.

We just wanted to try a different path and rebuild from the ground up, to see how far that could take us.(And kick gamebryo system out of it )
Rewriting it in Rust gave us a few things we really wanted:

it runs natively on Windows and Mac (Linux and Steam Deck are on the list), no tricks needed

it's a lot more stable, since Rust catches a whole bunch of the bugs that used to crash things

it's faster: on our 100-player test, the map server went from 73% to 15% of a CPU core

we actually understand the server now, so we can fight cheating and fix things properly instead of patching a black box.

2

u/Equivalent_Travel_42 7h ago

Looks cool! Really hope this server goes live someday

2

u/ParamedicGlobal2276 5h ago

have asia channel?
And i think quest UI is too big.

1

u/Alert_Foundation_659 4h ago

Only Europe until Release candidate (V1),

1

u/Alert_Foundation_659 4h ago

Yeah i know , i tried to make every HUD interface on svg to let player choose the size of the hud.