⚔️ FateMMO Game Engine v2 #5
wFate
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The open-source
FateDemobuild now ships with the same editor-runtime control loop the proprietary game uses everyday — Play / Pause / Resume / Stop, Observe Mode, a Scene dropdown, a File menu, and Ctrl+S
atomic-write saves.
📦 Download
FateMMO_Demo_v2.zipbelow — no build required.🌐 FateMMO.com · 🎬 YouTube Showcase
🎬 What's New in v2
state mid-session.
Wire your own handler via
AppConfig::onObserveStart/onObserveStopto swap in a network-spectate flow.assets/scenes/*.jsonfrom the toolbar; transitions are gated against in-flightPlay state.
📁 File Menu + Ctrl+S
engine/core/atomic_write.{h,cpp}::writeFileAtomic—.tmp+ rename,parent-dir auto-create, copy+remove fallback for cross-volume targets, tmp cleanup on failure.
🌳 Quest Trees & Interact-Sites
ObjectiveType::Interactprogresses via player click on cairns / altars / shrines,sets
CharacterFlagsComponentflags, and triggers first-visit / revisit dialogue nodes.50-65).
(5 + reqLvl×2 + chainLen×10) × tierMul.(75) → Loresworn (80) → Bearer of Stories (100) → Hand of Fate (150).
🎨 UI Overhauls
BountyPanel— Active / My Bounties / History tabs, Place Bounty modal, surfaced via interact-site BountyBoards in all 4 faction villages.
FriendsPanel— Friends / Requests / Blocked tabs with inline Whisper / Party-invite / Remove / Accept /Decline / Cancel / Unblock actions.
GauntletHUD+GauntletResultModal— live Wave/Score/Rank/Time HUD plus top-10 leaderboard on match end.DialogueAction::OpenScreen— dialogue trees can open any UI screen client-side.🔒 Protocol v12 — Hardened
auth_sessions(mig 089) with PostgresLISTEN/NOTIFY session_kickedcross-process kick —multi-process deployment ready.
CmdAuthProof(0xD8) — auth token never rides plaintext.AuthPhasestate machine (HandshakePending → ProofReceived → Authenticated) gates non-system handlers.CharacterFlagsclient mirror (SvCharacterFlagsSnapshot+SvCharacterFlagDelta) so dialogueHasFlagconditions evaluate locally.
SvEntityEnterBatchcoalesce,CmdAckExtendedout-of-window recovery, 9-opcodecritical-lane bypass.
📦 Pluggable VFS
IAssetSourceabstraction withDirectFsSource(loose files) andVfsSource(PhysicsFS-backed.pakoverlay).
option(FATE_USE_VFS …)so behavior is byte-identical until per-platform flip.⚡ Performance & Reliability
MetricsCollectorsync DB → asyncDbDispatcher(eliminated ~6.5s mob-freeze stutter).MAX_STACK_SIZE = 9999global removed — per-itemmax_stackhonored everywhere; oversized drops split acrossslots.
ArchetypeStoragereserve 256 → 4096 (relogin crash fix).📊 Stats
🚀 Quick Start
All reactions