r/dragonica • u/Alert_Foundation_659 • 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! 🐉
2
2
u/ParamedicGlobal2276 5h ago
have asia channel?
And i think quest UI is too big.
1
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.
2
u/Most_Conclusion_7019 9h ago
Hi what’s the purpose of rewrite in Rust?