www.ClassicTW.com
http://classictw.com/

v2.xx TWA files
http://classictw.com/viewtopic.php?f=52&t=33014
Page 1 of 1

Author:  Helix [ Fri Mar 09, 2012 4:39 pm ]
Post subject:  v2.xx TWA files

John,

Is there anything to be done with the twa file format to make it so a sysop can easily tell that it was created or setup for v2.xx or v1.03?

Now the only way I can tell is of the person set the sectors above 20k.

H

Author:  John Pritchett [ Fri Mar 09, 2012 5:43 pm ]
Post subject:  Re: v2.xx TWA files

I can't make TWv1.03 recognize a v2 file, and a v1.03 file will load into v2, so it won't matter. Really, all we can do is identify them as being intended for v1.03 or v2. I never intended for people to continue to run v1.03, so it never occurred to me to treat them like two different servers. v2 just builds on v1.03, but it's still the same game. The v1.03 TWA files are imported into v2 and updated to the latest data format just like it did between v1.02 and v1.03.

Author:  The Bounty Hunter [ Wed Mar 14, 2012 11:22 am ]
Post subject:  Re: v2.xx TWA files

I think it will always be 2 seperate servers unless you set up a 1.03 emulator. Some out there just stuck in their ways and refuse to play.

Author:  John Pritchett [ Wed Mar 14, 2012 1:31 pm ]
Post subject:  Re: v2.xx TWA files

I don't plan to make an emulator, but I do want to continue to work to get v2 as close to v1 as possible. Many of the differences are unintended and not necessary. Just a matter of identifying and fixing them.

Author:  The Bounty Hunter [ Wed Mar 14, 2012 2:03 pm ]
Post subject:  Re: v2.xx TWA files

Understood. You know people though, it will take an act of congress to get them to change. lol. Hopefully enough sysops will swap over and that is where the players will be.

I just recently swapped over to the new version but when you bang a new game, does it default to the exact same settings that 1.03 did? If not maybe putting in a option to set to 1.03 settings. If it defaults there already, no changes necessary. :)

Author:  John Pritchett [ Wed Mar 14, 2012 3:01 pm ]
Post subject:  Re: v2.xx TWA files

The intention is for defaults to be the same as v1.03 settings. Any changes in behavior stem from internal changes to optimize the game's IO. TWGSv2 can run many times faster than v1.03, which is why the pacing was necessary. Instead of running faster, it will run more efficiently, supporting a larger number of players. But differences in how commands are processed can impact how the game plays for very advanced players. I have some changes in mind to restore at least some of the original behavior in the latest version.

The game pace still needs work. I was originally working with Singularity to work out the proper pace for various actions in the game, but he moved on before we really got that nailed down. I'm open to feedback on how that can be improved. If any action seems too fast or two slow, it's a simple matter for me to tweak the timings.

The other major change results from Gold alien fixes, and it's just not practical to create a setting to support both the buggy and fixed behavior for every bug I fix.

Author:  The Bounty Hunter [ Wed Mar 14, 2012 3:52 pm ]
Post subject:  Re: v2.xx TWA files

That is good enough for me. I am running ver 2 for my public TWGS (Almost no traffic) and am running 1.03 on a back-end server for testing. I am still running thorugh scripts to see if there are differences in how the server handles and reacts to each scripts. Not many differences so far.

Author:  John Pritchett [ Wed Mar 14, 2012 4:25 pm ]
Post subject:  Re: v2.xx TWA files

Thanks, TBH, I appreciate the effort. Just let me know if you find something and I'll do my best to work it out.

Author:  Kaus [ Wed Mar 14, 2012 7:11 pm ]
Post subject:  Re: v2.xx TWA files

Quote:
The game pace still needs work. I was originally working with Singularity to work out the proper pace for various actions in the game, but he moved on before we really got that nailed down. I'm open to feedback on how that can be improved. If any action seems too fast or two slow, it's a simple matter for me to tweak the timings.

Regarding the timing stuff, I'm not sure how to help with game default settings without attempting to tackle the CPC function request. I know we briefly addressed the ping emulation stuff but I really think that at a certain setting it completely changes the game.

Actually truth be told I'm not a fan of reducing the timings in general. With the exception of ping emulation to a point. I can see why it may be necessary to drop it as low as say 70-90 range to even the game out. Any lower and i think there are some real adverse affects both in packet loss (client side) as well as helper issues/timing issues.

Author:  John Pritchett [ Wed Mar 14, 2012 9:43 pm ]
Post subject:  Re: v2.xx TWA files

Kaus, I do intend to tackle the CPC issues we discussed.

Keep in mind that I'm talking about "sync delays", which are different from the action delays. I know I got into that quite a bit with you in PM, but in a nutshell, action delays tend to be relatively long, and you always wait for the specified delay. Sync delays are typically very short, and you only wait if you attempt to issue a second command before the delay expires. Every action in the game has such a delay, and many of them are as small as 2 ms. So when I talk about changing these timings, I'm not talking about decreasing the move delay or other action delays. I personally think 250 ms is the lowest reasonable speed for move delays, and that's been the fastest speed for over a decade. But the sync delays are new and are set to the fastest pace possible while keeping CPU load at a reasonable level for each player session. It is very possible that some off these timings are too fast.

