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 Code✅Adapted from reliable.io
Encryption/Decryption for Transport Security✅libsodium
Server-side prediction Client-Side Prediction❌Need client-side prediction
Serialization/Deserialization✅Handled by flatbuffers
Area of Interest System✅General implementation is in
Timers✅Handled by flecs
World Persistence✅Handled by flecs
Mesh Loaders✅Handled by ufbx
World/Landscape Meshes✅Handled by ufbx
Nav Meshes❌
Physics Engine✅Handled 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