@dimensions-ai/designs-halite3
Halite 3 Design implemented using the Dimensions framework
Last updated 3 months ago by stonet2000 .
ISC · Original npm · Tarball · package.json
$ cnpm install @dimensions-ai/designs-halite3 
SYNC missed versions from official npm registry.

Dimensions - Halite 3 Design

This is a typescript implementation of the Halite 3 AI competition using the Dimensions AI competition framework. This simulates the original Halite 3 game quite closely, including features such as inspiration, mining, dropoffs and more!

You can run most bots that adhere to the Halite 3 starter kits. At the moment, C++, C bots don't really work due to no support for CMake and Make at the moment. Out of the box, Java, Python, Javascript / Typescript, PHP, Go should work, as long as a install.sh file isn't used. More will be added as Dimensions supports more options.

To start, first install it

npm install dimensions-ai @dimensions-ai/designs-halite3

To run a single match, run

const Dimension = require('dimensions-ai');
const Halite3Design = require('@dimensions-ai/designs-halite3').default;

let halite3Design = new Halite3Design('Halite 3 Design');
let halite3Dimension = Dimension.create(halite3Design, {
  name: 'Halite 3', 
  loggingLevel: Dimension.Logger.LEVEL.DETAIL
});

let starterBotJS = './starter-kits/js/MyBot.js';
let starterBotPY = './starter-kits/python/MyBot.py';
halite3Dimension.runMatch(
  [starterBotJS, starterBotPY],
  {
    name: 'my-halite-match',
    loggingLevel: Dimension.Logger.LEVEL.INFO,
    replayDirectory: './replays',
  }
).then((res) => {
  console.log(res);
});

To run a trueskill ranked leaderboard like tournament, akin to the actual Halite 3 tournament, run

let Tournament = Dimension.Tournament;
let simpleBots = ["pathToBot.js", "pathToSomeOtherBot.java", "anotherBot.cpp", "anotherOne.py"];
let halite3League = halite3Dimension.createTournament(simpleBots, {
  type: Tournament.Type.LADDER, // specify ladder/leaderboard tournament
  rankSystem: Tournament.RankSystem.TRUESKILL, // specify to use trueskill for ranking
  loggingLevel: Dimension.Logger.LEVEL.INFO,
  defaultMatchConfigs: {
    replayDirectory: './replays',
    loggingLevel: Dimension.Logger.LEVEL.ERROR,
  },
  agentsPerMatch: [2, 4], // specify that only 2 or 4 players can compete at the same time
  resultHandler: Halite3Design.trueskillResultHandler // use the trueskill result handler
});
halite3League.run();

For full details on how to run custom matches and tournaments, make sure to check out https://github.com/stonet2000/dimensions for details on how to run them.

Replays are automatically saved to the root folder. You can specify the replayDirectory field to give a directory to store replays in. To watch them, you can upload them to the online Halite 3 client at https://2018.halite.io/watch-games

There are only a few features left out (that I know of at least). Error logs are not saved anywhere at this time, they are only printed to console if you set logging to a level of Logger.LEVEL.WARN or higher

I'm open to any contributions if you would like to fix/add something to this! Just open an issue or a PR

Current Tags

  • 1.4.1                                ...           latest (3 months ago)

20 Versions

  • 1.4.1                                ...           3 months ago
  • 1.4.0                                ...           3 months ago
  • 1.3.3                                ...           4 months ago
  • 1.3.2                                ...           4 months ago
  • 1.3.1                                ...           4 months ago
  • 1.3.0                                ...           4 months ago
  • 1.2.9                                ...           4 months ago
  • 1.2.8                                ...           4 months ago
  • 1.2.7                                ...           4 months ago
  • 1.2.6                                ...           4 months ago
  • 1.2.5                                ...           4 months ago
  • 1.2.4                                ...           4 months ago
  • 1.2.3                                ...           4 months ago
  • 1.2.2                                ...           4 months ago
  • 1.2.1                                ...           4 months ago
  • 1.2.0                                ...           4 months ago
  • 1.1.0                                ...           4 months ago
  • 1.0.2                                ...           4 months ago
  • 1.0.1                                ...           4 months ago
  • 1.0.0                                ...           4 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |