Show newer

got a pcap of the official game server from before it shutdown in 2009. turns out the encryption althought is shitty by today standards, it is still not that straightforward to crack.
So here I am learning CUDA to blow it up

got my first Wireshark dissector working fine and fast. now I need to figure out how the conversation API works for the second one to work properly

trying to write a Wireshark dissector. very confusing C API for newcomers with a so mewhat lacking documentation.
but i'm slowly progressing regardless

next on my ToDo list: a Wireshark dissector. noone told my I was gonna do so many and varied things to get the game running again!

before Microsofts purchase, Github "explore" section was great to find new interesting stuff, now it sucks so bad it feels like YouTube recommendations.

I find the LilyGO TTGO T-Watch a very interesting piece of hardware, specially as a standalone thing compared to the PineTime.
I wish I had time to mess with this kind of projects

immediate mode UIs are great but have their own set of issues

wasted tons of hours yesterday because I was passing 16bit indices and the renderer expected 32bit ones. I hate these silly bugs so much

I went crazy for a couple hours trying to understand why my renderer wasnt working. it ended up being the data coming from the file with the wrong endianess, goddamit

added some autogenerated cpp files with gigantic dictionaries of game data. now instead of 20 seconds it takes 4 minutes to compile.

unsurprisingly Windows scheduler became even worst and trying to sleep a thread for 33ms is impossible in my Ryzen. 46+ms always, if asked for 16ms its 75% of the time 30ms, 25% 16ms.
I read I have to set the affinity of each thread for this to work but whats the point of the scheduler then?

so my visibility and subscription system works fine, can see other players when in range and start receiving movement updates.
another important milestone achieved

Show thread

I came up with a subscriber system to keep track of which players require network updates when some entity changes its state. not the best thing in the world but for now it seems to work ok without wasting extra memory.

trying to integrate nanoflann into the game server to manage players visibility through kd trees. if it works one less problem, and a big one.

after 5 months of work my game server emulator finally let me go in-game and see the map and my character. very cool milestone

in-process orchestration is as complex as multi-machine orchestration, but at least you know all 'nodes' are gonna be there.

never start writing code without a plan boys and girls, your future self will appreciate it

Show thread

next step, the Context! (the map instances, the actual gameplay).
before writing a single line of code I use my trusty whiteboard to design a decent architecture to fit every piece.

just tried @godotengine in my @postmarketOS pinephone with a small game I made and it ran perfectly fine.
Just had to specify the phone resolution and maximize it.

Show older

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.