Play my version here. My slightly improved AI are the pink, green and lime player.
This is a modification of the game Dice Wars from gamedesign.jp. I have added the ability to have multiple types of AI so I could try to create my own AI for the game.
Once you have cloned the repository or downloaded the files, simply navigate to file:///Drive:/the/directory/you/cloned/it/to/index.html
in any web browser on your computer (For instance, file:///C:/Users/USERNAME/Downloads/dicewarsjs/index.html
).
Copy one of the existing ai files, such as ai_example.js
, and name it ai_YourName.js
. Change the file's function to also be named ai_YourName
In index.html
at line 39 where the other AI scripts are added, add a line for ai_YourName.js
Go to line 42 of game.js
where the array this.ai
is defined. Change some of the items in the array to ai_YourName
, which is the function in your AI's script. The first player is always the human player, so leave it as null.
this.ai
Modify the function ai_YourName
in ai_YourName.js
. Look at existing ai such as ai_example
or ai_defensive
for techniques to analyze the game state.
ai_example.js
give a basic outline for how to declare a movegame.area_from
to the id of the attacking region and game.area_to
to the defending region's id (do not return). Once you have no good moves left, end the player's turn by returning 0.game.adat
is the array of regions.game.adat[i].arm
is the id of the player who owns the region, and game.get_pn()
returns the id of the player whose turn it is.game.adat[i].dice
is the number of dice the region hasgame.adat[i].join[j]
is true (1) when region i
is adjacent to region j
and false (0) otherwise.If you make a cool new AI, let me know!
I plan to make a version of the game that just plays the AI against themselves quickly so you can get statstics on how well each AI performs.