Greg Dolley has done something amazing. Greg ported id software's video game, Quake 3, to .Net.
I'm going to take a quote from his website regarding the port
Before I begin explaining the port, I'd like to clarify one thing. Someone emailed me last week regarding this port and judging from his/her message it led me to believe that some people don't understand the difference between a .NET port versus simply compiling a C++ application with MSVC++ 2008. Here's the difference: taking the Quake III codebase and making the changes necessary so that it will compile with Visual Studio 2008 is not a .NET MC++ port. That is a C port to a different compiler. Yes, C not C++; the project files included in Id Software's codebase are all set to compile as native C. Furthermore, changing the settings to compile everything as C++, then fixing 3,000 compile errors, is also not, I repeat not, a .NET port. That is a native C++ port of Quake III to a different compiler. Lastly, taking the former C++ build I just mentioned, turning on the “/clr” Visual Studio option, fixing 28,000 compile errors with 4,000 warnings, patching all managed to native calls such that the first run doesn't “blue-screen” your machine, and finally doing everything else necessary to be able to view the EXE with its supporting DLL's under ILDASM (the .NET CLR disassembler), now THAT is a .NET port!
I'm in awe and slightly want to play Quake again.