<< Back to Programming Forum   Search

Posts 1 - 20 of 101   1  2  3  4  5  6  Next >>   
WarLight AI: 2/25/2016 04:28:01


NinjaNic 
Level 59
Report
Who will be the first to make one?

I watched the tutorial video and I think it's really cool that coders can create their own AI for WL. I understood most of what Fizzer said but a lot of the code that you're not supposed to edit is hard to understand.

Here is the blog:
https://www.warlight.net/blog/index.php/2016/02/the-warlight-ai-goes-open-source/

Edited 2/25/2016 23:05:43
WarLight AI: 2/25/2016 04:36:17


Python's Koala
Level 59
Report
I'm planning on trying. I already made an AI for the AI Games (PyBot) which did decently (1780 rating or so), so I'll probably try to port it over, then improve it. The debugging features seem much easier with WarLight as opposed to the AI Games, especially since I can challenge my AI directly. Looking forward to the challenge :)

Edited 2/25/2016 04:37:15
WarLight AI: 2/25/2016 05:19:08

Ryzys
Level 58
Report
Good luck Python, hope it goes well! To answer NinjaNic's question: not me, I wouldn't know how to make one, nor do I have the time to do so (I'd name mine RyzysAI if I did make one though)
WarLight AI: 2/25/2016 05:51:12

Fizzer 
Level 64

Warzone Creator
Report
I understood most of what Fizzer said but a lot of the code that you're not supposed to edit is hard to understand.

Some of it is hard to understand, indeed. But if you know C#, you should be able to debug through it and figure it out pretty easily.

I'm planning on trying. I already made an AI for the AI Games (PyBot) which did decently (1780 rating or so), so I'll probably try to port it over, then improve it. The debugging features seem much easier with WarLight as opposed to the AI Games, especially since I can challenge my AI directly. Looking forward to the challenge :)

Indeed! I forgot to point out that this the first time that someone can play against an AI they wrote, since TheAIGames never had that feature. Let me know if you have questions!
WarLight AI: 2/25/2016 05:59:28


Deadman 
Level 64
Report
This is really cool!

@NinjaNic - Please link the blog post on your first comment if possible :)
WarLight AI: 2/25/2016 06:20:00


Thomas 633
Level 56
Report
As pretty much the bottom of the barrel as a WL player, but far better than an AI, I can play a few if you want.
WarLight AI: 2/25/2016 06:45:21

Hennns
Level 58
Report
Do you have a timeframe on this, when you'll decide what becomes the official wl Ai?

Will other Ais be playable for everyone on warlight, or just the official one?
WarLight AI: 2/25/2016 06:50:16

Алексей
Level 62
Report
Here is the bot's profile.
https://www.warlight.net/Profile?p=7263394758

Here is a game.
https://www.warlight.net/MultiPlayer?GameID=10606466

But playing with it is impossible because of the bug.

