The DOOM 3 Network Architecture (2006) [pdf]
fabiensanglard.net
fabiensanglard.net
The promise of a step-by-step illustration of the Wolf3D engine is very interesting to anyone that cut their teeth playing it.
It's totally a fetish of mine, this strange period we got from 93-97 in 3D gaming, from flat-shaded polygons to the strange pixelated quad-polygons of the Sega Saturn right up until we finally got something like Majora's Mask on the N64 that truly started to demonstrate its full power.
The developments and the history are fascinating.
My grandma said, "It's beyond my ken." And she was an amazing person - taught high school math to disadvantaged urban kids (in the city - she commuted), and this was just a moment where I could see someone experiencing a whole new reality, and rejecting it for the effort it would take to accept it.
And that's not always a bad thing. My grandmother had no real reason to be familiar with what would become a huge industry and culture. But it was eye-opening to see that rejection happening.
Now that I'm much older, I'm able to understand why someone might want to do that now. I wonder what it will be in my lifetime that I will be unable or unwilling to comprehend.
My favourite 3D transitional console/games have to be the Sega Saturn. The PS1 and N64 both used proper triangular polygons, so they looked as we expect to see the average 3D game these days.
The Saturn's quad-poly setup made the games look particularly peculiar to the eye today, especially when the camera was focusing on close-up polygons. Some games looked absolutely beautiful (Sonic R comes to mind, Burning Rangers, as well...anything late in the system's development) while some games looked very awkward, especially compared to their PS1 counterparts (here's looking at you, Tomb Raider).
Back to Marathon, it's character sprites looked particularly 'pasted-on.' Doom's enemies, for instance, seemed to be designed to be less human-like perhaps so they'd look less shit in 3D (those demon-eye monster things come to mind).
Other than that, Marathon is just Doom II, graphically.
There is one major thing missing for constructing a "modern" game with it, and that's scripting - the open source version has Lua, but I don't know if anyone's written anything amazing with it.
3rd party scenarios for Marathon were also oddly literary, like this one where you go back in time and save Leonardo da Vinci from aliens.
https://github.com/skadistats/smoke/wiki/Anatomy-of-a-Dota-2...
Extremely small message sizes was really important to them.
http://www.gamasutra.com/view/feature/131503/1500_archers_on...
http://twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_Sep...
It is the lock-step model but with state rewind, so that you get near zero apparent latency from your own actions (at the cost of animations from other player actions starting a few frames in). You occasionally see things like a successful hit from you on an opponent be rewound and applied to a block from him/her instead.
For co-op games where aren't you aren't closely interacting (like in riding along in a vehicle) it can be a near conflict free and zero latency experience.
You can use various levels of it, accepting a reducing a 100ms ping into a 50ms delay will get less conflicts than reducing it all the way to 0.
https://developer.valvesoftware.com/wiki/Source_Multiplayer_...
http://gafferongames.com/networked-physics/introduction-to-n...
http://gafferongames.com/building-a-game-network-protocol/
Not game specific but will get you into the mindset of how a networked game functions.