Playing the Alpha Solo

Discussion in 'Support!' started by fraggdya, June 12, 2013.

  1. fraggdya

    fraggdya New Member

    Messages:
    4
    Likes Received:
    0
    Really apologise if this is known or posted, didn't see a clear answer...

    I've been working and will only get to play it properly at weekend, just wondering if its possible to create a game with just me or just me and ai and password lock it so I can get used to it at my own pace.. Or is it definitely as it says in the steam description, 2 players only (for now of course, I know SP is planned)

    Thanks
  2. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    There is currently no real AI, it's just units which stand on same place all time, do nothing.

    And yeah, you can run game just for yourself. Just create new game and start it before somebody join, it's usually simple.

    There is no password locking right now, but nobody force you to play with others if you don't want to.
  3. fraggdya

    fraggdya New Member

    Messages:
    4
    Likes Received:
    0
    Thanks sxx appreciate that. :D
  4. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    And while there is no AI, we've got a sneak-patch for the server which at least adds some basic defensive structures for each enemy commander when they spawn, so you can test ground and air combat.
  5. demossema

    demossema New Member

    Messages:
    5
    Likes Received:
    0
    the trouble with just making a game and playing by yourself is that because this game does not have peer-to-peer multiplayer you have to send all your gamestate and commands up to the server and downlaod the responces to them (more or less, I am sure this is a simplification and there is some client-side stuff too). I have an internet connection that is around 300kbps and this saturates it causing ping times of around 10-20 seconds as well as disconnections and bugs. I realize that my internet is kinda bottom of the barrel but a single player or at lease local server option would be nice.

    That said even with 10sec of lag PA is an impressive RTS
  6. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    300k is pretty light for the current state of the game. I'm not sure we'll ever squish it down that far.

    Luckily you will eventually be able to play locally but not yet.
  7. demossema

    demossema New Member

    Messages:
    5
    Likes Received:
    0
    yeah, I do not think it is unreasonable for multiplayer to fail on a 300k connection, I would imagine that with some creative compression it would be possible to get it working but I am not sure it would be worth it. Great work so far though.
  8. JamaicanPotato

    JamaicanPotato Member

    Messages:
    76
    Likes Received:
    1
    I am running on a 300kbps connection but sometimes it has dropped to about 80kbps(Aussie internet), thats when i start having troubles but most of the time its smooth.
  9. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    Why not? The server (I don't know how you call the part which actually serves game information) should be capable of sorting informations by severity. You do (or should) know the active view ports and you are able to presort informations in various priority classes.

    1. Order completion / issue feedback / chat / game status
    2. Unit creation (lower priority and aging if outside view port)
    3. Primary unit events (Power up, power down, destroyed, started construction, received damage for the the first time, disposable)
    4. Unit positions (aging, initial priority could be varied)
    5. Radar (aging)
    6. Secondary unit events (Fire, start movement, disposable)
    7. Projectiles (Creation, hit, increase if high damage potential per shot, disposable)
    8. Projectiles (Change of course, aging, disposable)
    9. Change in terrain (New textures, aging, batch)

    Well, actually all messages age, but there are two flags: The first marks the package as disposable if a certain time has exceeded without successful transmission, the second one activates / deactivates priority increment by aging. Disposal time is reset by new packages with the same key, replacing the old one, priority aging is reset by successful transmission.

    It's not like the FULL simulation could be synchronized with 300kbs, but it should be still sufficient to provide a fluid feeling with a low action delay. The delay for important informations should never exceed a certain threshold, not even in worst case. Less important informations like projectiles can suppressed if bandwidth is insufficient and only very, very few messages actually need to be transmitted immediately.

    I don't even think that 1Mb/s would be sufficient to transmit all messages in worst case scenario, I expect a required bandwidth of at least 3-6Mb/s in worst case scenarios if all messages are supposed to be delivered (no disposal), maybe even slightly more for massive games or if no message should be delayed.
  10. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Because something you describe will require significant amount of programming and testing. And actually bandwidth problem have a very low priority for devs, so there even no reason to ask them "why" at moment.
  11. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    Yes, I know that it isn't trivial. But it gets even more difficult if the possible usage of such features was not even considered when designing the netcode, e.g. because messages have no unique keys or if parts of the game state are not even split in individual messages but packed in large, static data structures which don't allow to send it only partial.
  12. Causeless

    Causeless Member

    Messages:
    241
    Likes Received:
    1
    The amount of data isn't even relevant. If you have a 10 second ping, you have a 10 second ping.
  13. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    It's not the ping I'm talking about, but connection speed. Even with the worst cable bound connections, you have round-trip times of less than 200-300ms. But connection speed is abysmal and if you want to provide a responsive user interaction, you need to prioritize messages which provide immediate feedback and transmit the rest using a best effort strategy.

    A slow connection only turns into a "10 second ping" if you stuff the connection with unnecessary trash so it actually takes 10 seconds until the important feedback is being transfered.
  14. Tontow

    Tontow Active Member

    Messages:
    459
    Likes Received:
    64
    Here are some questions that need examining:

    (When I say unit, I mean any object that needs data to sync up; buildings, commanders, etc.)

    What is the maximum possible number of variables required to sync up a single unit?

    How small can you compress those variables?

    What is the max number of units that will have to sync up at one time?


    As a starting point. Once you answer those three questions, then you can come up with a minimal bandwidth requirement.



    But the way I understand that it should end up working (and the main advantage over P2P); if you stay zoomed in, then you 'should' be able to play on even the slowest connections. Maybe not dialup, but close to it.

Share This Page