OmarShehata / Airena

Write & edit AI code on the fly to fight in the arena!
MIT License
14 stars 4 forks source link

Games compatible with coding an AI on the fly? #2

Open OmarShehata opened 8 years ago

OmarShehata commented 8 years ago

I'm thinking a space shooter might not be the best game to write an AI for on the fly since the game ends too quickly and everything happens too fast.

I also realized that writing an AI bot and playing the game yourself aren't mutually exclusive (you can write a bot to aim and control the firing yourself).

I'm curious if anyone has ideas for other types of games where this would work! I'm imagining something like an RTS/strategy game, or something where you have a lot of little minions that would be hard to control manually.

nick-burleigh commented 8 years ago

RTS sounds cool. i'm still really new to github, and programming for that matter. your program seems to be one that i can get interested in and play around with. i look forward to seeing what becomes of this repo.

later, nick

SnoopJ commented 8 years ago

RTS is definitely a thought-provoking category of games that would allow some creative stuff to be done. The biggest thing there that comes to mind is actually resource collection. As an example, here's some great discussion about the economic implications of the "worker pair" AI in Starcraft II. That discussion focuses on changing resources around a fixed system of AI, but I wonder if flipping the script there would be interesting.

Maybe more generally, writing decision-making AI might be interesting. The example I'm thinking of is how dwarves in Dwarf Fortress decide which tasks to do, as well as other simulaiton games like The Sims.

A weird one-off thought that occurred to me would be a game about controlling the flow of traffic on a city grid. Lights need to go on and off in a manner that helps get the most traffic through without pileups. The optimization methods necessary to tackle that challenge really well might be a little too sophisticated for the kind of thing you're aiming for, here.

OmarShehata commented 8 years ago

I think what I'd definitely love to see as the next step for this project, since there are so many awesome ideas people could use this for, is to have it packaged up and pluggable into any project.

So, if you were a developer wanting to use live code, you could include the library, initialize it and give it a div element in your document, and it will insert the code editor as well as provide an event listener for every time the code runs/changes, giving you the output (this assumes the player's code will always be returning something, instead of modifying state. But then again, you can also choose what to pass as arguments to the player's code..)

How does that sound? Does that seem like a good direction?

CamoNinja commented 8 years ago

Omar! How are you doing friend!! I have a question for you about a game I'm working on. Hope to hear from you soon!

On Friday, June 24, 2016, Omar Shehata notifications@github.com wrote:

I think what I'd definitely love to see as the next step for this project, since there are so many awesome ideas people could use this for, is to have it packaged up and pluggable into any project.

So, if you were a developer wanting to use live code, you could include the library, initialize it and give it a div element in your document, and it will insert the code editor as well as provide an event listener for every time the code runs/changes, giving you the output (this assumes the player's code will always be returning something, instead of modifying state. But then again, you can also choose what to pass as arguments to the player's code..)

How does that sound? Does that seem like a good direction?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OmarShehata/Airena/issues/2#issuecomment-228364451, or mute the thread https://github.com/notifications/unsubscribe/AMZzEjWNPueGgBTeY01-q9WBB6kwhl6dks5qO-yOgaJpZM4IKRmR .

Production Support Engineer Bakhari B.