[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/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 - "Infinite" map approach

"Infinite" map approach

Discuss the construction of maps and the tools to create maps for 3D games.

Moderator: InsideQC Admins

"Infinite" map approach

Postby Chip » Fri Apr 11, 2014 3:26 pm

How would you approach a huge, huge map, something like all original levels combined into one?

Is it possible? Does Q3BSP or BSP2 offer this?

Note #1: I've been "out of" Quake for a while and I can't exactly remember the map limitations.

Note #2: It just dawned to me that limitations might occur inside the map editor or the compiler. I'll definitely have to test some maps.




Fear not the dark, but what the dark hides.
User avatar
Chip
 
Posts: 575
Joined: Wed Jan 21, 2009 9:12 am
Location: Dublin, Ireland

Re: "Infinite" map approach

Postby qbism » Fri Apr 11, 2014 4:23 pm

Yes, would be good to check some huge maps of recent years. Mind-blowing size and complexity compared to original maps. Someone actually combined episode(s) into one map iirc.
User avatar
qbism
 
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am

Re: "Infinite" map approach

Postby frag.machine » Fri Apr 11, 2014 5:06 pm

I combined all maps from episode 1 into one single .BSP once.
It was a quick and dirt task, only as a proof of concept: no monsters or items, only the bare minimal entities to allow navigation from start to end (would be interesting to allow the player to go back though).
I suppose one willing to dive into the totally boring task of refactoring the resulting huge .BSPs into the limits of Darkplaces or FTE could do the same for the other episodes and/or DM maps.
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

Re: "Infinite" map approach

Postby Spike » Fri Apr 11, 2014 5:11 pm

both q3bsp and bsp2 use 32bit data types for everything.
there are still limits, but they're generally not the file format itself.
its definitely not infinite, you'd still be expected to vis it, etc.

10000 monsters all checking to see if they can see the player 10 times a second can be quite a lot of tracelines and thus quite expensive.
Processing time does not always scale well. Many things (like monster thinks) scale linearly. Other things scale exponentially (ie: find() calls are more likely with more entities trying to search for other entities in a bigger list).
These things can often be mitigated with sensible/nonstandard gamecode logic, but this typically means more work not only for the coders but also for the mappers (setting up triggers).

both fte and rmqe support a hub system which can be used for an effectively truely massive playing area, but the catch is that it requires all players to move between maps together, and effectively pauses the other parts of the game. if backtracking in single player is your only aim, then it can work just fine.

not that long ago, I started working on a 'mapcluster' command in fte dedicated servers. essentually the server forks itself as required to host multiple maps simultaneously, and transfers players from one map to another. You still get loading screens, but the various parts of the 'map' are all running simultaneously with players in any part they want. The downside is that currently the players can't actually talk cross-map, and gamecode can't easily do so either (and needs to be modified to do some player transfer logic instead of normal map changes). Basically, it still needs lots of polish. The upside is that the player limit becomes per-map, server ticks can be throttled on individual maps that have no players or shut down(reset) completely, and gamecode could transfer a group of players to a private/instanced map (if you like grindy stuff).
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: "Infinite" map approach

Postby ceriux » Sun Apr 13, 2014 12:06 am

That's some interesting stuff spike. I used to really be into this RPG mod for Half-Life and back in the day they would talk about stuff like that. But the only way they could do it is buy and host multiple different servers. But by now they have soany different maps that, that's probably unrealistic.
User avatar
ceriux
 
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA


Return to Mapping

Who is online

Users browsing this forum: No registered users and 1 guest