[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/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 - Engine standards for mod compatibility

Engine standards for mod compatibility

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

Postby Urre » Thu Jan 14, 2010 8:44 pm

Last edited by Urre on Thu Jan 14, 2010 8:48 pm, edited 2 times in total.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby Team Xlink » Thu Jan 14, 2010 8:46 pm

Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby mh » Thu Jan 14, 2010 10:57 pm

User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Urre » Thu Jan 14, 2010 11:19 pm

What about network protocol? I think I mentioned earlier, that some raised limits require altering the protocol, which in my mind would require some form of standard for that as well. Spike mentioned the fact that there could be singleplayer-only engines, which would get excluded if there was a protocol requirement. This, to me, is simply fixed by letting a singleplayer-only engine freely upping the limits to match that of the multiplayer-capable ones, while the multiplayer-capable engines have the additional requirement of supporting a common network protocol, to make sure they're all able to play online with eachother. I don't see it being an unreasonable thing to ask. As a modder you'd expect all the engines within the same standard to be able to run your multiplayer mod between eachother. Otherwise it's not much of a standard, is it?

Is Protocol 666 (FitzQuake) a reasonable suggestion? I'm not entirely sure on the boundaries of its limits, it didn't seem like the readme had all the details, I might not have looked hard enough though. It'd be great if someone could provide a detailed list of what Protocol 666 requires.

The main thing that absolutely needs to be bumped, and I suspect it does affect the protocol, is the amount of entities you're able to have on the server. One of the most common things I've heard modders worry about is saving in on entities, constantly, worrying about spawning an extra entity for something which might make their life easier or the feature they're developing a bit better. This is one of the main reasons I've been modding exclusively for the DarkPlaces engine, because it allows virtually unlimited entities. I've never reached any limit anyway, and I've had huge maps filled with over 4000 waypoints, on top of the regular entities used by the actual game. Ofcourse, the limit doesn't have to be insane, but reasonably larger than Quakes. A modder shouldn't have to worry about wasting entities just because the amount is limited. The question wether they can all be visible at the same time or not is a different one. That I guess is more of a packet-overflow kind of discussion, which also affects the network protocol.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby mh » Thu Jan 14, 2010 11:44 pm

Mr Fitz himself kindly wrote up a description of that, and I'm pretty certain it's lurking somewhere on the wiki.

I think it's a good suggestion, although currently I think only FitzQuake and DirectQ support it (and I'm not 100% certain on how well - or not! - I've implemented it :lol: ) It would also be popular with mappers and modders, which can only help.

I would however extend it to add some more granularity to origin and angles. I don't see much reason why origin can't be transmitted using the original float, and all angles (not just the client) should - at worst - be extended to 16 bit quantization (full float would be preferable though).

This would require a bigger buffer, hence larger transmissions, but for MP games it would only matter if the server was running the same protocol.

For SP games I would advocate bypassing the protocol and network layer entirely and just writing/reading the data direct, but I haven't researched this enough to know how much work would be involved (quite a lot I suspect).
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Urre » Thu Jan 14, 2010 11:48 pm

Concerning graphical features, seeing as they're both controversial and kind of silly to keep consistent between software and hardware accelerated rendering, I'm going to attempt finding some form of middleground which means different requirements depending on what rendering your engine supports, and for atleast one case, a completely new solution, which is kind of going against the core idea of this standard (standardize existing features), but I'm feeling it's justified for this specific case... You're all welcome to whine about it in the other thread once I've updated the QSB entry in the wiki :)

How does this sound though, theoretically speaking? Do you feel it's okay to have different requirements?
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby Urre » Thu Jan 14, 2010 11:50 pm

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

Postby metlslime » Thu Jan 14, 2010 11:53 pm

metlslime
 
Posts: 316
Joined: Tue Feb 05, 2008 11:03 pm

Postby mh » Thu Jan 14, 2010 11:57 pm

User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby metlslime » Fri Jan 15, 2010 12:03 am

metlslime
 
Posts: 316
Joined: Tue Feb 05, 2008 11:03 pm

Postby Urre » Fri Jan 15, 2010 12:09 am

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

Postby Urre » Fri Jan 15, 2010 12:14 am

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

Postby mh » Fri Jan 15, 2010 12:24 am

Sounds good to me too. :D

Adding a new protocol isn't that difficult, and even easier if you decide to replace protocol 15 outright. It's just kinda messy the first time you add one. Having more than 1 protocol supported can involve quite a bit of juggling in your code too.

I guess it's not really frowned upon, it just doesn't have quite the same sex appeal as a particle system or whatnot. Me, I enjoy tinkering with stuff on the level of the file system or the memory manager (it helps that I'm also rubbish at particle systems), so I'll cheerfully add as many protocols as are reasonably documented.
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby metlslime » Fri Jan 15, 2010 1:39 am

metlslime
 
Posts: 316
Joined: Tue Feb 05, 2008 11:03 pm

Postby frag.machine » Fri Jan 15, 2010 3:08 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

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 2 guests