• Floating points, Movement, and Quantization

    Now that my library works in UE5, and I can communicate over the UDP socket to my server, it’s time to take a look at getting objects moving. As a refresher, clients send only their inputs and some additional metadata to the server. It’s usually a Really Bad Idea to send positional information because it… Read more

  • C++ Interface for Logging

    C++ Interface for Logging

    Knowing what’s happening inside of my pmo DLL is going to be pretty critical to getting things working in UE5. With that in mind I needed a decent logging solution. I found a really nice framework called spdlog which handles all the usual logging stuff you’d want (writing to files etc) and a nice API.… Read more

  • DLLs, Memory, and You

    DLLs, Memory, and You

    Before we get into the topic of DLLs and memory, I just want to comment that after two weeks I am finally unstuck. This was mostly due to Sander (the flecs maintainer) fixing an issue I identified. As you can see from that issue, I tried many different methods and combinations of linking flecs. Now… Read more

  • Stuck

    Some times you think you have everything working, then you go to call part of your program and it turns out, no, it’s not working. That is the predicament I find myself in now. While I have been successful in getting UE5 to load my pmo_library.dll, it turns out there’s a strange unknown bug in… Read more

  • RIO then IOCP then just plain old Winsock2

    Wow windows networking is.. not straight forward. For those of you who have never had the “joy” of working with them, I recommend you keep it that way. For Windows I only really need the client netcode to work, which means I don’t really need high performance socket handling code. This is because the client… Read more

  • Building PMO In UE5

    Building PMO In UE5

    I knew going in that it would be painful to build the PMO library into UE5. Once again I found myself in linker hell. But before we get to the problems, let’s look at what I’m trying to do here. I need my client library to be completely independent of a game engine, meaning it… Read more