Took a step back today… Little chance to apply some of my stockpiled JSP/Ajax tools to some pre-existing management pages and solve a few recurring (and really annoying) problems, I also picked the TOE implementation apart and mini-dumped it into a sort of pseduo-design document, a chance to go over the more intricate elements and see if I’d got any dumb stray pointers or references lying around. None I could see.
The new (old) infantry smoother (it extrapolates, it doesn’t predict) was getting some heavy criticism from the folks who’d open-tested it. Guess what, its worse than the new (new) smoother. I think in part this is because our update system is very crude and it resends stale updates when it doesn’t have anything else to send.
I spent most of my evening trying one last time to fathom how our freaking update system actually works. There are way too many casts, voids and aliasing and too many cases of fake structures using some quirk or assumption about field alignments. *Sigh*
So I took the old “Chat Grid” that I wrote and spent a quarter hour refitting a version for the cell hosts. Another half an hour throwing together an Observer based system for tracking who is seeing who.
The current system has the advantage that the vehicles you get updates for are hand-picked from the best possible viewing candidates at the time of the update. That makes generating each individual update expensive and limits how many vehicles we can support per server and/or updates per second we can send per player.
The mechanism I’m looking at will update your vis list less frequently – say once per second. That allows me to expend a little more effort in the list management. At the same time, it allows me to annotate some of the data so that I can actually avoid a certain amount of uneccessary list revision. (Single player standing in an unoccupied area, lone aircraft flying across the channel, 3 AT guns sitting at an FB without moving)
Tomorrow I’m going to go through and re-create the skeleton of the TOE code and then re-integrate the existing code back into itself to see if I can find whats causing the bug.
All that aside, I did get a chance to spend some time trying out the Open Beta. I usually hate trying to play the game on my work machine, but my frame rate was up, stutters were non-existant, and the world was just much brighter.
There was an FFA battle at Spontin, with people using the “/msp” command to drop spawners wherever they could hold. We all figured out pretty quickly that corpses were sticking around a LOT longer. It could just be because there were less people around. I think corpses actually go away as your vis list fills up.