I really loved Sony's DC Universe Online. I really did. I got 2 level 30 characters that I still took out on co op and PVP instances regularly, but after I changed PCs, I didn't bother to reinstall the game. The reason? I'm not willing, nor am I able, to download 15 gigabytes of data using my third world ISP. But that's how the world of videogames work, right? If you want quality graphics and content, you have to deal with large filesizes.
But take a look at this game:
It's a fully playable tech demo called ..kkrieger, which has 3D graphics comparable to Half-Life or Unreal Tournament. And the amazing thing about the demo? It's only 98 kilobytes. In comparison, Unreal Tournament and Half-Life eats up 800 and 400 megabytes of space, respectively.
The small filesize is the result of aggressive code optimization and the use of procedural generation methods, which basically means the textures and models are not stored as actual files on your disk, but rather produced by the code on the fly on a per pixel basis.
Of course, it's just a tech demo so there are game stopping bugs and glitches that were never ironed out. But still, it serves as an example of what programmers can achieve if they really wanted to optimize their code.