Quake2 vs Irrlicht

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Quake2 vs Irrlicht

Post by Electron »

A friend of mine and I are making plans for a game, and have a slight disagreement about engines to use. I would prefer to use Irrlicht and he would prefer Quake2. I am hoping that the Irrlicht community will be happy to tell me why Irrlicht is better than the Quake2 engine.

On the plus side for Q2 I can think of 3 things. It was made as a commercial engine, its well known, and it is a full game engine as opposed to only a 3d engine.

However, it is easy enough to find engines for the other components besides 3d. Irrlicht has these advantages that I know of: easy to use, still in developement so more likely to keep up with technology (Q2 uses DX7 i think), large user community all in one place (here) as opposed to Q2's scattered community, I know it better than Q2 :D , works fine with MingW.

Anyone else have any thoughts on Q2 vs Irrlicht (obviously here things will be in favorof Irrlicht, but that's fine with me :) )
Anyone here ever use the Quake2 engine?
Unarekin
Posts: 60
Joined: Thu Apr 22, 2004 11:02 pm

Re: Quake2 vs Irrlicht

Post by Unarekin »

Electron wrote:(Q2 uses DX7 i think)
I know it better than Q2 :D , works fine with MingW.
Three major major points. I'm an OpenGL man, myself, but when it boils down to DX, 7 was even bigger crap than 8 and 9. ;)

However, since Irrlicht isn't a full-fledged game engine in and of itself, and the Q2 engine is, that means with Irrlicht you'll have more control over the way things work. You get to choose how it handles shooting and collision, networking, sound, etc. With any pre-made engine, you either use their provided systems, or spend unnecessary time and effort changing things.

You should probably stick with something you know more about, and you know doesn't have problems with your compiler. Fighting an engine you don't know and can't even compile can be a real pain in the ass (Big deciding factors for why I'm using Irrlicht right now. I've poked around with other engines, but either they weren't nearly flexible enough for my liking, their license was too restrictive, or they didn't compile with little to no tweaking. I don't want to have to muck through a few bajillion lines of code just to get the darned thing to work, I've got better things to worry about, like steering behaviors and user-extensibility.).

On the other hand, however, using the Q2 engine means you won't have to do much to get *something* working, at least as far as incorporating scripting, sound, level data, etc.
AssiDragon
Posts: 158
Joined: Wed Apr 28, 2004 11:03 am
Location: Hungary
Contact:

Re: Quake2 vs Irrlicht

Post by AssiDragon »

Electron wrote:A friend of mine and I are making plans for a game, and have a slight disagreement about engines to use. I would prefer to use Irrlicht and he would prefer Quake2. I am hoping that the Irrlicht community will be happy to tell me why Irrlicht is better than the Quake2 engine.
I myself worked quite a lot with Quake2. And weeeell will see. Comparison follows. :)
Electron wrote:On the plus side for Q2 I can think of 3 things. It was made as a commercial engine, its well known, and it is a full game engine as opposed to only a 3d engine.
The main point is not the sperate parts which create the game, but HOW they work together. If you make your own game and want multiplayer, you have to decide what server/client game acrhitecture you want; you must build in security routines; etc etc. These aren't as easy as implementing a program, say Newton; because these things aren't schematic and need your creativity and wit most times. :)
Electron wrote:However, it is easy enough to find engines for the other components besides 3d. Irrlicht has these advantages that I know of:
Let's discuss ;) I've cut it into pieces because it's easier to read this way.
Electron wrote:easy to use
Depends. I find Quake2 not a bit harder than Irrlicht to program - in fact, consider I'll have to write a new game with Irrlicht (which I possibly wont now) while just heavily alter an existing one with Quake2. Although starting from scratch would be easier with Irrlicht, that's doubtless.
Electron wrote:still in developement so more likely to keep up with technology
Might be personal, but I don't really like still in development things... there are issues which are promised to be addressed, improvements etc which is a good thing. But. You never know how will the final v1.0 look afterall, and how will the other engines look by that time. While it's a good thing to be able to keep up to other things, using Irrlicht sometimes gets annoying - I experienced quite a lot of slowdowns, for one...
Electron wrote:Q2 uses DX7 i think
I forgive you because you stated you never worked with Quake2. Quake2 uses OpenGL. It never ever used DX, but there was a half-ported version to DX8, called Quake2 v3.22 . HOWEVER, Quake2Vanilla (the original Quake2) and all the Quake2 MoDs use OpenGL.
Electron wrote:large user community all in one place (here) as opposed to Q2's scattered community
http://www.quakesrc.org 8)
Electron wrote:I know it better than Q2 :D , works fine with MingW.
Well, I can't dispute the first :D as for the 2nd - Quake2 runs on Windows and Linux. It might work on other systems as well, but I haven't really seen bothering themselves to make it work there or to test, so I don't know.

