Micro AI scripting/modding

Discussion in 'Backers Lounge (Read-only)' started by radistmorse, March 6, 2013.

  1. radistmorse

    radistmorse Member

    Messages:
    59
    Likes Received:
    1
    I saw this kind of discussion in several places, mostly as a spin-offs of general modding and "micro vs macro" threads, but I think this one should get more focus.

    Can I write myself a micro AI? And by "micro AI" I mean "a script which will take care of micro for me".

    From the dawn of time the only options we had were stop, go, attack, patrol and hold position. With patrol and hold position being mostly useless. It's ridiculous. It was ok in WC2, but the more modern the RTS is, the more often you'll shout "WTF you are doing, stupid unit!". I need squad-based commands, not only unit based. I want to say to a squad "patrol that area", not "fly over that line back and forth". I want to say to a squad "do an artillery barrage over here" not "go over here and die like a bunch of morons leaving your artillery defenceless". And so on.

    Some people are concerned that this will bring imbalance, that there would be some magic "winning script" which will make units super effective. Well, even if there will be, just make it shareable. Like, if you see that some unit is acting unbelievably good, just select it and see "this unit is governed by <...> script" with the option to download it. Although I really doubt that any kind of script can make a super-unit.

    So, are we going to get a squad-based AI scripting possibilities?
  2. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    I certainly hope so :D I'd love to try my hand at programming that kind of stuff.
  3. dallonf

    dallonf Active Member

    Messages:
    124
    Likes Received:
    34
    I'd love to see support for something like this - though I would also like to see options for that (i.e. "disable player scripts") in mulitplayer and ranked.

    Of course, the real issue here is that if a script can do something, why make the player do it at all? In other words, if there's a need for scripting at all, you're doing something wrong. It's just bad design. This is a strategy game, so players should be free to devote their cognitive capacity to strategy and execution.
  4. thapear

    thapear Member

    Messages:
    446
    Likes Received:
    1
    Even if you were to make this magic script available to everyone, it'd become something you HAD to have to even make a chance. Therefore, I do not believe you should be allowed to use a client-side script that does micro for you.
  5. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    But if it's available to everyone, there doesn't seem to be a problem? As long as everyone has the script, it'll just pull the game to the next level.
  6. thapear

    thapear Member

    Messages:
    446
    Likes Received:
    1
    It'll remove part of the gameplay that the devs intended for us. It might improve your play level, but it won't necessarily make the game more fun to play.
  7. insanityoo

    insanityoo Member

    Messages:
    235
    Likes Received:
    1
    You're assuming that some AI script would play the game better than a person in all situations. This probably won't be the case.
  8. radistmorse

    radistmorse Member

    Messages:
    59
    Likes Received:
    1
    That's a good old "micro vs macro" battle. You don't "make" player do anything, he does what he wants to. And there is no question "if a script can do something" it's rather "how good a script can do something".
    The very possibility of such a script is a big question, but everyone seems so afraid of it, as to deside to rather remove the whole scripting at all.
    Let's make it clear: if the script doesn't exploit any bugs - it's ok. You just make the units perform in their optimal. If it does - then it's cheating, and should be dealt with as with any other cheater. And there will be cheaters regardless of whether or not the scripting will be available.

    I personaly do not believe that such a script is possible at all (without bug exploit I mean). And any script will increase the units effectiveness because that's why we want it in the first place: to use our units more effective.
  9. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    If the devs intended for us to have fun by manually setting patrol-routes, forcing groups to stay together, or manually picking what should be an obvious target, I'll probably be swapping out to a different game pretty soon after launch :(

    That's the kind of things a script can do. And that's pretty much where it ends, too. Simple things.
  10. thapear

    thapear Member

    Messages:
    446
    Likes Received:
    1
    This is a non-argument, because these are integral components of this genre and have already been confirmed to be in the game. Therefore they are not what the OP meant.
    Microing your units to move away from explosions and shoot specific types of stuff before others, and turning off some buildings/abilities the exact tick you'd have run out of energy, that's the kind of things a microing script would do. (And do better than any player, if scripted well)
  11. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    I'm sorry, I see no difference between my examples and yours. Shouldn't both be inherent to the game, or allowed to be added in later? I see no difference between "a script that makes it so that I don't have to manually set patrols" and "a script that turns off structures that I cannot afford to run" or "a script that makes my units move as a group" versus "a script that makes my units scatter when under fire"

    These all sound like the kind of things that should be inherent to the genre, and things that can be put under a simple command or toggleable setting instead of requiring manual action by the player.
  12. thapear

    thapear Member

    Messages:
    446
    Likes Received:
    1
    I guess we disagree on the level of automation that would be best for this game.
    However, I believe the game should have the same level of automation for every player, therefore I do not believe the devs should allow client-side scripting. Server mods are fine, they can do whatever you want them to do. Server mods increase the level of automation for every player in the game, therefore not creating an advantage to the player with the better script.

    You might say the script will be share-able and available to every player, but I don't want to have to scour the internet to find the best script available before I'm on a level playing field with the other players in the game.
  13. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    I'm pretty sure that client-side widgets have already been confirmed, and is intended to be as easy as possible considering they're running the client on a webkit-like system.
    To what extent we'll be able to script, is another thing of course.

    So in that regard, they're probably going to allow it anyway. I'd also venture a guess that they'll be hosting a script library in an easy place, so that players can easily get their hands on them, but that's not been confirmed.
  14. radistmorse

    radistmorse Member

    Messages:
    59
    Likes Received:
    1
    "Level of automation" is quite a vague term. In my view, the scripting is more of "personolization" than "automation". I have my playing style, and I have scripts that help me with it. That's why I don't think server-side scripts will do any good: everyone will probably want his own set.
  15. radistmorse

    radistmorse Member

    Messages:
    59
    Likes Received:
    1
    No kidding? The GUI on a javascript? But on the other hand, it doesn't mean that this javascript will be used anywhere besides the gui itself.
  16. Pawz

    Pawz Active Member

    Messages:
    951
    Likes Received:
    161
    Personalization is probably a much better term than anything else.

    There are lots of GUI mods & stuff available for Forged Alliance for example - but my combination of mods is different than someone else's. Yet you have the cream of the 'scripts' rise to the top, and one or two mods become 'must haves' (eg Gaz's UI mod for FA).

    As I've always said, this is great, just give players the ability to view a replay and see which mods each player was using.

    There's a reason why UI mods for FA come with a whole bunch of toggles - player preferences means that one option is good for one player, but distracting for another.

    I personally believe it would be a huge mistake for Uber to go the route of 'OK we won't allow them to do this with a script, they must do it manually'. And thankfully, everything I've heard so far has been to keep things as open as possible.
  17. dallonf

    dallonf Active Member

    Messages:
    124
    Likes Received:
    34
    Ah, yes, let me rephrase that - if there's something that must be done in almost every scenario in order to win, that doesn't differ based on player preferences or strategies, and it can be done more effectively by a script than a player, it's just busywork and shouldn't even exist in the game, or should be automated by built-in AI.

    For micro things that depend on a player's preferences or strategy... scripts make those things interesting indeed.

    I'm torn on whether they would adversely affect competition, though. If your opponents use scripts, it would effectively force you to use scripts as well. This would be extremely interesting for a game about programming (that actually sounds pretty cool), but scripting isn't one of the core mechanics of the game. It would be fair, sure, because the scripts are freely available, but it might not be fun, and it might distract from the parts of the game that are.

    The key word is "might". It also might remove a lot of tedium in higher-ranked games.
  18. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    You can easily deal with the competetive problem in a few ways:

    1) disallow scripts in competitions (might make pro-matches less exciting because they can´t do some of the cool tricks that regular players can)
    2) force everyone to make public the scripts they're going to use before the tournament, so that your opponents can see and copy them if they feel like it.
    3) go wild. Pros will quickly enlist the help of a scripter to build their own custom stuff, and the matches will become that much more exciting and personal, with every game featuring new and exciting ways of playing.


    Regarding the front-end and webkit:
    viewtopic.php?f=61&t=41532&hilit=webkit

    Good read. Very interesting :)
  19. torrasque

    torrasque Active Member

    Messages:
    337
    Likes Received:
    36
    Or the script making all the cool tricks a player could do, resulting in a boring game.

    Well, it could be okay if you think it's fun to spend more time analysing scripts than playing.

    Oh, so you will have to hire a scripter to be any good?
  20. Pluisjen

    Pluisjen Member

    Messages:
    701
    Likes Received:
    3
    Loving the negative attitude. I'd like to see the first script that can do cooler stuff than a player, because that's usually a sign of a game that's designed to be a clickfest. (Yeah, I am entirely aware that scripts in starcraft can be cooler than players, hence the addition, and why I don't watch those games anymore ;))

    To be honest, if a simple script can do what a player can do, that player wasn't very cool to begin with.
    And yeah, hiring a scripter to be any good sounds horrible. It's not like real pros don't hire people to help them analyse games, play against them, and help them with devising strategies. Working closely together with other people is what makes it a team thing.

Share This Page