View previous topic :: View next topic |
Author |
Message |
geadin
Joined: 13 Feb 2010 Posts: 63
|
Posted: Sun Apr 25, 2010 5:11 pm Post subject: a question on pulses/rounds/lag/ticks |
|
|
Hello all. I’ve been wondering about a few things. Mainly how time affects game play in AR. I assume rounds and pulses are always present? Are pulses a separate timer and only used to accept commands and put them in queue? Basically I want to verify what I know. So far I think things flow like this. Pulse (always running) gets command>command gets put in queue>depending on round/lag/tick command is executed by a execution pointer or something>which then goes back to queue and grabs another command to execute? |
|
Back to top |
|
|
Nyub101 Emissary
Joined: 30 Jun 2009 Posts: 120
|
Posted: Sun Apr 25, 2010 9:49 pm Post subject: |
|
|
So here goes!
Rounds are like when you are fighting. 1 round of fighting would show your attacks and the other persons attacks. The commands you put in, such as dirt, bash, etc., are not held to a round. EX. in between two rounds, you can use 'dirt' and it won't wait until the beginning of the following round.
Lag- well it's just as the word tells. Skills can have lag on both ends, such as bash. It will lag the oponent a 'round or two' and lag you for using it. It can be a double edge sword because if you miss the 'bash' you will suffer lag where as your opponent will not get to. This pretty much means your pulling your butt off the ground and your opponent remains untouched from such attack, ready to run from said sand gnomes. The common one is dirt gives the dirter, not dirtee, two rounds of lag.
Ticks is the AR hour. When you use your score you will see something like "Spell: detect invis : lasts for 39 hours". This is 40 ticks left, due to the 0 hour. Unfortunetly, some old schoolers still say 'gimmi one tick and we move'. This is one theran hour. You recover every theran hour in terms of health, mana, movement, dignity, etc... So long as you are not plagued or something by a spell.
As for this que your talking about. Yes, if you do things such as 'di bash flee c 'invis'' all those will work in that order. There is no way to stop a command once you have entered it. All of them go into that que you spoke of.
Hope this helps. Oh yea, as for pulse... Ugghhh never heard of it. Hahah and I've been here for many a years... Unless pulse is a term for something else. |
|
Back to top |
|
|
Davairus Implementor
Joined: 16 Jan 2004 Posts: 10352 Location: 0x0000
|
Posted: Sun Apr 25, 2010 11:48 pm Post subject: |
|
|
Process goes more like this:
player enters command -> command goes into a text buffer on a new line
every pulse, game scans through everybodies text buffer in a manner not particularly designed for fairness , and executes the oldest command in the buffer (unless lagged)
One of the goals I had in mind for the game was to recode the death process so people don't die from damage, but rather deaths are postponed until after these rounds of updates. That way people can hellstream each other at the same time and both will hit, even if the guy who takes the first hellstream dies. It is naturally a big job for little gain so thats why it hasn't been done yet. I think its a weakness of rom 2.4. |
|
Back to top |
|
|
geadin
Joined: 13 Feb 2010 Posts: 63
|
Posted: Mon Apr 26, 2010 1:12 am Post subject: |
|
|
I see, so its first in, last out(FILO)? I didn't realize players could enter a command mid-pulse so to say. Is the pulse game-wide, area-wide, or room-wide? I'm curious as to how rounds tie into this. Is the timer for rounds always present? Meaning are rounds looping even while nothing is going on? Thanks for the replies. |
|
Back to top |
|
|
Davairus Implementor
Joined: 16 Jan 2004 Posts: 10352 Location: 0x0000
|
Posted: Mon Apr 26, 2010 4:12 am Post subject: |
|
|
I'm pretty sure packets get sent to the server when you press enter, and that the game server is "listening" and knows what to do with incoming packets (i.e. read them and convert them for the text buffer). If that isn't instantaenously as they arrive my mistake then, but they're certainly out floating on the internet somewhere, and my investigation into whats going on indicates that there is definitely a text buffer where these commands go.
I guess the loop would append packet information to the text buffer then process it, but those packets are still floating around somewhere before that. That's what I meant to convey was the text buffer is appended whether the commands are processed or not, and what matters is the commands are processed once for each player (unless lag) each pulse, and there's no way to change that, there are 4 cycles per second forever. Its good for the game to be setup that way, because it gives the server time to get things done before more work arrives, and this was based on 80s architecture. |
|
Back to top |
|
|
dead
Joined: 21 Jun 2009 Posts: 100 Location: The Missouri Ozarks
|
Posted: Tue Apr 27, 2010 5:51 am Post subject: |
|
|
Davairus wrote: |
One of the goals I had in mind for the game was to recode the death process so people don't die from damage, but rather deaths are postponed until after these rounds of updates. That way people can hellstream each other at the same time and both will hit, even if the guy who takes the first hellstream dies. It is naturally a big job for little gain so thats why it hasn't been done yet. I think its a weakness of rom 2.4. |
GREATEST IDEA EVER! |
|
Back to top |
|
|
|