Author:  Kaus [ Thu Mar 15, 2012 5:47 am ]
Post subject:  Re: v2.xx TWA files

John Pritchett wrote:
Kaus, I do intend to tackle the CPC issues we discussed.

Keep in mind that I'm talking about "sync delays", which are different from the action delays. I know I got into that quite a bit with you in PM, but in a nutshell, action delays tend to be relatively long, and you always wait for the specified delay. Sync delays are typically very short, and you only wait if you attempt to issue a second command before the delay expires. Every action in the game has such a delay, and many of them are as small as 2 ms. So when I talk about changing these timings, I'm not talking about decreasing the move delay or other action delays. I personally think 250 ms is the lowest reasonable speed for move delays, and that's been the fastest speed for over a decade. But the sync delays are new and are set to the fastest pace possible while keeping CPU load at a reasonable level for each player session. It is very possible that some off these timings are too fast.


Are the "sync delays" different per action? For example is landing on Stardock a larger sync than exporting between ships?

Previous to V2 how did the TWGS handle other actions?

Were sync delay's in response to the issues experienced in v1 where players dropped offline,etc... Due to De-sync or is it different?

Author:  John Pritchett [ Thu Mar 15, 2012 10:32 am ]
Post subject:  Re: v2.xx TWA files

Every sync delay can be set independently. These are intended to pace commands. So if a command has more processing overhead, it needs to be paced more so that it doesn't overload CPU. The initial values for these delays were set based on a test-rig, with the goal to keep any action, when repeated, from pulling more than 5% of CPU.

The system is really a replacement of the old Commands Per Second setting, but it gives me more control to balance game load. A sync delay of 25 ms is the same as saying that particular action can be processed no more than 40 times per second. I call it a "sync" because the delay works to synchronize the actions to a particular pace. If the sync delay is 25 ms, and the action takes 15 ms to process, only a 10 ms delay is imposed so that the next action can take place at the 25 ms mark. This removes the influence of CPU on gameplay.

Author:  Kaus [ Thu Mar 15, 2012 4:55 pm ]
Post subject:  Re: v2.xx TWA files

John Pritchett wrote:
Every sync delay can be set independently. These are intended to pace commands. So if a command has more processing overhead, it needs to be paced more so that it doesn't overload CPU. The initial values for these delays were set based on a test-rig, with the goal to keep any action, when repeated, from pulling more than 5% of CPU.

The system is really a replacement of the old Commands Per Second setting, but it gives me more control to balance game load. A sync delay of 25 ms is the same as saying that particular action can be processed no more than 40 times per second. I call it a "sync" because the delay works to synchronize the actions to a particular pace. If the sync delay is 25 ms, and the action takes 15 ms to process, only a 10 ms delay is imposed so that the next action can take place at the 25 ms mark. This removes the influence of CPU on gameplay.


Okie I'm tracking with you on that, how can I and/or the rest of the community help in finding the "perfect" values? Is there a way to accurately track the v1 timings so we can emulate it as closely as possible, which would have the byproduct of addressing the CPC issue as well.

Author:  John Pritchett [ Thu Mar 15, 2012 5:18 pm ]
Post subject:  Re: v2.xx TWA files

Well, I think I have an idea how to reproduce the original CPC dynamic that we talked about. I don't think timings are necessarily going to solve that.

The difficulty with getting the perfect timings is that you can't easily measure timings for each individual action in TWGS v1. I think the best we could do is run some measurements on very common activities, then determine the time per cycle. Then looking at a variety of cycle timings as well as the actions involved in each cycle, I could balance the timings for every action so that all of the cycle timings are met as closely as possible. Even if it may be impossible to get the exact same timings, if we hit the most common activities, I'm sure it'll be good enough.

So if this was something someone wanted to do, the approach would be to

1) Make a list of several common scripted activities
2) Measure the time to run many cycles of each activity
3) Divide the measured time by the number of cycles to determine a per-cycle time
4) Present a description of the scripted commands for each activity, along with the measured time.

From there, I'll work out a set of timings to achieve these target timings.

Author:  Kaus [ Thu Mar 15, 2012 6:01 pm ]
Post subject:  Re: v2.xx TWA files

John Pritchett wrote:
So if this was something someone wanted to do, the approach would be to

1) Make a list of several common scripted activities
2) Measure the time to run many cycles of each activity
3) Divide the measured time by the number of cycles to determine a per-cycle time
4) Present a description of the scripted commands for each activity, along with the measured time.

From there, I'll work out a set of timings to achieve these target timings.


I have some data at home I can throw in this thread at the end of this week. Food for thought, we could try a incremental timing of .005ms per command or similar over base.

Where 1 command is your minimum time and 10 commands is .050. That would give the advantage and dynamic of lower CPC while having the trade-off off of not overloading the processor (hopefully).

Additionally we could further tweak it where space doesn't count towards that character string and Z buffering removes .001 or similar. Either-way it's something to mull, and I will post my data from awhile back when I get back on Saturday.

Attached some scripts I wrote to test timing/cpc for those interested in adapting to there own uses.
Here: viewtopic.php?f=15&t=33054

Page 1 of 1 All times are UTC - 5 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/