Internet Hearts: 112,000 Lines of Code
On Monday I asked for guesses on the size of the Internet Hearts source base, and the highest (public) one was 45,000 lines of code. The answer: approximately 112,000 lines of code! 51,000 are client-specific, 35,000 are server-specific, and 26,000 are shared by both.
Higher than you expected? Well, there's a lot of functionality on the server end. And the application is actually a general-purpose game client & server designed to support multiple games (Internet Backgammon/Checkers/Hearts/Reversi/Spades). For the purpose of turning this app into a shareable sample, I've already removed the non-Hearts pieces, but the generic nature of the architecture definitely contributes to the code size.
When I apply today's technologies to this older code base, I'm pretty sure I'll be able to "do more with less": Less lines of code, less time & effort, less bugs, etc. So we should see the application shrink.
Here are some diagrams to illustrate how the baseline Internet Hearts application is structured (prior to any improvements). The orange-colored components involve UI, so they're candidates for an Avalon makeover. The indigo-colored components involve networking, so they're candidates for... you guessed it... Indigo!
The Client:
The Server: