[WIP] Static Sim Speed Changer

Discussion in 'Work-In-Progress Mods' started by trialq, October 13, 2014.

  1. trialq

    trialq Post Master General

    Messages:
    1,295
    Likes Received:
    917


    This program refactors the stats of all the units, to assume a different sim speed, spitting out a static server mod. The basic idea is that you can run the sim at (for example) half speed but, with the mod, the game still plays as if you are running at full speed. This may allow more massive games to be played, the same game in theory would take longer before the sim speed starts slowing down.

    Any server mods produced by this program are intended for use with local servers. You can manually change the sim speed of a local server, which the server mods here are intended to counteract.

    There are a number of issues currently. The main ones are: path finding at extremely low sim speeds, input lag at extremely low sim speeds, possibly inaccurate sim speed controls. Some may be fixable some not, however with some common sense most can be (at least) mitigated.

    I'm giving the program some basic commandline options soon. When that's done I'll attach it, for now here's two mods the program spat out. The program is written in java, so you'll need java to run it: https://java.com/en/download/index.jsp

    The jar file and source is available on github.

    Quick hints to running the jar file:
    • Find your commandline
    • Run this:
      Code:
      java -jar path_to_jar_file --help
      • If you can see the help text quoted below, you're good to go. Follow the help file from the program, it will be updated whereas this quoted text may not be
    • Server mods created go into the current directory
    Code:
    Usage: StaticSimSpeedChanger [ops] [path_to_pa_dir] [speedup_factor]
    
      [ops]
      --help : This help
    
      path_to_pa_dir : The path to the PA directory, containing the PA executable
      and the media directory
    
      speedup_factor : The number of times you have to call /api/sim_slower to
      have a normal speed game, default 3
    
    The formula to determine sim speed is 10*(0.8)^speedup_factor. For example the
    default of speedup_factor = 3 yields 10*(0.8)^3 = 5.12 FPS
    Quick hints to running the mods:
    • Start a local server with the --http flag
    • When in the game (not just the lobby), browse to http://localhost:8080/api/sim_slower with your web browser, to slow the sim down by 20%
    • The 5.12 mod requires you to slow the sim 3 times
    • The 2.62 mod requires you to slow the sim 6 times

    Attached Files:

    Last edited: October 13, 2014
  2. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    I very much look forward to testing this in a real game. If it allows to play a reasonable game at a sim speed of 5fps instead of 10 then this can double the perceived sim speed in big games.
  3. trialq

    trialq Post Master General

    Messages:
    1,295
    Likes Received:
    917
    I don't know if everything that should be accounted for is accounted for. Currently these fields are altered:
    Code:
    ammo_demand
    atrophy_cool_down
    atrophy_rate
    construction_demand.energy
    construction_demand.metal
    factory_cooldown_time
    initial_velocity
    lifetime
    max_velocity
    navigation.acceleration
    navigation.brake
    navigation.hover_time
    navigation.move_speed
    navigation.turn_speed
    navigation.wobble_speed
    physics.air_friction
    physics.gravity_scalar
    pitch_rate
    production.energy
    production.metal
    rate_of_fire
    yaw_rate
    
    Basically time fields should be reduced, and rate fields increased. I'm sure I missed at least some fields, and currently the program doesn't look in arrays (don't even know if it needs to). If any modders know of something that should be accounted for and isn't, post it here.
  4. trialq

    trialq Post Master General

    Messages:
    1,295
    Likes Received:
    917
    I'm wondering if there's a better way to handle the economy. Instead of increasing production and draw, how about reducing cost and storage? It might cross off one of the usability issues, namely the eco is very important, and giving everything unfamiliar production and consumption is disorientating. There may be a problem with my logic, can't see it yet though so I'll try it.

    edit: Tried it, worked well as far as I can tell. A commander storage of 512 is much easier to comprehend than a commander metal production rate of 58. Can someone who is an active player let me know how it feels against an ai? I couldn't tell a difference, but I'm not an active player.
    Last edited: October 14, 2014
  5. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    I can't get it to actually create a mod
    [​IMG]

    guess I'll just try the mod in the OP. Hope it won't break anything since it isn't 100% up to date with the current PA.
  6. zihuatanejo

    zihuatanejo Well-Known Member

    Messages:
    798
    Likes Received:
    577
    So how exactly does this work, @trialq? I don't understand your OP!
  7. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    Play at half sim speed from the start. Speed up all gameplay elements by a factor of 2. Like tank max speed is 2 times as normal etc.
    It looks the same and -assuming the sim doesn't get too inaccurate- and plays at perceived normal speed at 5 sim fps.
    zihuatanejo likes this.
  8. trialq

    trialq Post Master General

    Messages:
    1,295
    Likes Received:
    917
    @cola_colin
    That would be my poor testing, I added the commandline options too hastily. Testing the switch works by using the default value is not the best idea ;) I don't have access to PA or a quick way to compile a jar, but try this if you can be bothered. I don't think much if anything has changed between versions for the json, but I'm not certain.

    @zihuatanejo
    What he said :p

    Attached Files:

    zihuatanejo likes this.
  9. trialq

    trialq Post Master General

    Messages:
    1,295
    Likes Received:
    917

    Attached Files:

Share This Page