PMOs 1 Year Anniversary

Published by

on

While going through some of my old posts to look as to why I designed somethings, I noticed June 28th is the first post of me taking on this massive project. It’s always good to reflect on what you’ve done and accomplished and a one year anniversary is a good time to do that!

What I’ve accomplished

I love tables, so here’s a table of what I said is required to build an MMORPG, and what I’ve accomplished so far!

FeatureStatusNotes
Reliable UDP Server/Client CodeAdapted from reliable.io
Encryption/Decryption for Transport Securitylibsodium
Server-side prediction Client-Side PredictionNeed client-side prediction
Serialization/DeserializationHandled by flatbuffers
Area of Interest SystemGeneral implementation is in
TimersHandled by flecs
World PersistenceHandled by flecs
Mesh LoadersHandled by ufbx
World/Landscape MeshesHandled by ufbx
Nav Meshes
Physics EngineHandled by JoltPhysics on server & client
AI for NPCs/mobs
Pathfinding
Ability System
Weather System
Quest System
Group/Guild/Clan/Alliance System
Chat System
World Event System
Outpost/Castle System
Sieging System
Calendar System (for seiging)
Reputation System
Anti-Cheat/Bot Detection

I’m actually pretty happy with my progress, even though one year sounds like a very long time. When I started I barely knew any C++. And now? I still barely know any C++!

But I have learned a ton about writing C++ code that works for both linux & windows and all the various pit falls of memory management. I’ve still got a long ways to go, and many refactors to do as I learn more.

While I was hoping to have multiple clients interacting at this point, I do feel like I’m extremely close. Which means I’ll have the majority of the major “important” systems in place.

  • Networking, Physics, Interest Management and World State

I’m still excited to see where this goes and can’t wait until I have it in a playable state where I can really start to build out my own virtual world. For those readers who have been following along, thanks for your time, I hope you get even a fraction of what I am getting out of this!

Previous Post
Next Post