What is cheating?

Discussion in 'Planetary Annihilation General Discussion' started by shootall, February 2, 2014.

  1. cptconundrum

    cptconundrum Post Master General

    Messages:
    4,186
    Likes Received:
    4,900
    You can't actually trust anything sent from the client though, even if it is assumed to be a hash of a mod. If you want to assume good faith, you don't even need the developers do change anything. You can have tournaments right now that restrict certain mods by just telling people not to use them. That's an honor system too, but it really isn't any different than what you're suggesting.

    What we're suggesting doesn't restrict anything at all, and we were actually trying really hard to come up with a solution that is as unrestricted as possible. Nothing would ever be restricted unless the lobby option for "Disable automation mods" is checked. There is really just no way to know what the client is doing with the data it has, so the only way to lock it down would be to just shut off certain parts of the API on a per-game basis. The other possibility, like I said, would be a server json that can be set to permanently enable or disable the automation api.
    LavaSnake likes this.
  2. melhem19

    melhem19 Active Member

    Messages:
    592
    Likes Received:
    126
    what is cheating !!?
    it is an easy way to win a game and a easy way to fail an exam
  3. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    Actually the server can't fully control it. It's controlled by the client that runs on the player's machine, so at least in theory it will be possible to hack it to give full API access to the UI.
  4. cptconundrum

    cptconundrum Post Master General

    Messages:
    4,186
    Likes Received:
    4,900
    Well, engine calls can still solve this for us. It gets a little tricky, but the automation API can be left on the server only. The engine call would just have to pass the command through the network. This has the potential to become pretty inefficient if mods aren't optimized right, but I don't think it would slow things down in most cases.

    A hypothetical engine call like engine.automationApi.moveUnit(unitId, xDestination, yDestination); would have to talk to the server in order to submit the command. A server with the automation api disabled would just be able to reject the command.

    This is getting a little too technical for this forum now, and I'll leave it to the developers to decide what is actually a good idea compared to me just making things up. I do think this is possible though.
    Last edited: February 5, 2014
    LavaSnake likes this.
  5. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    The client already sends such API commands to the server; without them the game could not be played. It's just that the client [1] is not exposing those APIs further to the UI [2].

    [1] PA.exe, written in C++, not moddable, but could be hacked.
    [2] media/ui/**, written in JavaScript, moddable.
  6. cptconundrum

    cptconundrum Post Master General

    Messages:
    4,186
    Likes Received:
    4,900
    So can't the server just refuse to process anything in the automation api if the game's creator checked the no automation mods button before the game?
  7. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    My point is, nothing running on the player's computer can be trusted. If I would reverse-engineer the network protocol that PA uses, then I could write a whole new client and, if done perfectly, the server would not be able to tell the difference between it and the vanilla game. The network protocol already now has such an "automation API" - the client just doesn't expose it directly to the UI and it can be only used indirectly through mouse and keyboard.
    SXX and cptconundrum like this.
  8. cptconundrum

    cptconundrum Post Master General

    Messages:
    4,186
    Likes Received:
    4,900
    I get what you mean now. You are right that you would have trouble verifying the request. There are ways to prevent that from happening, but none of them are perfect or worth putting time into. I wish I could have proved you wrong, because this does mean that there is really no way to prevent cheating without resorting to expensive anti-cheating middleware. That is, if automation really does count as cheating.

    If someone can make an ai that consistently beats real people, the game either relies too much on high APM or the programmer deserves a medal for making a huge breakthrough in computer science.
    LavaSnake likes this.
  9. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    +1 :D

    I was just a moment ago watching the StarCraft bot which was mentioned by nawrot. The videos http://www.youtube.com/view_play_list?p=9F69781768E85502 show how it has some epic micro, but its strategies are quite repetitive.

    Human+AI would probably be the strongest combination, playing the strong points of each of them.
    LavaSnake likes this.
  10. nathan173ab

    nathan173ab New Member

    Messages:
    15
    Likes Received:
    3
    This thread got me thinking. For one thing, all this talk about allowing mods to play the game for us in certain ways is a little unsettling. The game should be about one's own skill and progression to greater skill and strategy, not about who can code the best AI to do all the strategy for them. If the devs do allow mods, I think AI type mods should not be allowed, and any mod that is authorized for the game would have to be publicly available to everyone such that people with programming skills can't keep whatever benefits it gives to themselves. PA could make utilize the Steam workshop in this regard.

    Having said that, I don't think automation is a problem in some situations. One of the reasons why I like PA so more than Starcraft is because its skill ceiling seems to be centered more on strategy rather than who who can mash the most of the right buttons the fastest. I think PA has found a good middle ground in that regard. That is, you still have to do a good amount of things yourself, but you are not bogged down by the most menial of tasks such as going back to all of your factories and telling them to produce more units.

    The devs could implement a feature that will allow players to easily customize the UI and how information is presented to them in game, though I suspect that might be too difficult to implement. This would include being able to take raw data such as their energy and metal production and loss values then displaying them in such a way that's more informative to the player. For instance, I might customize a graph that would show metal production on the Y axis and the potential metal consumption of all my factories on the X axis, with a line showing what the various possibilities are. Someone else might decide to customize how their information is displayed in another way. I can see how that might make things too easy as well, but I can also see how it adds another element of strategy as players will have to decide what information is most valuable to them.
  11. lokiCML

    lokiCML Post Master General

    Messages:
    1,973
    Likes Received:
    953
    Security was the furthest thing on my mind. How can you have a tournament without trusting the players. If somebody is cheating there is a burden of proof that accusers and the officials have to demonstrate. Most of the time people will play within the rules it's just the odd time that people would break them.

    EDIT: add s
    Last edited: February 7, 2014
    jodarklighter likes this.
  12. lokiCML

    lokiCML Post Master General

    Messages:
    1,973
    Likes Received:
    953
    Here's a quote relevant to this discussion:

    FMJaguar. (2011, September 30) Playing to Win: Becoming the Champion [Online/Book] Available: http://www.sirlin.net/ptw-book/author/fmjaguar or http://www.lulu.com/shop/david-sirl...ming-the-champion/ebook/product-17558272.html
    shootall likes this.
  13. shootall

    shootall Active Member

    Messages:
    218
    Likes Received:
    184
  14. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    obvious cheat is obvious
    EdWood likes this.
  15. linike860

    linike860 Uber Alumni

    Messages:
    42
    Likes Received:
    243
  16. stormingkiwi

    stormingkiwi Post Master General

    Messages:
    3,266
    Likes Received:
    1,355
    Can you make it that fabbers unable to build

    a) Give a notification
    or b) reclaim mex?

Share This Page