All in all, this thing really depends on what you want and stuff. Quake2 has really surprising MoDs - Quake2Evolved, Quake2MAX, QBism, etc. These games reach up to Quake3 in terms of graphics, and are very good in those terms - in fact, they are even faster than Irrlicht with the same settings on my PC. The thing they lack are the more advanced features - such as realtime shadows (which isn't too good in Irrlicht either atm though - 24FPS with 2 shadows and 54 without them? *gasp*) or OctTree management.
Physics and other plugins are nonexistant with Quake2 and Quake2MoDs, do I need to say. :) Irrlicht has a HUGE advance here. But Quake2 does have tons of tutorials to start with - might sound unimportant but you can literally master the coding of Q2 wiht them!; and Quake2 is a working game which you can *cough* "just" modifiy.

Now, a bit clearer summary of mine:

--QUAKE2--
-------------
+working game, working code, finished product
+EXCELLENT mods, tutorials and stuff
+big fanbase
+fast engine
+easy convert to Quake3 stuffs
-obsolete technics (for one:linked network/rendering updates!!!! :shock: )
-messy code :P Carmack 0wnz but they didn't clean the code not even a bit if you ask me lol
-horrible physics, horrible collosion detection
-horrible light handling
-HORRIBLE!! security! I could compare it to Outlook. Thank God QuakeSrc addressed many of these stuffs.

--IRRLICHT--
---------------
+up to date, good features
+variety of formats supported
+easier to use for most people
+physics and other plugins which make it go more robust
-variety of formats supported and only .x working afterall :?
-bugs, speed issues
-need to write your own game on it
-lack of existing games working with it - no examples in work

CONCLUSION:
All in all, it's up to you. There are all sorts of engines out, and every of them has good and bad points. Pick your liking and go for it!
I think I'm gonna go for Ogre myself. :)


EDIT>>>>>
Oh, almost forgot. Don't write down old engines. Just look at this Quake1 engine:
http://tenebrae.sourceforge.net/index.p ... nshots.txt

Tenebrae1.x engine for Quake1. What can it do? Realtime lightning, perpixel lightning, bumpmapping and other such things. What's more important, it can cling to 100+ FPS while doing all this. :wink:
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Post by Electron »

thanks for the help. I think I'll stick with Irrlicht. The speed of Quake2 entices me, but its non object-oriented design does not (written in C). The fact that using it is more modifying an existing game also doesn't really appeal to me. It would shorten dev time, but I like programming, I like designing, and I'm not on a schedule. I'd rather create my own game than plug my models (which I do rather poorly), player/weapon attributes, etc into an existing game. And I'd really rather not modify C code for a project that size.
Domarius
Posts: 178
Joined: Thu Mar 11, 2004 9:51 am
Location: Brisbane, QLD, Australia

Post by Domarius »

Quake2 was make in C?? Gah, programming in anything else other than an object oriented language is reason enough for me, when choosing products!
AssiDragon
Posts: 158
Joined: Wed Apr 28, 2004 11:03 am
Location: Hungary
Contact:

Post by AssiDragon »

Aaaaaaaaaaaaaah yes. OO programming. Well, I might remind you: writing games totally object oriented isn't that good decision... there are times when OO comes handy, but there are times when it's just wasting the memory for things it wouldn't really need. So while OO is good, it's good to know when to use and when to not use it =)

Add well, you can make a brand new game out of Quake2 - I made my RPG game out of it before I decided I need a more powerful engine and tried Irrlicht and Ogre. :)

Quake2 was written in C, yes... but you can use it like any C++ program, just need to edit the code a bit.
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

A game I've been checking on ( due to some simularities in our projects ) is called UFO: Alien Invasion ( http://ufo.myexp.de/ ). They have extended the Q2 engine quite well and the graphics are good considering the game they are using is about 5 years old ( and the rest probably, time sneaks up on me these days :) ). There are plenty of OO conversions for Q2, and even a few managed C++ versions. Open sourcing the Q2 engine was a damn good decision by ID, I don't care what others may think :D
AssiDragon
Posts: 158
Joined: Wed Apr 28, 2004 11:03 am
Location: Hungary
Contact:

Post by AssiDragon »

