[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - A comparison of Quake Engines focused on Singleplayer

A comparison of Quake Engines focused on Singleplayer

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

Postby Spirit » Wed Apr 09, 2008 10:14 am

I updated it with some corrections and fixes.
QMB indeed does fullbrights, my fault. :)

For the animation interpolation I guess I will have to check them all again and watch closely at normal speed.

frag: Thanks!
FrikaC: The truth sometimes hurts. But it should be no reason to be offended, especially if your engine focused more on modding features. The comparison is full-on Singleplayer maps. It would be very different for mod support.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1037
Joined: Sat Nov 20, 2004 9:00 pm

Postby Urre » Wed Apr 09, 2008 11:03 am

It'd be neat to see a comparison like that, too, modding friendlyness/compatibility that is. Different engines have different problems with certain mods, but at the same time support other cool stuff for new mods, and vice versa.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby r00k » Wed Apr 09, 2008 11:16 am

Spirit can you link me to a map that has fog in worldspawn to test?
I'm sure i fixed it, as i was trying to set a value of the fog cvar with an incorrect pointer, but I just want to make sure ;)
r00k
 
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Postby mh » Wed Apr 09, 2008 11:17 am

I found it a very interesting and informative test, and it's certainly highlighted a few areas where engine coders may need to concentrate their efforts. :P I'm not going to get too hung up over what an engine I made 4 or 5 years ago can or cannot do, but I will make some general comments that I think apply across the board.

Mod support is always the killer. You never know what weird quirks a mod might exploit in order to do it's thing, especially if the QC and/or map sources are unavailable. Even something as basic as a cleaned up render path could end up breaking certain mods. :evil: I'd love to see an "engine killer" map that only used ID1 features - that would be a much more valid and useful tool for an engine coder to build compatibility for larger maps. At least one could focus one's efforts on genuine support for the larger map, rather than continually getting sidetracked with building fixes for unintended QC exploits.

A lack of true standards is another thing that probably explains why a lot of engines don't have certain things implemented. Take loading a sky box from worldspawn. What key name do you use? What folder do the sky boxes go in? Does the value include the path or not? What's the naming convention for the 6 components? How do you react if you can't load all 6? Copying what Darkplaces does is the nearest we have to a standard, but then we get a new map that's designed for a specific faithful/minimalist engine that does things differently! The poor coder has to make the choice between trying to support every possible standard (and potentially creating a mess in the process), only implementing what seems reasonable to them (and potentially getting burned when their engine doesn't support stuff) or not bothering at all. It's a no-win situation.

The faithful/minimalist/purist people are another stumbling block. Engine coders like adding new effects, because they like Quake The Game but want to bring it's overall look up to more modern standards (or at least I know that's my motivation - when I see Doom 3 maps, I just think "wouldn't it be so cool if e2m5 looked at least partially like that?"). For most people this isn't a problem, but there is an extremely vocal minority who shoot down anything that doesn't look like DOS Quake at 320 x 200 (OK, silly exaggeration, but I'm sure you know what I mean).

Finally, there is no true collaboration among engine coders. I'd personally love to work with some of the folks out there on a single common codebase. Such a custom engine would stand a better chance of being all-things-to-all-people, and individual coders would be better able to focus on specific areas they're stronger in (in my case I'm good at kickstarting new and different ways of doing things, but a poor finisher). Collaboration is limited to exchanging snippets of code and giving the occasional helping hand, but it stops there. Most work is done in isolation. It's actually worse since QuakeSrc went down, as there's no melting pot of ideas any more.

It seems this got a bit more rant-ish than I'd intended, but I do think it's relevant in the context of this test, and would be interested in hearing what other engine coders think. :)
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Spirit » Wed Apr 09, 2008 11:39 am

Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1037
Joined: Sat Nov 20, 2004 9:00 pm

Postby Urre » Wed Apr 09, 2008 1:13 pm

I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby leileilol » Wed Apr 09, 2008 3:46 pm

leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby FrikaC » Wed Apr 09, 2008 4:57 pm

FrikaC
Site Admin
 
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Postby scar3crow » Wed Apr 09, 2008 6:03 pm

User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Postby frag.machine » Thu Apr 10, 2008 2:27 am

I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2120
Joined: Sat Nov 25, 2006 1:49 pm

Postby Baker » Sat Apr 12, 2008 4:27 am

User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby frag.machine » Sun Apr 13, 2008 10:53 pm

I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2120
Joined: Sat Nov 25, 2006 1:49 pm

Postby Spirit » Mon Apr 14, 2008 7:25 am

Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1037
Joined: Sat Nov 20, 2004 9:00 pm

Postby CocoT » Mon Apr 14, 2008 1:47 pm

Eh, it's okay, it's a great starting document and, if you have time, you can tweak it from time to time based on the feedback/comments of engine coders :)
The fact that your page generated such discussion is already very positive in itself, I find :)
- New location: Update your bookmarks!
User avatar
CocoT
 
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum

Postby Spirit » Mon Apr 14, 2008 5:26 pm

Actually warpc is a good test indeed as . :)

It sure is a bitch of a map and nothing you would expect as engine coder. By no means every engine MUST support it, it was just the "extreme maximum super giga hyper" "let's let the engine crash" map.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1037
Joined: Sat Nov 20, 2004 9:00 pm

PreviousNext

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 2 guests