Is this possible in source? Created 19 years ago2005-02-20 17:56:05 UTC by Alex_SGR Alex_SGR

Created 19 years ago2005-02-20 17:56:05 UTC by Alex_SGR Alex_SGR

Posted 19 years ago2005-02-20 17:56:05 UTC Post #92089
I want to know If the following is possible in a HL2 map. Its pretty complex to get your head round first time, so please read it through a few times untill you understand exactly how its supposed to work.

I have a 3 by 3 array of cubes. That is, 9 cubes total, organised into a 3D structure consisting of 3 cubes deep, 3 cubes tall and 3 cubes wide. In between all of those cubes are smaller cubes, meaning there are 9 large 'Room Cubes' and 48 'teleport cubes'.

If you ignore the BLUE room cubes in the below picture, you should get the idea. The cubes with the coloured borders are 'Room cubes', inside which players can spawn and fight. The smaller 'connector' cubes connect all of the large cubes, and are refered to as 'teleporter' zones.
User posted image
Note: I've added coordiates to some of the boxes above so it helps to identify what I'm talking about below.

When a player touches any 'teleporter' zone from within any room cube, they are to be transported to a RANDOM "unlocked" room cube.

Lets take an ideal case here... We have 9 room cubes, and 9 players. Using 3D co-ordinates, we have a strucure that goes from 0,0,0 [the bottom left lime green cube] to 2,2,2 [The top right 'white/black' dashed cube] (where 1,1,1 is the turquoise cube in the middle of the entire structure).

Lets say the player in cube 0,0,0 touches one of the teleporter zone cubes connected to his or her room cube, they are then transported to a random room cube - for arguments sake, lets say this happens to be 2,2,2. When in 2,2,2, they encounter an enemy. They frag this enemy. We are now left with 8 players and 9 rooms. The system should now identify this, and prevent an empty cube (in this instance, only 0,0,0 is empty) being teleported into. So, 8 players left, 8 possibilities for the next random teleportation - 0,0,1 through 2,2,2

The same system continues until there are two room cubes and two players left. At the next teleportation, the final cube becomes inaccessible, and the last two users complete the round by killing their opponent.

At the end of the round, all room cubes become accessible again, people respawn, and the whole thing starts again.

Can this be done?
Posted 19 years ago2005-02-20 18:02:23 UTC Post #92090
er, by 9 above I mean 27, obviously.
Posted 19 years ago2005-02-20 18:31:36 UTC Post #92099
That is utterly insane. I don't know if it's possible, but this post is to keep this idea up for one of our Sourcesperts because it's so stunnin'.
Seventh-Monkey Seventh-MonkeyPretty nifty
Posted 19 years ago2005-02-20 19:31:48 UTC Post #92117
Wow, just, wow...
Luke LukeLuke
Posted 19 years ago2005-02-21 04:57:22 UTC Post #92182
Yeh I'm Pretty sure it could be done. Ask someone whos doing HL2:DM for more help.
Posted 19 years ago2005-02-21 05:52:58 UTC Post #92186
Insanely cool.

Afaik it's all possible, too :) - The problem is that it takes a large enough amount of entity work to drive one insane. Let me think about how one would accomplish this, I'd have to write it all down.
RabidMonkey RabidMonkeymapmapmapfapmap
Posted 19 years ago2005-02-21 19:44:37 UTC Post #92379
The problem I forsee is how you are going to randomly teleport to another box. In my mind everything else is possible, but what would make it random?
Posted 19 years ago2005-02-21 19:57:18 UTC Post #92380
I have some ideas on how to do this but it is crazy hard. Lots of triggers, lots and lots of i/o. maybe even a way to trick the teleports into being random, but it makes the equation 100 times harder. unless... Can triggers be made to rotate? or move like a func_train on a loop? If so I have an idea that may work.
Posted 19 years ago2005-02-21 20:53:32 UTC Post #92389
Triggers may be parented with another item (rotating object) so yes.

I'm still thinking D:
RabidMonkey RabidMonkeymapmapmapfapmap
Posted 19 years ago2005-02-21 21:57:20 UTC Post #92408
Again, just, wow...
Luke LukeLuke
Posted 19 years ago2005-02-21 22:09:41 UTC Post #92412
Ok. I am going to try to get something to work. I expect to fail miserably
Posted 19 years ago2005-02-22 05:21:36 UTC Post #92497
Im not a death match mapper but if you have teleports you could use a logic_counter to set them at random have a look at the verc tutorials there was one on making things random.
Posted 19 years ago2005-02-22 11:28:59 UTC Post #92553
Yes,i thought about this for HL1, but was put off by the entity limits and such, there was a kind of idea for TFC where you had to get through rooms with traps :P

wait, what are those blue boxes? teleporter rooms?

make the player fall through and get randomly hit by stuff (well, not hit) but trigger_push's added to invisible func_rotatings?

and 48 small triggers?
Posted 19 years ago2005-02-22 11:59:20 UTC Post #92558
I have never made a DM map before and there are a couple things I am worried about. First, how can you make the people that die stay dead until the end of the match? Im sure there will be other things to address before im done but this is what I have so far.

My idea is to have rotating teleports that the player bumps into when entering the machine(its a little more complex than that but im keeping it a secret for now). when the room becomes empty, all the teleports that lead to that room are disabled. Each room is going to be specialized for different weapons.
Posted 19 years ago2005-02-28 11:44:13 UTC Post #94134
you can make them stay dead by making a second room farther off that keeps them there until the last player is dead and they are triggered in (not quite sure how that'd work)
Posted 19 years ago2005-03-15 05:08:26 UTC Post #96956
I don't think you can stop the respawn command from the server in HL2DM. You can in CS, DOD, and a few other mods. I'm really, really new to HL2DM, so don't take my word for it. It's just how the logic plays out in my head. Maybe the teamplay aspect of the game has some code you could pervert?
Posted 19 years ago2005-03-15 19:13:32 UTC Post #97182
....OMG...filters.....triggers......explodes
Posted 19 years ago2005-03-15 19:24:16 UTC Post #97185
There are ways to make random things to be triggered, beggining with the oldest of ways, the odds of where or how an object lands when tossed (dice and similar stuff)
Imagine, for example, a floor with different triggers that kill teleport destinations.

You could have several func_physics blocks that fall into the room once a player is killed, get hit by a fan in the middle and randomly end up falling in one of the triggers, which is then disabled.

It's a very strange way to do it, but also fun!
You must be logged in to post a response.