Quake 3 em .NET

Posted in News by FilipeFreitas on the January 25th, 2008

quake_3_arena-front.jpg

Greg Dolley converteu o código fonte do Quake 3 Arena, disponibilizado anteriormente gratuitamente pela id, para código .NET.

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!

Aparentemente, o Greg fê-lo por diversão, alguem sabe de alguma vantagem?

After my initial porting efforts started to work where I had a C++ version without CLI, I began messing around with some of the in-game weapons. I made a few simple mods with the rocket launcher and shotgun – it became really fun and at that point I realized most mods don’t need to be C or C++, a managed language would be more than adequate to code these parts of the game without having to worry about performance. Furthermore, development time typically shrinks as a result of using a .NET language over C or C++. This means new features can be coded quicker and with less of the idiosyncrasies common to native C.

After pondering things for a while, I decided to go all out and convert the entire codebase to C++/CLI.

Segundo o timedemo embutido no Quake 3, esta versão é ligeiramente mais rápida que a versão original:

Running original Quake III commercial game:

Test run #1: 324.2 fps
Test run #2: 330.9 fps
Test run #3: 332.5 fps

.NET port:

Test run #1: 328.6 fps
Test run #2: 336.9 fps
Test run #3: 336.8 fps

Bookmark this post: bookmark bookmark bookmark bookmark bookmark bookmark

Related posts


Leave a Reply