This is Quati, an automatic play-testing system. It is intended to offer an interface for representing various types of games and to generate artificial intelligence (AI) agents to play them.
This project is written in Typescript, and runs on Node.js. To install the project, you must have the following dependencies installed:
Pnpm can be installed with the following command:
curl -fsSL https://get.pnpm.io/install.sh | sh -We recommend using pnpm to install Node.js, which can be done as follows:
pnpm env use --global ltsGraphviz is used to generate visualizations of game trees.
To install Graphviz, follow the instructions on the official website.
If you use the Visual Studio Code editor, we recommend installing the following extensions:
- Git Graph
- ESLint
- Prettier
- Error Lens
- Pretty TypeScript Errors
- Todo Tree
- Code Spell Checker
- Brazilian Portuguese - Code Spell Checker
- PlantUML
This monorepo includes the following packages and apps. Each package and app is 100% TypeScript.
@repo/typescript_config:tsconfig.jsons used throughout the monorepo.@repo/eslint_config: sharedeslintconfigurations.@repo/core: a functionality library shared by bothnodeandwebapplications.@repo/game: a library to represent abstract games and their rules.@repo/games: a collection of game implementations using the@repo/gamelibrary.@repo/search: a library implementing search algorithms using MCTS and ResNet.@repo/interface: a library to export functionality for apps.
node: an environment for running the automatic play-testing system using Node.js.
This monorepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
To install the project, run the following command:
pnpm iThen, guarantee Tensorflow is correctly installed by running, on the root of the project:
cd packages/search
npm rebuild @tensorflow/tfjs-node --build-addon-from-source
cd ../../You can run the project in different modes:
To run the project in development mode, use the following command:
pnpm run devYou can run only the node or web apps with the following commands:
pnpm run dev --filter=node
pnpm run dev --filter=webTo build the project, use the following command:
pnpm run buildYou can also build only the node or web apps with the --filter flag:
pnpm run build --filter=node
pnpm run build --filter=webTo preview the node app, use the preview script.
You can pass the arguments at the end of the command.
pnpm run preview <args>