Eddie's Transporter Zones Server

For things that have to do with those crazy test servers... and yeah. By request of z-man, and, of course, you gotta obey...

Moderator: Z-Man

User avatar
ed
Match Winner
Posts: 613
Joined: Mon Feb 13, 2006 12:34 pm
Location: UK

Eddie's Transporter Zones Server

Post by ed »

I got to tinkering with sty+ct again. Trying to learn php oop, creating classes so a zone becomes an object that can be used in different ways.
The first was a transporter zone. This is either set to transport you to the opposite side of the zone (so the zone becomes a vortex through space and time) , or the other side of a sister zone, which will in turn transport you back if you so desire.
It could be used it set up a multiple zone transporter. ie zone1 -> zone2 -> zone3 ->zone1. Moving zones should also work with limitations. But I don't do anything that confusing here.
I try to keep it simple, but it took me a while to get my head around where I was going to end up each time I entered a zone. But I promise you there are no tricks here and they all seem to work as they should.

I would recommend the 0.3 client as it seems to handle the player being killed and respawned quicker than 0.2.8. Plus the minimap is very helpful.

It's a last man standing type of server.
The map looks like this, but of course this doesn't show the sixteen zones used to move around the arena.
It aint great and hopefully camping will be frowned upon and not done too often.
I really put little thought into the map as it built itself, I was trying to build something quite different, I just helped it along. I can think of some flaws, but hopefully it will be a lot of fun (albiet for a short time) and we'll see if my transporterZone classes can handle 12 players jumping around the grid :S

Image
User avatar
DDMJ
Reverse Outside Corner Grinder
Posts: 1882
Joined: Thu Jun 08, 2006 12:15 am
Location: LA, CA, USA, NA
Contact:

Re: Eddie's Transporter Zones Server

Post by DDMJ »

I've never been more confused in my entire life!...but I love it :P. The map definitely needs some work though. The zones in the X are basically death zones since you transport then are literally in front of a wall.
User avatar
ed
Match Winner
Posts: 613
Joined: Mon Feb 13, 2006 12:34 pm
Location: UK

Re: Eddie's Transporter Zones Server

Post by ed »

DDMJ wrote:The zones in the X are basically death zones since you transport then are literally in front of a wall.
Not if you enter it at the correct place ;)
You can either:
a: pass straight though the zone to the other side
b: transport inside the X, wiggle along and then exit at another of the X zones.
c: smash into a wall as you did :)
User avatar
Your_mom
Match Winner
Posts: 653
Joined: Sun Jun 06, 2004 1:45 am

Re: Eddie's Transporter Zones Server

Post by Your_mom »

Nifty. Had it bug out once and it kept transporting me back and forth between two zones. Couldn't replicate it though. Also took a while to figure out how to change from north,south to east,west. Once i did, it was obvious what i was doing wrong.
noob13
Average Program
Posts: 63
Joined: Sat Mar 08, 2008 6:28 pm

Re: Eddie's Transporter Zones Server

Post by noob13 »

Your_mom wrote:Had it bug out once and it kept transporting me back and forth between two zones.
Same thing happened to me at about 16:52 GMT today (I yelled "BUG!").
Otherwise an awesome server! :D
User avatar
-=VcL.Rajinn
Round Winner
Posts: 242
Joined: Fri Aug 29, 2008 9:35 pm

Re: Eddie's Transporter Zones Server

Post by -=VcL.Rajinn »

When I played in the server with path, my client almost crashed.

It was probably just because Pathetique was in the server at the time, but you should still check up on that :D
Image
User avatar
ed
Match Winner
Posts: 613
Joined: Mon Feb 13, 2006 12:34 pm
Location: UK

Re: Eddie's Transporter Zones Server

Post by ed »

Transporter zone
Transporter zone
Thanks to all who have tested it :)
Your_mom wrote:Had it bug out once and it kept transporting me back and forth between two zones.
Yes. I have seen this also. Let me explain why it is happening. Hopefully someone with better maths skill than me can help me. I'm sure it'll involve the use of tan, sin or cos somewhere, but I left them behind in school long ago.
Attached is an image of a basic transporter zone that will respawn the player out the other side of the zone.
He enters the zone at point A, we want to respawn him at point B.
When the player enters the zone the server will write to the log file something like

Code: Select all

TARGETZONE_PLAYER_ENTER westnorthzone eddie -14 10 1 0
This tells my script the name of the zone entered (westnorthzone), the player who entered it (eddie) the x,y coordinates of the point at which the zone was entered and the x,y dir of the player when he entered the zone.
The respawn point for this example, if coordinates of the zone where 0, 0 would be cordinates 14, 10
In an ideal world, this would be fine, the the server doesn't always send the correct coordinates, it can be slow sometimes. so -14, 10 may actually have been -15, 10 so the script respawns at 14, 10 and the player is in turn spawned inside the zone. Have a two way transporter zone relationship going on, once it starts you will get transported between two zones for all eternity.
I have tried adding 3 metres to the respawn x coordinate (for this case), this helps but still get the problem and it makes the transortations look untidy and, dare I say, a bit hacky.

