This paper from Mark Terrano and Paul Bettner explains the design architecture, implementation, and some of the lessons learned creating the multiplayer (networking) code for the Age of Empires 1 & 2 games; and discusses the current and future networking approaches used by Ensemble Studios in its game engines.

https://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php?print=1
HN discussion: https://news.ycombinator.com/item?id=17568149