Page 1 of 2

linking maps together

Posted: Mon Jul 26, 2010 4:03 pm
by darkcodemonkey
I'm not sure whether I should put this here or in mapping, so forgive me.

Anyway, I am trying to do a quake single player mod and would like to create a massive world, but i'm trying to have it spread out over several maps, more along the lines of Legend of Zelda or Monster Hunter. I've been using GTKRadiant to map (mostly because I'm running on Linux), but can't figure out how to link maps together with a teleport or what ever it is I'm missing, like in the start map in Quake 1. if anyone could help me it would be most appreciated.

Yes, I''m a noob, but everyone has to start somewhere.

Thanks in advanced

Posted: Mon Jul 26, 2010 4:22 pm
by leileilol
"Like the start map in Quake" is done by this - if a rune is posessed, the game starts you off in info_player_start2 instead. That's it. Unfortunately if you want to do ambitious cohesive cross-level linking with Quake, there's no clear and simple way to do that. Hexen II barely did it, Quake2 somewhat did it, and Half-Life had a very annoying way of doing it.

You say you're a noob, so I highly advise to start small. You can't make a Zelda on your first week.

Posted: Mon Jul 26, 2010 4:37 pm
by Spike
I've never played Zelda, so I'll have to use other games as a point of reference...

If you want a hub system such as that found in HalfLife, Quake2, or Hexen2 where you can return to a previous map where all the ents are how you left them... forget about it. Without extensions it cannot be done.

What you can achieve is loading a previously visted map with entities that are spawned conditionally such that it appears to be a progression of the previous map. The serverflags global is persistant and can be used to decide the previously visited maps. This is the same global that holds the grabbed runes in Quake, and it is this field that spawns the various barriers on start.bsp. Spawn spot selection is also tweeked such that if you have any rune, it uses info_player_start2 instead of the regular start spot.
This only really works with maps which have no monsters, as they are likely to respawn without intervention.



Note that if you want a true hub system and are willing to stick to a single engine, FTE can support hub systems with a couple of changes to a mod. Simply add an extra optional string argument to changelevel, and the previous map will be archived in case you return. The extra argument is passed to the next map via a 'startspot' string global, and this can be used to choose the player's spawn spot on the new level.

Posted: Mon Jul 26, 2010 5:16 pm
by darkcodemonkey
thanks for the quick replies, but...

IDK whether I'm just not reading what you said right, or whether I didn't explain it well enough.

Basically what I want is to have the player walk from one map and then to another, and then back again. Right now, I'm not worried about complicated stuff like having things stay where the player left it or what have you. All I want are slipgates for the most part.

walk from map A to map B, then back to map A, but when you appear at map A for the second time, you are near the exit to map B, and not where you originally spawned.

Sorry if I'm making this too complicated than what it needs to be. when I said like the start map, what I want is, how does it teleport you from start.bsp to e1m1.bsp or e2m1.bsp ect...

Thanks again.

BTW: I'm not planning on making a zelda in my first week, I'm experienced enough to know that it could months or even years for it to be complete, or even done right. but this is just a small thing in the bigger picture to come much, much later.

Posted: Mon Jul 26, 2010 5:52 pm
by darkcodemonkey
Well, I figured half of my problem out, just by using the change level trigger, but now what if I want the player to teleport from one map to a different spot (much like after completing a level) but without holding anything. so basically spawn at playerspawn 2 without holding a rune.

thanks again

Sorry for being a noob

Posted: Mon Jul 26, 2010 5:57 pm
by Spike
1: spawnflag will kill that
2: means you have no cd in the drive, ignore it. also see 1.
3: don't know what you mean

Posted: Mon Jul 26, 2010 6:01 pm
by goldenboy
walk from map A to map B, then back to map A, but when you appear at map A for the second time, you are near the exit to map B, and not where you originally spawned.
You cannot very simply do that sort of stuff in vanilla Quake.

Quoth is a mod that allows for some inter-map travel like this, but I'm unsure if it does what you need. It is also very limited, so you can't go back and forth between several maps.

http://kell.quaddicted.com/quoth/quoth_ ... info_gates

What you can also do is use the Russian method and simply have two versions of map A with different names. So you'd have three maps, but the player will never notice it. It's primitive, it's cheating, it's wasting resources, but it'll work.

In Quake 1, most things that you'd take for granted and that you'd think would be simple, aren't simple.

Posted: Mon Jul 26, 2010 6:08 pm
by darkcodemonkey
Spike wrote:1: spawnflag will kill that
2: means you have no cd in the drive, ignore it. also see 1.
3: don't know what you mean
lets say, you start the game in House A. when you leave House A, you are brought just outside House A into a town. If you go into House B, you are brought inside that house. But when you leave, you will be brought back to the outside of House A because that is where the spawn point is. can I make it so you are outside House B without holding onto a rune.

Also, let's say that there are multiple houses (House C, House D, etc...) how would I go about doing multiple spawn points and in turn linking each map to that specific spawn point.

Hope this clears thing up a little.
thanks

Also, BTW: I'm planning on using darkplaces as the engine.

Posted: Mon Jul 26, 2010 7:34 pm
by frag.machine
darkcodemonkey wrote:
Spike wrote:1: spawnflag will kill that
2: means you have no cd in the drive, ignore it. also see 1.
3: don't know what you mean
lets say, you start the game in House A. when you leave House A, you are brought just outside House A into a town. If you go into House B, you are brought inside that house. But when you leave, you will be brought back to the outside of House A because that is where the spawn point is. can I make it so you are outside House B without holding onto a rune.

Also, let's say that there are multiple houses (House C, House D, etc...) how would I go about doing multiple spawn points and in turn linking each map to that specific spawn point.

Hope this clears thing up a little.
thanks

Also, BTW: I'm planning on using darkplaces as the engine.
If you are trying to simulate a small town I suggest doing that in the same map using regular teleporters. Put a silent tele and its destination in each side of every door, and with some judicious use of stuffcmd you can even simulate fadein/fadeout effects (much similar to Elder Scrolls IV: Oblivion). I already did something like that, it works pretty well for a single player mod. This opens possibilities like reuse of indoor scenaries for multiple houses (only changing the inhabitants and the furniture - like Oblivion already does, btw), but that would be a more advanced feature.

Posted: Mon Jul 26, 2010 7:55 pm
by darkcodemonkey
i was mainly using that as an example of what I want to do. mostly because I want multiple maps interconnecting with each other.

but thanks, this information my come in handy for when I do towns. and I was wondering if something like that would be at all possible.

Thanks

Posted: Tue Jul 27, 2010 1:48 am
by Baker
Absolutely possible ...

http://forums.inside3d.com/viewtopic.php?t=2307

Prepare to get your hands dirty though ...

/Now that I have multimap demo playback capability, I ought to record an example of multimap travel and upload to YouTube sometime. Admittedly, I won't be doing this today as I have some serious engine coding stuffs I wanna do.

Posted: Tue Jul 27, 2010 2:59 am
by darkcodemonkey
thanks, I'll try out the tutorial you wrote up on that post.

Thanks a lot.

Posted: Wed Jul 28, 2010 7:46 pm
by darkcodemonkey
Well, I'll try it once I figure out why I can't even get the normal Quake source code to compile on my machine. Oh well, maybe here soon.

Posted: Thu Jul 29, 2010 3:25 am
by gnounc
Er. Make sure you're using a QuakeC compiler...and not a C compiler.
Not sure if that needed to be said.

Posted: Fri Jul 30, 2010 4:47 am
by darkcodemonkey
I'm not having a problem compiling the QuakeC source code, but the actual engine code.

Thanks anyway.