Now to solve this, I would like to be able to check whether the respawn point is inside the exit zone. If it is compensate for it.
I know the zone's radius and coordinates. I just need to check the x and y cordinates before the cycle is respawned.
Any help appreciated.

I'm hoping other bugs are related to this. But this is a big one that needs fixing.

-
Transporter zone
Transporter zone
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Eddie's Transporter Zones Server

Post by Z-Man »

How about you teleport only if the cycle is moving towards the zone center? That should avoid the double teleport, because after the first teleport, you'd be moving away from the center.
User avatar
ed
Match Winner
Posts: 613
Joined: Mon Feb 13, 2006 12:34 pm
Location: UK

Re: Eddie's Transporter Zones Server

Post by ed »

Great solution :D Thanks.
It is now in place and it appears to have fixed it.
I have also made the zones slightly larger so transporting between north->east, east->south, etc isn't quite so fiddly.

Any more bugs spotted, please let me know.
XzL.Smart
Round Winner
Posts: 216
Joined: Sun Apr 30, 2006 4:21 am
Location: Arizona

Re: Eddie's Transporter Zones Server

Post by XzL.Smart »

Edit: Nevermind...
Image
User avatar
hoop
Round Winner
Posts: 201
Joined: Tue Jul 24, 2007 7:45 am
Contact:

Re: Eddie's Transporter Zones Server

Post by hoop »

very nice ed :D

using 0.2.8beta, everytime I get teleported I have to switch camera again
is that gonna be fixed?
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Eddie's Transporter Zones Server

Post by Z-Man »

Dunno. The switch back to your default camera mode when you respawn is explicitly coded there, so it looks like it has some purpose. I'll have do dig into SVN history to check whether it predates respawning support. If it does, it probably just was a safety net for the beginning of round camera initialization, in case the player's game object gets known to the client late.
User avatar
hoop
Round Winner
Posts: 201
Joined: Tue Jul 24, 2007 7:45 am
Contact:

Re: Eddie's Transporter Zones Server

Post by hoop »

aha well, nevermind XD
I didn't realize until now that there was a default camera setting :oops:
pavelo
Average Program
Posts: 70
Joined: Sun Apr 23, 2006 4:05 pm

Re: Eddie's Transporter Zones Server

Post by pavelo »

Nice server eddy. You did it again.

I just had an idea. Let's see if i can present it coherently.

By adding these teleport zones you basically create surfaces which are not topologically equivalent to a plane/sphere. And the nice thing about these surfaces is that you can draw non-planar graphs on them (see attached image). However, doing this is not completely trivial, and it requires quite a bit of thinking even when drawing it with a pencil. So I imagine doing it with a lightcycle tail would be quite a challenging(*).
It would be interesting to make a map resembling the image (with appropriate settings. say infinite tail, reasonable speed, perhaps a bit more axes) and let the user try to draw K_5. If it turns out to be playable we could expand on that and create a sort of a single-player campaign (woot): start with a planar graph and no teleports, and gradually add more teleports and more complex graphs. A script would monitor the users progress and advance to the next level when he completes the puzzle.

So... what do you think? could this work?


* there's a catch.... not every graph that's embeddable on the surface of the given type (in the graph theory sense) can be drawn in arma. It needs to have an eulerian path, so you can't really draw a K_{3,3}. One could work around that by allowing multiple edges between two vertices. Even then, I'm not sure it is sufficient, because graph theory doesn't have problems with intersections that occur in the vertices of the graph, but arma does. But that's a long way away right now...
Attachments
my attempt at drawing K_5
my attempt at drawing K_5
User avatar
ed
Match Winner
Posts: 613
Joined: Mon Feb 13, 2006 12:34 pm
Location: UK

Re: Eddie's Transporter Zones Server

Post by ed »

pavelo wrote:If it turns out to be playable we could expand on that and create a sort of a single-player campaign (woot): start with a planar graph and no teleports, and gradually add more teleports and more complex graphs. A script would monitor the users progress and advance to the next level when he completes the puzzle.

So... what do you think? could this work?
A single player mission based puzzle/skill game was my initial plan when I started on this server. Transporter zones were the first step, once I'd got them reasonably working I thought this server would be at least a good way to test them. And I ran out of free time.
It turned out to be a lot of fun, for a while anyway. Played a good few matches there with several people yesterday, it was very funny and appears to be working as intended. I think there is potential there.

Switch zones will be next where you enter a zone which will have influence on other zones, perhaps change the transportation destination of a transporter zone, spawn new zones, collapse death zones, start/stop a zone that is moving. Many possibilities. Give me controllable bots ;)

To be honest, I don't fully understand the K_5, K_{3,3} idea. It's some type of graph? http://en.wikipedia.org/wiki/Planar_graph it contained lots of long words that I didn't understand :?
Post Reply