Tuesday 20 August 2013


Just ten days left to my defense. Ugh.

As an occasional escape from that serious part of my life, I've been playing around with netcode. More specifically, prediction and lag compensation. The principle is relatively simple: networks induce latency and the server and clients need to keep record of recent history to figure out what either did during the latency time frame, while always knowing that the server is the boss. Simple enough, but actually implementing that is a head wringer. But, I finally managed, after inspecting pages and pages of history buffers (i.e. comparing heaps of numbers and how they change on the two hosts taking the latency into account), simulating lag on the lo device. Next I'll simulate packet loss and send truncated user actions histories. Game states are already broadcast over and over and need no history so that was easy enough. I'll leave the compression to my fellow partner, since it's a very different problem.

Before getting started on netcoding, I read about the netcode in various games and gamers' perspective on them. It's amazing how little people understand and expect things to "just work" for them. It's a common assumption, even by many relatively clever people I know, that the simple logical rules in programming and technology makes solving problems a simple exercise in logic. "I have this problem, I solve it like this, but it doesn't work! I've done it right, it has to work!" There's a huge difference between "understanding" a problem and being able to define it. You cannot solve it by logic if you haven't defined it. And then you don't really understand it. Sometimes, it scares me that so many people don't know this and their work consists of finishing off their tasks by producing results that they need/expect and then go and goof off. All they did was bring bread to the table to related people. Pragmatic fools. I wish I could be stupid and happy and not have to think about how to upgrade everybody from bread to warm meals in everything I do :p Uhm, what I wanted to say is, there are two very simple reasons for why you die after having taken shelter around a corner: network latency, and that you suck in the game. Eat it.

Watched Attack on Titan after a friend of mine suggested it. I really asked for a horror movie, but this was a good alternative. I figured a few things, checked them against the manga and behold, I was right, it goes completely overboard. Still more fun than the regular TV series.

Also watched Hobo with a Shotgun. Definitely not for everybody, but I'm glad we get options to the usual mind-numbing feel-good movies.

Been thinking about Doom 4 lately, I honestly have very little hope for it. The music has to be in the style of Bleed or I Am Colossus (about 2.00 in with the spider) by Meshuggah with matching visuals, speed and hoards of monsters for slaughter if I'm to be really impressed. Start, preload, you're in the game, just like Carmack wanted it back in the day. One can always dream...