Is there any way to increase game speed(normally played on faster) to something 10 or maybe 100 times as fast?
I was thinking of the possibility to use genetic programming to create an AI for SC2. However, it would need to play lots of matches and increasing the game speed and making it play against very hard/insane computers would be a good start and it would go a lot faster.
A very time consuming thing would be increasing all units movement speed, attack speed, research speed, build speed, harvest speed... yea you can read from this that it's not exactly gonna be a nice way to do it.
Altering the game speed actually has a good reasons for it since the smallest time interval the system can detect is 1/32 or 1/16 game seconds. Increasing it will improve precision on some of all calculation library out there.
for his AI to learn against Other AI .... he would have to save what his AI has learned...... Which IMO is not really possible considering your only allowed to save so much information..
Secondly I dbout anyones ability to creat an actuall AI that could "Learn" how to play.
Rollback Post to RevisionRollBack
Skype
KageNinpo = SN
My Libraries
DialogLeaderboard & TeamSort
My Projects
SPACEWAR Tribute
Infinite TD
Hard AI takes teams of engineers years to even begin their projects. You see alot of robotics using basic hard ai and those machines are extremely primitive for problem solving. Ex find a way around a room, point cameras at objects of interest rather than just generic moving objects.
I dont see how you could make a Hard AI outside of a massive program that not only has a base understanding of game mechanics but has the ability to do massive calculations to determine what to do versus certain strategies and matchups.
Aside from that how will it possibly make sense of scouting unless it is script based?
@SouLCarveRR: Like other people mentioned, it would be to learn the AI and measure success. Since for it to be successful, it would need to play lots of games. That's why I want to speed it up. However, if I fast forward it in 100x game speed, a normal human being wouldn't be able to keep up. That's why it'd start with playing against the standard AI.
@happy04: I know that. Basically, I need some way to describe it's play as parameters.
I start off with different random parameters and measure the success(End score + possible bonus points if it won) The successful randomly chosen parameters are kept while the bad ones are trashed. Then I'll mutate the successful parameters and combine them. Rinse and repeat and we have an evolutionary process.
Of course there's a lot of questions marks here.
Is it even possible to describe a playstyle for a game as complex as Starcraft 2 with just parameters?
Are the amount of parameters within a reasonable amount(Changing and mutating 1000+ parameters would be close to impossible)
Is it possible to make some script that plays the map again and again and again and records the result for the AI to use?
Etc
I think it's an interesting idea. Add to this some advanced micro(which should also be far from impossible although everyone always seem to think so)
Yes, or i suppose as a separate file like many beta AI's were made as. A third party program somehow instructs the game client to use the script instead of the non existent AI, or it was built into maps which i assume was by directly editing map files in a text editor.
Have it work similar to triggers, with issue orders to build, scout, and attack/defend. Units built are based on a standard tree if scouting is impossible and when your ai detects certain units it will mix in others into the build order to counter them. If you want to make it better than blizzard's insane ai without cheating simply dont put an apm limit into it, as blizzard's has an apm limit. if it makes hundreds of effective decisions a second and always has a perfect build order, while never forgetting to counter it will beat blizzard's insane ai and probably be able to get into low or medium diamond.
I dont think it's necessary to make a "learning ai" when the only thing that varies from game to game is race matchup and terrain layout. You'd just need some sophisticated way of making your ai understand the terrain and use it to it's advantage. (think seiging up seige tanks across the ravine next to the mineral lines on desert oasis) You'd have to understand game mechanics well in order to make an ai work well but having it learn tactics by its self seems... quite silly to even think reasonable.
Actually, I'm working on something like that at the moment. However, making it through genetic programming really intrigues me and it would be a lot more interesting and challenging to code.
"Hard AI takes teams of engineers years to even begin their projects. You see alot of robotics using basic hard ai and those machines are extremely primitive for problem solving. Ex find a way around a room, point cameras at objects of interest rather than just generic moving objects."
Actually, these can be done in a matter of weeks (if you're unfamiliar with the tools involved, I imagine it would take days if you knew what you're doing). I know because I did it for class last semester.
Is there any way to increase game speed(normally played on faster) to something 10 or maybe 100 times as fast?
I was thinking of the possibility to use genetic programming to create an AI for SC2. However, it would need to play lots of matches and increasing the game speed and making it play against very hard/insane computers would be a good start and it would go a lot faster.
Well, as far as I know there is but one way.
And this way requires changing some of the game's internal variables (or some shit), but I don't know how exactly to do it.
See here for reference: http://forums.sc2mapster.com/resources/project-workplace/2398-full-gamespeed-control-usefull-for-bullettime-stuff/
A very time consuming thing would be increasing all units movement speed, attack speed, research speed, build speed, harvest speed... yea you can read from this that it's not exactly gonna be a nice way to do it.
Why would you try to make an AI? that played against computer AI's?
Sounds kinda pointless to me.
Altering the game speed actually has a good reasons for it since the smallest time interval the system can detect is 1/32 or 1/16 game seconds. Increasing it will improve precision on some of all calculation library out there.
However you're not going to get it anytime soon.
@PredaN00b: Go
for his AI to learn against Other AI .... he would have to save what his AI has learned...... Which IMO is not really possible considering your only allowed to save so much information..
Secondly I dbout anyones ability to creat an actuall AI that could "Learn" how to play.
@SouLCarveRR: Go
Hard AI takes teams of engineers years to even begin their projects. You see alot of robotics using basic hard ai and those machines are extremely primitive for problem solving. Ex find a way around a room, point cameras at objects of interest rather than just generic moving objects.
I dont see how you could make a Hard AI outside of a massive program that not only has a base understanding of game mechanics but has the ability to do massive calculations to determine what to do versus certain strategies and matchups.
Aside from that how will it possibly make sense of scouting unless it is script based?
I got enough projects already, I was just wondering if it is possible since I didn't find a way to do it myself.
@s3rius: That sounds like what I would like. Thanks.
@Mogranlocky: I thought about it and quickly decided not to.
@PredaN00b: No typo. I meant genetic programming. http://en.wikipedia.org/wiki/Genetic_programming
@SouLCarveRR: Like other people mentioned, it would be to learn the AI and measure success. Since for it to be successful, it would need to play lots of games. That's why I want to speed it up. However, if I fast forward it in 100x game speed, a normal human being wouldn't be able to keep up. That's why it'd start with playing against the standard AI.
@happy04: I know that. Basically, I need some way to describe it's play as parameters.
I start off with different random parameters and measure the success(End score + possible bonus points if it won) The successful randomly chosen parameters are kept while the bad ones are trashed. Then I'll mutate the successful parameters and combine them. Rinse and repeat and we have an evolutionary process.
Of course there's a lot of questions marks here.
I think it's an interesting idea. Add to this some advanced micro(which should also be far from impossible although everyone always seem to think so)
@Siretu: Go
would still be easier to do it with scripts.
What do you mean with scripts? Scripts in the Galaxy editor?
@Siretu: Go
Yes, or i suppose as a separate file like many beta AI's were made as. A third party program somehow instructs the game client to use the script instead of the non existent AI, or it was built into maps which i assume was by directly editing map files in a text editor.
Have it work similar to triggers, with issue orders to build, scout, and attack/defend. Units built are based on a standard tree if scouting is impossible and when your ai detects certain units it will mix in others into the build order to counter them. If you want to make it better than blizzard's insane ai without cheating simply dont put an apm limit into it, as blizzard's has an apm limit. if it makes hundreds of effective decisions a second and always has a perfect build order, while never forgetting to counter it will beat blizzard's insane ai and probably be able to get into low or medium diamond.
I dont think it's necessary to make a "learning ai" when the only thing that varies from game to game is race matchup and terrain layout. You'd just need some sophisticated way of making your ai understand the terrain and use it to it's advantage. (think seiging up seige tanks across the ravine next to the mineral lines on desert oasis) You'd have to understand game mechanics well in order to make an ai work well but having it learn tactics by its self seems... quite silly to even think reasonable.
@happy04: Go
Actually, I'm working on something like that at the moment. However, making it through genetic programming really intrigues me and it would be a lot more interesting and challenging to code.
"Hard AI takes teams of engineers years to even begin their projects. You see alot of robotics using basic hard ai and those machines are extremely primitive for problem solving. Ex find a way around a room, point cameras at objects of interest rather than just generic moving objects."
Actually, these can be done in a matter of weeks (if you're unfamiliar with the tools involved, I imagine it would take days if you knew what you're doing). I know because I did it for class last semester.
But I digress...