Is there a description of the mechanics of the game anywhere

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
Post Reply
dariv
Round Winner
Posts: 316
Joined: Sat Aug 21, 2010 2:24 pm

Is there a description of the mechanics of the game anywhere

Post by dariv »

Like how the game works?

eg.

client cycle at (0,0) on grid
client turns right at 14.924 seconds
message sent to server ("client turned right at 14.924 seconds")
server sends reply ("roger")

I guess it's more complicated than that. I remember z-man saying the grid was made of triangles, though I don't really understand why the grid needs to be spanned by anything.

Just curious, I did a bit of work on finite element methods a while back and this seems related.
pLxDari - Challenge us!
epsy
Adjust Outside Corner Grinder
Posts: 2003
Joined: Tue Nov 07, 2006 6:02 pm
Location: paris
Contact:

Re: Is there a description of the mechanics of the game anyw

Post by epsy »

The grid is made out of triangles only for rendering. (So is any surface in any 3D world.) It matches every wall a player/map designer has laid.

And yeah that's essentially how cycles are controlled (src/tron/gCycle.cpp), with both client and server predicting everything considering the events they know happened. Unlike Quake 3 we don't send the whole gamestate in one packet and do next to nothing else, but instead use separated messages for each event. The server/client will push for these events to come to the other end until the other party acknowledges it though.
dariv
Round Winner
Posts: 316
Joined: Sat Aug 21, 2010 2:24 pm

Re: Is there a description of the mechanics of the game anyw

Post by dariv »

Ok, thanks,

My second question is, the timings are absolute rather than relative? By relative I mean the client might say "cycle turns left 0.3 seconds after previous turn", instead of saying "cycle turns left at 1832.293 seconds" (measured from the round start, for example).

Because I've sometimes experienced a slide that moves one turn, but I make another turn soon after that doesn't appear to have changed. As a result I've got a cycle delay of less than the server minimum, because the first turn has been delayed and the second turn hasn't.

(don't know much about cpp... Im guessing its c++)
pLxDari - Challenge us!
epsy
Adjust Outside Corner Grinder
Posts: 2003
Joined: Tue Nov 07, 2006 6:02 pm
Location: paris
Contact:

Re: Is there a description of the mechanics of the game anyw

Post by epsy »

CPP indeed stands for CPlusPlus. (I guess.)

Timings are for the most part relative to round start, with 0 matching the moment cycles start moving.
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Re: Is there a description of the mechanics of the game anyw

Post by Jonathan »

CPP is backmasking to make you buy PowerPC processors. Subliminal messages are totally working!

Seriously though, the triangles you're probably referring to are what the grid data structure is made of. It's one way to allow the game to check only the local area for walls, instead of checking every single wall every time it wants to check for collisions.
ˌɑrməˈɡɛˌtrɑn
Post Reply