System.Exception: Server call to GetGameInfo failed. Response = {
"error": "Internal server error: Please report this to fizzer@warlight.net along with repro steps",
"details": "java.lang.Exception: FindCard(): Card not found: 6a322289-bd9b-443b-bdd2-b9d186cb6a03\n

update: the bug is fixed, you can actually play with this bot

Edited 2/25/2016 08:18:09
WarLight AI: 2/25/2016 06:55:04

Fizzer 
Level 64

Warzone Creator
Report
Do you have a timeframe on this, when you'll decide what becomes the official wl Ai?

It really depends how long it takes before I feel we've arrived at a good, solid bot that can replace the existing one. Ideally, I'd like to have this done within a month or two since I'm anxious to start building single-player levels using the new AI.

Will other Ais be playable for everyone on warlight, or just the official one?

The primary goal is to have one really good AI. If we wind up with multiple really good ones, we could potentially allow both to be used, but that's a stretch goal.

But playing with it is impossible because of the bug.

System.Exception: Server call to GetGameInfo failed. Response = {
"error": "Internal server error: Please report this to fizzer@warlight.net along with repro steps",
"details": "java.lang.Exception: FindCard(): Card not found: 6a322289-bd9b-443b-bdd2-b9d186cb6a03\n

Let me look into this.
EDIT: This is fixed now. There was a bug when an AI saw opponents playing a card. Sorry about that.

Edited 2/25/2016 07:25:47
WarLight AI: 2/25/2016 07:09:31

Алексей
Level 62
Report
Let me look into this

mailed bot's output to fizzer@warlight.net
WarLight AI: 2/25/2016 07:11:16


master of desaster 
Level 66
Report
Very cool!
WarLight AI: 2/25/2016 07:44:25


Fleecemaster 
Level 59
Report
Hmm, well perhaps it's worth me building some algotithms, I can certainly build a good bot for FFAs and multiplayer. Strat stuff would be kinda boring, but if we were to have more than 1 bot I think a 1v1 bot and a FFA bot would make a lot of sense, seeing as the play styles are so vastly different...
WarLight AI: 2/25/2016 07:57:37

Fizzer 
Level 64

Warzone Creator
Report
Hmm, well perhaps it's worth me building some algotithms, I can certainly build a good bot for FFAs and multiplayer. Strat stuff would be kinda boring, but if we were to have more than 1 bot I think a 1v1 bot and a FFA bot would make a lot of sense, seeing as the play styles are so vastly different...

An ideal AI would detect if it's in an FFA situation or a 1v1 situation and act accordingly.

An FFA bot is actually something we don't have right now. Since the competition was all 1v1, that's all we have.

I was thinking it might be as simple as doing something like "if we're in an FFA, lower our aggression factor and raise our expansion factor" or something like that.

If you have better ideas on how to make an FFA AI, it would be great!
WarLight AI: 2/25/2016 08:23:21


Fleecemaster 
Level 59
Report
Oh right, if we can incorperate both into one AI that would be best anyway, because once a FFA goes down to 2 players it's a 1v1 situation and the game switches anyway.

What might be best then is if I work on an FFA code, then I can work with whoever is creating 1v1 code and combine them.

I understand what you mean about "aggression" and "expansion" factors, that's probably what I'll focus it around, identifying which factors to alter as the game carries through.

A couple of things, are we allowed to have the bot "learn"? ie. Store information and/or change it's own code (I'm guessing not)

and are we allowed to have the bot make partially random decisions? (like the current AI does)
WarLight AI: 2/25/2016 08:28:51

Fizzer 
Level 64

Warzone Creator
Report
A couple of things, are we allowed to have the bot "learn"? ie. Store information and/or change it's own code (I'm guessing not)

Currently there's no place for the AI to store data in between turns. The best you can do now is to have it learn during the development process, then store that learned logic in the code.

and are we allowed to have the bot make partially random decisions? (like the current AI does)

Absolutely, and I think it's a good idea to for bots to be partially influenced by randomness. If there's no randomness, people tend to learn how the AI acts and can exploit it too easily.

Personally I like doing weighted randoms, so the AI is more likely to do the things it thinks are best, but it still has a chance of doing something less good (or even stupid) on rare occasions.
WarLight AI: 2/25/2016 08:32:21


Fleecemaster 
Level 59
Report
Swish.
WarLight AI: 2/25/2016 08:42:21

Алексей
Level 62
Report
WarLight AI: 2/25/2016 08:47:58


Fleecemaster 
Level 59
Report
What is it going to do with the human it won?
WarLight AI: 2/25/2016 08:58:43


Krzysztof 
Level 67
Report
@Fizzer:

 settings =>
                        {
                            settings["Fog"] = "NoFog"; //turn off fog so we can see what the AI is doing
                            settings["MaxCardsHold"] = 999; //so AI doesn't have to discard
                            //settings["OrderPriorityCard"] = "none";
                            //settings["OrderDelayCard"] = "none";
                            //settings["BlockadeCard"] = "none";
                            //settings["NumberOfCardsToReceiveEachTurn"] = 1;
                        });


can i set just template id?
WarLight AI: 2/25/2016 09:03:36

Fizzer 
Level 64

Warzone Creator
Report
can i set just template id?

Yes, the API takes a templateID json parameter, I just forgot to include it in the wrapper for the HumanGameAPI (the BotGameAPI already includes it.)

I just added it to the github repro.
Posts 1 - 20 of 101   1  2  3  4  5  6  Next >>