r1ch.net forums
* Home Help Search Login Register
r1ch.net  |  r1ch.net stuff  |  R1Q2  |  Topic: r1q2 in c++
Pages: [1]
Print
Author Topic: r1q2 in c++  (Read 3385 times)
Xtife
Guest
« on: May 25, 2005, 02:15:50 pm »

any plans to make r1q2 on c++?
Logged
R1CH
Administrator
Member

Posts: 2625



« Reply #1 on: May 25, 2005, 03:07:07 pm »

Why on earth would anyone want that?
Logged
Nick
Member

Posts: 211


« Reply #2 on: May 25, 2005, 05:04:23 pm »

What, r1q2 or C++ ?

Nick wink
Logged
Bossman
Member

Posts: 486


« Reply #3 on: May 25, 2005, 08:48:19 pm »

  And the answer is no  Xtife and some on earth don't know how to do use things that others do, but do know how to use differant stuff that makes people ask why on earth. And he means r1q2... cheesy  Just thought someone needed to answer all the questions with a answer evil
Logged
bl.00.gollum
Member

Posts: 22


« Reply #4 on: May 26, 2005, 08:17:37 am »

Well, I saw quake ii for .net framework. 100% of managed code. There was a native version... in c++, so if you so wanna have r1q2 in c++ you can make it yourself Smiley just google for .net q2 and merge everything from r1q2 there...
Logged
Haudrauf
Member

Posts: 58


« Reply #5 on: May 26, 2005, 08:19:52 am »

Make it C# and portability is gone.
Logged
QwazyWabbit
Member

Posts: 402


« Reply #6 on: May 26, 2005, 05:30:04 pm »

Q2 OOP died in infancy a long time ago and appears to have been based on Quake2 v3.14.
http://www.planetquake.com/q2oop/news.shtml

Quake2 .NET was little more than a concept paper written to demonstrate the extensibility of OOP and to prove that .NET based code would not impact performance but it seems it was hardly worth the effort. In fact the paper clearly states that the game played at 85% original non-.NET speed but "The performance of the managed version was acceptable and testers did not notice a difference between the two versions."

http://codeproject.com/managedcpp/quake2.asp?df=100&forumid=16192&exp=0&select=579771

In many ways Q2 is already OOPish. Monsters and items "inherit" or more properly "share" certain attributes and structures and they are instantiated as entities and entity states. The fact that the compiler does not "enforce" these features as it would in C++ doesn't make it less OOPish. In fact, if you look at the .NET code above, most of the work was touch-up and reserved keyword cleanups and fixing forward declarations to structures that existed in DLL's but not in the main engine mostly "cosmetic" changes. In many ways Q2 is a demonstration that one can code an object oriented style program without using the features or enforcements of an object oriented language. According to the article, the hardest part was getting the compiler to stop complaining about the typing of many function arguments, a problem fixed by casts to the proper types, a practice that is questionable since proper function prototyping and use should have been enforced first. Casting can introduce subtle bugs that are hard to weed out.

If one wants to code a game in C++ one would be better off starting from scratch or borrowing only a few principles from Q2 and creating a better game.... but then it wouldn't be Quake 2. Smiley

Logged
Pages: [1]
Print
r1ch.net  |  r1ch.net stuff  |  R1Q2  |  Topic: r1q2 in c++
Jump to:  

Powered by SMF 1.1.19 | SMF © 2013, Simple Machines