.NET Version of Quake II
MSwanson writes "It seems that Vertigo Software has ported the Quake II source code to Microsoft's .NET platform. Not only did they add a heads-up display in the .NET managed version, but they also say that the managed version initially ran faster than the native version. After changing some optimization settings, the native version now runs 15% faster than managed .NET code. Still pretty impressive. Download the ported version along with source code at the Vertigo site."
So they're still using some native C++ code? Big deal. Sounds like they just put a .NET wrapper around the QuakeII Engine, and they're still using native code to do all the heavy lifting. So you're still tied to Windows, and it runs 15% slower....fantastic.
.NET implementation (and runs only 15% slower), then I'll be impressed.
Now, when they have a version written purely in managed code than can run on any
Quake II .NET is a version of the popular Quake II game, ported to native and managed C++ using Microsoft® Visual Studio® .NET(TM) 2003
Can someone fill me in here? What is the big deal? Id has always used the MS compilers for that platform. So they just updated it to work with the latest release of the compiler. Wow, fancy shit.
-molo
Using your sig line to advertise for friends is lame.
but they also say that the managed version initially ran faster than the native version. After changing some optimization settings, the native version now runs 15% faster than managed .NET code
Anyone else misread that at first to mean they changed optimization settings on the managed code, and now it runs slower than the native version....
By running as managed code (this is REAL .Net) it was 15% slower. By running non-managed (no CLR) it was full speed (or 15% faster than the managed .Net code).
VC++.Net is just the same as VC++ 6 with a different IDE as long as you're not using managed code. If you are using managed code you might as well program in VB or C#, it all compiles to the same shit.
- This is a proof of concept that Microsoft's "Managed C++" stuff may be an interesting technology.
- If it is viable for Quake 2, it might be viable for any future game coming to PC, XBOX or even Phantom. Remember that having
.NET (or Java with JNI as well, see this nice soviet Sturmovik simulator which really owns you ;D ...) allows you to access several non time-critical libraries (chat, rankings), or to prototype in an easier way several features that you wish to implement, without introducing slowdowns in the development and security issues (XBox savegame hack anyone?).
- Anyway, remember that if you find Managed code to be too slow for your projects, you can always bridge your code with COM+, as Direct-X up to version 8 do succesfully
:D... then using a COM+ component is easy as hell with .NET (let's hope that Mono makes this easy for Bonobo components too soon).
The drawbacks: don't expect this to be ported on Mono asap, Mono still lacks a Managed C++ compilerIf really Managed C++ isn't too much slower than C given the standard optimizations Managed C++ may become a viable platform for development in the end. We will see what will happen as Microsoft's JIT compiler matures.
I can remember Sony and other vendors being interested in a Java Gaming Profile for consoles... a very hefty addition to J2ME with JNI libraries for Physics, "Game Lobby" functionalities and mp3 streaming. That JCP anyway seems (in my experience) to be stalled. We will see if adoption of Managed C++/Managed DirectX will occur and will help the adoption of "Virtual Machines" technology in game consoles as well and revitalize the interest. Many titles, like Nihilistic Entertainment (of Zerstorer fame) Vampire The Masquerade use or used Java as a powerful scripting engine.
+ + + +
And now imagine embedding Microsoft Flight Simulator 2004 with Excel.NET... oh WAIT!
"I am slashbot, hear me roar!"
Yes, but consider this: How can you keep the 2% of people that can recompile the beast to play with the prior client/servers, since it is all GPLd code? And to share the compiled client with the others? :/
"I am slashbot, hear me roar!"
Where can I get a copy or at least the list of updated optimizations to the native version? I'd love to get it to run 15% faster on my P200 that I have for Q2.
E.
Never rub another man's rhubarb - The Joker