The replication model of the Unreal Engine remains one of the best I've ever seen. Nonetheless, as with anything involving a distributed system, it is very easy to make errors.
Even the original UT (version 400) had a serious error due to the ease of marking functions network transportable. The function to cycle maps was marked to allow the client to send it to the server. It was certainly nice having the ability to select maps on any server. :)
His article on the scripting language was also my first realization of the power of DSLs.
I should also say that most of my learning came from studying the header files in the SDK and imagining what the various implementations would look like. The SDK is still available: http://www.udk.com/download
I even taught myself how to write a decompiler so I could see those implementations. This taught me about the PE format, C++ name mangling, and, of course, x86 assembler. Heady stuff for a 20 year-old. :-)
And then he posted this darned screen shot: http://stackoverflow.com/questions/2791787/what-was-tim-swee... and taught me about C++ metaprogramming.
And then this presentation: http://www.cs.princeton.edu/~dpw/popl/06/Tim-POPL.ppt which made me spend months learning what these stupid Monad things are and having to learn Haskell, ML, and Common Lisp in the mean time. (What? C++ isn't the best programming language available?)
While some people learned to program by going to college, I learned by studying _everything_ Tim Sweeney and John Carmack wrote (and practicing, practicing, practicing). Mr. Carmack's release of old id source code is a huge gift to the world.