Quake2 vs Irrlicht
Quake2 vs Irrlicht
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 , 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?
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 , 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?
Re: Quake2 vs Irrlicht
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.Electron wrote:(Q2 uses DX7 i think)
I know it better than Q2 , works fine with MingW.
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.
-
- Posts: 158
- Joined: Wed Apr 28, 2004 11:03 am
- Location: Hungary
- Contact:
Re: Quake2 vs Irrlicht
I myself worked quite a lot with Quake2. And weeeell will see. Comparison follows.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.
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: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.
Let's discuss I've cut it into pieces because it's easier to read this way.Electron wrote:However, it is easy enough to find engines for the other components besides 3d. Irrlicht has these advantages that I know of:
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:easy to use
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:still in developement so more likely to keep up with technology
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:Q2 uses DX7 i think
http://www.quakesrc.orgElectron wrote:large user community all in one place (here) as opposed to Q2's scattered community
Well, I can't dispute the first 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.Electron wrote:I know it better than Q2 , works fine with MingW.
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!!!! )
-messy code 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.
Staring through eyes of hate we kill
Are we controlled, or is our own will...?
(Edguy)
Are we controlled, or is our own will...?
(Edguy)
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.
-
- Posts: 158
- Joined: Wed Apr 28, 2004 11:03 am
- Location: Hungary
- Contact:
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.
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)
Are we controlled, or is our own will...?
(Edguy)
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
-
- Posts: 158
- Joined: Wed Apr 28, 2004 11:03 am
- Location: Hungary
- Contact:
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 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.
-
- Posts: 158
- Joined: Wed Apr 28, 2004 11:03 am
- Location: Hungary
- Contact:
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.
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)
Are we controlled, or is our own will...?
(Edguy)
I'm saying who is right, but I'd like to quote this article:
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.
That is a quote from a lecturer of the Bath University here in England.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.
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.
-
- Posts: 158
- Joined: Wed Apr 28, 2004 11:03 am
- Location: Hungary
- Contact:
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.
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.
-
- Posts: 158
- Joined: Wed Apr 28, 2004 11:03 am
- Location: Hungary
- Contact:
You're wrong there. I copied this directly from the VertigoQ2 FAQ.
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.
So the original C version is 15% faster than the C++ afterall.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.
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)
Are we controlled, or is our own will...?
(Edguy)
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
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