Tag: mmorpg
-
Flecs Script Based Abilities, Behavior Trees and Combat

As my vacation is nearing an end here, I wanted to cover what I’ve been up to. This is something I’ve wanted to do for a long time. Which is build out a custom, composable ability system (like Unreal’s Gameplay Ability System) and then build a bunch of bots to…
-
Netcode optimizations for MMORPGs

This is more of a brain dump post than an implementation devlog post. I want to write down my thoughts and figure out a series of improvements I can make to my netcode before I actually implement it. There are some pretty unique challenges that MMOs face that just aren’t…
-
Networked Equipment Events

While I’ve been slowly dealing with the fallout of fixing my remapping server id’s, I’ve also been trying to get networked equipment events to work. This allows other players to see players in the area equipping new items such as weapons. It all starts in UE5. A user opens up…
-
Spiking the Inventory System

It is quite refreshing working on something other than netcode. This post is going to go into a bit of detail on how I plan on laying out the UE side of the inventory system. The flecs inventory system was adopted from the example flecs system. The flecs side of…
-
Calculating Root Motion, Server Side

New Year, new post! In my last post I was able to extract all the root motion data from the animation sequences I bought. I still need to apply that motion data to my characters on both the server and the client. This post will cover what it takes to…
-
Extracting and Evaluating Animation Data

I treated myself to an early x-mas gift of buying a bunch of stock animations from the fab.com store. I bought four packs, Sword and Shield (also comes with 2H animations), Spear and Shield, Mage, and Bow & Arrow. As a bonus, these animation packs came with a pre-wired animgraph…
-
Healthbars

Ahh UI stuff, not going to lie I don’t really enjoy it, it’s a lot of wiring up and glue code, but it’s what makes your game actually look good and have a good UX so you got to do it. I usually default to doing whatever benui and his…
-
Damage, Death, and Respawns

I’ll admit I’ve been slacking quite a bit here since I’ve become horribly addicted to Valve’s new MOBA deadlock. It has quite possibly one of the best combat systems I’ve played, and definitely ever for a MOBA. That being said, I’m still chugging away on my game. I try to…
-
Combat Part 3 of N (getting animations in)

Now that our input is handled, it’s time to get some animations in to see our character making their attack. This requires quite a few additional steps, along with some changes I wanted to make. The process was as follows: And with that, let’s begin! Getting animations from mixamo If…
-
Combat Part 2 of N (wiring up Input handling in UE5)

In the last post I had the concept of combat implemented, but not entirely wired up. It still didn’t work from “press key and execute attack”. That is what todays post is about. Although I have the animations all up and working I’ll split it into two parts to keep…
-
PMO Network Movement in UE5

Mission Accomplished Phew, after a year and a month, I FINALLY have networked movement visible with Unreal Actors in my MMORPG! As you can see we now have characters moving around and visible in the UE5 editor: Your browser does not support the video tag. Problems getting here After my…
-
World State

As I mentioned in my 1 year anniversary post, I’ve completed the WorldState system. This system is based off the Quake 3 Arena delta compression technique and will hopefully allow me to efficiently transmit state updates to clients. If you want a general understanding with visuals, I recommend reading the…
-
Area of Interest Initial Design Idea

Now that my physics engine is in place and I can move the primary character around, I need to start sending positional information to all connected clients. To do this, I need to have a system that knows which characters are near each other and who should be able to…
-
Some bugs and how I fixed them

Half Capsule Problem I left off last post where I finally fixed collision, but my character’s collision capsule appeared to be half inside of the mesh. This took me a good long while to figure out and finally with help from the author of Jolt he cracked what I was…
-
The journey to get Jolt’s Character to not fall to it’s doom

After, 2 weeks of intense debugging I finally have Jolt’s Character class working in my game! Picking up where I left off last, my character had an unfortunate feature of falling through the world. I was convinced this was a problem with how I was loading my FBX landscape mesh.…
-
Loading FBX models into JoltPhysic’s Samples

I realize it’s been a long time since I posted, but I assure you I’m still working on this almost every free chance I get. It’s been rather slow going because I’m not really familiar with physics or loading meshes manually. I’ve been reading over the Jolt Physics docs and…
-
Groking Flecs
Now that I’ve decided to use Flecs to handle my reliability layer, it was time to wire up the server code and start getting acclimated with how flecs works. One of the things I always struggle with when starting to work with a new language or framework is figuring how…
-
Switched to epoll, but need reliability!
When I started this project I thought I had a decent understanding of what I need (and I still kind of do). What I didn’t understand is how quickly I’d need to have certain systems implemented. Last time I posted I had authentication working, but the code wasn’t really “doing”…
-
MMORPG Server Emulators And Where To Find Them
It’s always good to see examples of MMO servers up close. Over the years I’ve tracked down quite a few emulators. While not an exact representation of what a production MMORPG server looks like, you can get a very good sense of the design patterns just by reviewing the reverse…
-
40k packets
Simplifying the server code I wasn’t too happy with the results from the last post, also there’s a lot of magic going on with uvw/libuv. I’m not a fan of magic. So I ripped it all out and decided to go back to basics (sort of). I wanted to try…
-
Libuv, uvw, flecs oh my!
Adding in the glue I spent most of the weekend getting the project setup (remember it’s all open source!) , which means fighting with CMake. I also did a lot of reading of libuv vs boost asio for an event based networking system. I finally settled on uvw which is…
-
Environment Setup
I can not stress enough how important having a good environment setup is for me. Traditionally, I’m a Go developer so getting a similar setup working in C++ will help ease me in. I also use VSCode, so having something working there where I can have my tests and the…
-
So, you want to build an MMORPG Server
Even researching how to build an MMORPG server is a large undertaking. There are so many different architectures and designs, components and considerations to take, even before you start coding. It helps to have a high level understanding of what and why it is so complicated. Please keep in mind…
-
Building an MMORPG server
I’ve always wanted to build an MMO, for a few reasons. One is the sheer technical challenge. The scale, complexity, and number of unique and interesting problems that need to be solved. Two, I really enjoyed old school MMOs. I grew up playing games like everquest, ultima online, shadowbane, everquest2,…