Opensource is gooooooood :)

and well, Quake2 has tons of MODs as I said - Quake1 even has a Diablo eidition, called PyrdonGate :wink:
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Domarius
Posts: 178
Joined: Thu Mar 11, 2004 9:51 am
Location: Brisbane, QLD, Australia

Post by Domarius »

AssiDragon wrote:Aaaaaaaaaaaaaah yes. OO programming. Well, I might remind you: writing games totally object oriented isn't that good decision... there are times when OO comes handy, but there are times when it's just wasting the memory for things it wouldn't really need. So while OO is good, it's good to know when to use and when to not use it =)

Add well, you can make a brand new game out of Quake2 - I made my RPG game out of it before I decided I need a more powerful engine and tried Irrlicht and Ogre. :)

Quake2 was written in C, yes... but you can use it like any C++ program, just need to edit the code a bit.
How many modern commercial games are written in C and not C++? I think it's just like using BubbleSort instead of QuickSort - easy to do (and more appropriate) for small things, used in the old days when there was no other choice, but if you have the option to go for the modern, more efficient and organised way of doing things for large scale projects, then go for it.
AssiDragon
Posts: 158
Joined: Wed Apr 28, 2004 11:03 am
Location: Hungary
Contact:

Post by AssiDragon »

OO is not always good... I could write any stuff here but I just show a debate about it, which quite well states my points as well:

http://forums.quakesrc.org/viewtopic.php?t=3580&start=0 :)

In general, OO is easier for the programmer while C is more close to the PC... I think.
And Quake2 isn't OO, but it's very easy to edit and to maintain IMHO. It boils down to the fact you can use anything you want anyway, as long as you know how to use it. :)
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

I'm saying who is right, but I'd like to quote this article:
In general, C++ is neater and easier to read than C, and it does not compile to less efficient code as long as you know what you are doing. An example inefficiency here would be sending a large struct or class as a function argument by copying, as opposed to by reference using const X& fred (or whatever). The copying will eat stack space and waste time.

The only real reason for using C in preference to C++ is that the machine on which you wish to compile your program doesn't have a C++ compiler.
That is a quote from a lecturer of the Bath University here in England.
Source: http://staff.bath.ac.uk/ensdnj/c_course ... node1.html

On a side note, I have played with both the original and C++ ( as well as C# ) versions of Quake 2 and they all play exactly the same with no difference that I could see in speed. If there is a difference you are talking milli-seconds.
AssiDragon
Posts: 158
Joined: Wed Apr 28, 2004 11:03 am
Location: Hungary
Contact:

Post by AssiDragon »

As far as I know there is no C++ source of Quake2. :) If there is one, could you give me the URL?
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

http://www.planetquake.com/q2oop/about.shtml

Not sure that one got finished but it's the first one that came up when I googled it.

http://www.vertigosoftware.com/Quake2.htm

A Managed C++ conversion. No drop in performance whatsoever from the C version. If you could show some proof that C++ is slower than C then I'm sure a few more people would believe you, to me it sounds like an old wives tale.
AssiDragon
Posts: 158
Joined: Wed Apr 28, 2004 11:03 am
Location: Hungary
Contact:

Post by AssiDragon »

You're wrong there. I copied this directly from the VertigoQ2 FAQ.
How is the performance of the managed version?
Initially, the managed version was faster than the native version when the default processor optimization setting /G5 (Pentium) was used. Changing the optimization setting to /G7 (Pentium 4 and Above) created a native version that runs around 15% faster then the managed version.
So the original C version is 15% faster than the C++ afterall. :wink:

EDIT>> if you measured performance by FPS, I know why you got the same results. Since Quake2 sends netcode containing information at every screen update, the max FPS is capped. This is done so it won't flood the servers while playing in multiplayer - you can change the allowed maximal FPS number though.
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Tyn_

Post by Tyn_ »

Nothing that I noticed, if it is actually 15% slower then it is completely unnoticable. That is that Managed C++ thing however, which I know nothing about. Some dodgy thing MS invented to shoe horn their way in the prog. langauge market probably. Plus I don't know what the hell that quote means, I understand the 15% bit tho :)

Not saying that I am right about C++ being slower than C, just that from that conversation in the Q2 forum you posted looked like a lot of people throwing facts around at each other. If I can see the difference, in frames or just overall performance and loading times, then I believe. Seems there's quite a few peeps there saying facts that contradict each other. Someone has to have their stats wrong.

Lies, damn lies and statistics methinks ;)
Post Reply