# Clash Royale Build-A-Bot
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![PyPI version](https://badge.fury.io/py/ClashRoyaleBuildABot.svg)](https://badge.fury.io/py/ClashRoyaleBuildABot)
Build your own bot to play Clash Royale
![demo](https://raw.githubusercontent.com/wiki/Pbatch/ClashRoyaleBuildABot/images/demo.gif)
## Description
We present an advanced state generator, which is accurate and returns a lot of information.
It uses:
* YOLOv5 to infer the units and numbers
* Image hashes to detect the cards
* A simple function of the pixels to deduce the elixir
![detector](https://raw.githubusercontent.com/wiki/Pbatch/ClashRoyaleBuildABot/images/demo.jpg)
With a more powerful interpretation of the state,
we can start to build bots that can make intelligent decisions.
## Getting Started
* [Setup](https://github.com/Pbatch/ClashRoyaleBuildABot/wiki/Setup) your environment and the emulator.
* [Try](https://github.com/Pbatch/ClashRoyaleBuildABot/wiki/Tutorial-(Basic)) the basic bot building tutorial.
* [Learn](https://github.com/Pbatch/ClashRoyaleBuildABot/wiki/State) how the state is generated.
## Releases
* 1.1.0
* Moved to bigger Yolov5 model.
* Predict 'ally/enemy' separately from the unit (Doubles training data + fewer classes to predict).
## Roadmap
* Improve flaws of PeteBot (Placement, elixir management, etc.).
* Label more images, of more diverse cards, so that more decks can be played.
* Add a layer that operates on the object detection output to produce more reliable unit predictions.
(I.e. Tracking units over time).
* Add a basic Q-learning tutorial.
* Add a basic imitation learning tutorial.
* Publish the YOLOv5 training notebook.
* Add the ability to open chests and upgrade cards.
* Publish a leaderboard of the best bots made with the repo.
* ... Your next big idea?
## Community Creations
![Hog2.6Cycle](https://raw.githubusercontent.com/wiki/Pbatch/ClashRoyaleBuildABot/images/hog.gif)
Hog 2.6 Cycle Bot by OwenKruse
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/link-discord"><img src="https://avatars.githubusercontent.com/u/50463727?v=4?s=100" width="100px;" alt="Link"/><br /><sub><b>Link</b></sub></a><br /><a href="#data-link-discord" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.pazder.ca"><img src="https://avatars.githubusercontent.com/u/17608446?v=4?s=100" width="100px;" alt="Emgimeer-Bazder"/><br /><sub><b>Emgimeer-Bazder</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3AEmgimeer-Bazder" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GavriloviciEduard"><img src="https://avatars.githubusercontent.com/u/33176335?v=4?s=100" width="100px;" alt="Gavrilovici Eduard"/><br /><sub><b>Gavrilovici Eduard</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=GavriloviciEduard" title="Documentation">📖</a> <a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=GavriloviciEduard" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Nyantad"><img src="https://avatars.githubusercontent.com/u/68382673?v=4?s=100" width="100px;" alt="Nyantad"/><br /><sub><b>Nyantad</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3ANyantad" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/OwenKruse"><img src="https://avatars.githubusercontent.com/u/91492770?v=4?s=100" width="100px;" alt="OwenKruse"/><br /><sub><b>OwenKruse</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=OwenKruse" title="Documentation">📖</a> <a href="#data-OwenKruse" title="Data">🔣</a> <a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=OwenKruse" title="Code">💻</a> <a href="#example-OwenKruse" title="Examples">💡</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://martinmiglio.dev/?utm_source=github_bio&utm_medium=Social"><img src="https://avatars.githubusercontent.com/u/10036276?v=4?s=100" width="100px;" alt="Martin Miglio"/><br /><sub><b>Martin Miglio</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=marmig0404" title="Code">💻</a> <a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=marmig0404" title="Documentation">📖</a> <a href="#a11y-marmig0404" title="Accessibility">️️️️♿️</a> <a href="#example-marmig0404" title="Examples">💡</a> <a href="#userTesting-marmig0404" title="User Testing">📓</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ankushsethi"><img src="https://avatars.githubusercontent.com/u/22005886?v=4?s=100" width="100px;" alt="Ankush Sethi"/><br /><sub><b>Ankush Sethi</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3Aankushsethi" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/adl212"><img src="https://avatars.githubusercontent.com/u/64753570?v=4?s=100" width="100px;" alt="adl212"/><br /><sub><b>adl212</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3Aadl212" title="Bug reports">🐛</a> <a href="#data-adl212" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Chi-EEE"><img src="https://avatars.githubusercontent.com/u/73843190?v=4?s=100" width="100px;" alt="Chi Huu Huynh"/><br /><sub><b>Chi Huu Huynh</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=Chi-EEE" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://hexiro.me"><img src="https://avatars.githubusercontent.com/u/42787085?v=4?s=100" width="100px;" alt="nathan lodge"/><br /><sub><b>nathan lodge</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3Ahexiro" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://basscoder2808.github.io/"><img src="https://avatars.githubusercontent.com/u/65075935?v=4?s=100" width="100px;" alt="Vedant Jolly"/><br /><sub><b>Vedant Jolly</b></sub></a><br /><a href="https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3ABassCoder2808" title="Bug reports">🐛</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
Raw data
{
"_id": null,
"home_page": "https://github.com/Pbatch/ClashRoyaleBuildABot",
"name": "ClashRoyaleBuildABot",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "machine-learning ai computer-vision adb clashroyale bluestacks yolov5",
"author": "pbatch",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/33/36/32df119a66eabf07f216cd2e613d8105502628ae8feb98a831bcde67c4ae/ClashRoyaleBuildABot-1.2.0.tar.gz",
"platform": null,
"description": "# Clash Royale Build-A-Bot\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n[![PyPI version](https://badge.fury.io/py/ClashRoyaleBuildABot.svg)](https://badge.fury.io/py/ClashRoyaleBuildABot)\n\nBuild your own bot to play Clash Royale\n\n![demo](https://raw.githubusercontent.com/wiki/Pbatch/ClashRoyaleBuildABot/images/demo.gif)\n\n## Description\n\nWe present an advanced state generator, which is accurate and returns a lot of information.\nIt uses:\n* YOLOv5 to infer the units and numbers\n* Image hashes to detect the cards\n* A simple function of the pixels to deduce the elixir\n\n![detector](https://raw.githubusercontent.com/wiki/Pbatch/ClashRoyaleBuildABot/images/demo.jpg)\n\nWith a more powerful interpretation of the state,\nwe can start to build bots that can make intelligent decisions.\n\n## Getting Started\n\n* [Setup](https://github.com/Pbatch/ClashRoyaleBuildABot/wiki/Setup) your environment and the emulator.\n\n* [Try](https://github.com/Pbatch/ClashRoyaleBuildABot/wiki/Tutorial-(Basic)) the basic bot building tutorial.\n\n* [Learn](https://github.com/Pbatch/ClashRoyaleBuildABot/wiki/State) how the state is generated.\n\n## Releases\n\n* 1.1.0\n * Moved to bigger Yolov5 model.\n * Predict 'ally/enemy' separately from the unit (Doubles training data + fewer classes to predict).\n\n## Roadmap\n\n* Improve flaws of PeteBot (Placement, elixir management, etc.).\n* Label more images, of more diverse cards, so that more decks can be played.\n* Add a layer that operates on the object detection output to produce more reliable unit predictions. \n(I.e. Tracking units over time).\n* Add a basic Q-learning tutorial.\n* Add a basic imitation learning tutorial.\n* Publish the YOLOv5 training notebook.\n* Add the ability to open chests and upgrade cards.\n* Publish a leaderboard of the best bots made with the repo.\n* ... Your next big idea?\n\n## Community Creations\n\n![Hog2.6Cycle](https://raw.githubusercontent.com/wiki/Pbatch/ClashRoyaleBuildABot/images/hog.gif)\n\nHog 2.6 Cycle Bot by OwenKruse\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/link-discord\"><img src=\"https://avatars.githubusercontent.com/u/50463727?v=4?s=100\" width=\"100px;\" alt=\"Link\"/><br /><sub><b>Link</b></sub></a><br /><a href=\"#data-link-discord\" title=\"Data\">\ud83d\udd23</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.pazder.ca\"><img src=\"https://avatars.githubusercontent.com/u/17608446?v=4?s=100\" width=\"100px;\" alt=\"Emgimeer-Bazder\"/><br /><sub><b>Emgimeer-Bazder</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3AEmgimeer-Bazder\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/GavriloviciEduard\"><img src=\"https://avatars.githubusercontent.com/u/33176335?v=4?s=100\" width=\"100px;\" alt=\"Gavrilovici Eduard\"/><br /><sub><b>Gavrilovici Eduard</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=GavriloviciEduard\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=GavriloviciEduard\" title=\"Code\">\ud83d\udcbb</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Nyantad\"><img src=\"https://avatars.githubusercontent.com/u/68382673?v=4?s=100\" width=\"100px;\" alt=\"Nyantad\"/><br /><sub><b>Nyantad</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3ANyantad\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/OwenKruse\"><img src=\"https://avatars.githubusercontent.com/u/91492770?v=4?s=100\" width=\"100px;\" alt=\"OwenKruse\"/><br /><sub><b>OwenKruse</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=OwenKruse\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"#data-OwenKruse\" title=\"Data\">\ud83d\udd23</a> <a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=OwenKruse\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#example-OwenKruse\" title=\"Examples\">\ud83d\udca1</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://martinmiglio.dev/?utm_source=github_bio&utm_medium=Social\"><img src=\"https://avatars.githubusercontent.com/u/10036276?v=4?s=100\" width=\"100px;\" alt=\"Martin Miglio\"/><br /><sub><b>Martin Miglio</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=marmig0404\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=marmig0404\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"#a11y-marmig0404\" title=\"Accessibility\">\ufe0f\ufe0f\ufe0f\ufe0f\u267f\ufe0f</a> <a href=\"#example-marmig0404\" title=\"Examples\">\ud83d\udca1</a> <a href=\"#userTesting-marmig0404\" title=\"User Testing\">\ud83d\udcd3</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ankushsethi\"><img src=\"https://avatars.githubusercontent.com/u/22005886?v=4?s=100\" width=\"100px;\" alt=\"Ankush Sethi\"/><br /><sub><b>Ankush Sethi</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3Aankushsethi\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n </tr>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/adl212\"><img src=\"https://avatars.githubusercontent.com/u/64753570?v=4?s=100\" width=\"100px;\" alt=\"adl212\"/><br /><sub><b>adl212</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3Aadl212\" title=\"Bug reports\">\ud83d\udc1b</a> <a href=\"#data-adl212\" title=\"Data\">\ud83d\udd23</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Chi-EEE\"><img src=\"https://avatars.githubusercontent.com/u/73843190?v=4?s=100\" width=\"100px;\" alt=\"Chi Huu Huynh\"/><br /><sub><b>Chi Huu Huynh</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/commits?author=Chi-EEE\" title=\"Code\">\ud83d\udcbb</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://hexiro.me\"><img src=\"https://avatars.githubusercontent.com/u/42787085?v=4?s=100\" width=\"100px;\" alt=\"nathan lodge\"/><br /><sub><b>nathan lodge</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3Ahexiro\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://basscoder2808.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/65075935?v=4?s=100\" width=\"100px;\" alt=\"Vedant Jolly\"/><br /><sub><b>Vedant Jolly</b></sub></a><br /><a href=\"https://github.com/Pbatch/ClashRoyaleBuildABot/issues?q=author%3ABassCoder2808\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n </tr>\n </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n",
"bugtrack_url": null,
"license": "",
"summary": "A platform for creating bots to play Clash Royale",
"version": "1.2.0",
"split_keywords": [
"machine-learning",
"ai",
"computer-vision",
"adb",
"clashroyale",
"bluestacks",
"yolov5"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6d7ea2df69bb018aada6b810152d8f88f4c34e7a1d70e79dcd2c623fc31b1ee1",
"md5": "ee99fafe51caf816d4b2475eda5605c6",
"sha256": "fab7c86fe9b495addf4992ec4142062985d2ffa85e97c9690bf63e3b936e1086"
},
"downloads": -1,
"filename": "ClashRoyaleBuildABot-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ee99fafe51caf816d4b2475eda5605c6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 45339957,
"upload_time": "2023-01-23T18:29:38",
"upload_time_iso_8601": "2023-01-23T18:29:38.088776Z",
"url": "https://files.pythonhosted.org/packages/6d/7e/a2df69bb018aada6b810152d8f88f4c34e7a1d70e79dcd2c623fc31b1ee1/ClashRoyaleBuildABot-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "333632df119a66eabf07f216cd2e613d8105502628ae8feb98a831bcde67c4ae",
"md5": "1faa9178f300ba6a40a562fd027d2ffc",
"sha256": "63816779b49390138a1d1a0367d7d7e3b0a86e943c4822c329e42538b46836cc"
},
"downloads": -1,
"filename": "ClashRoyaleBuildABot-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "1faa9178f300ba6a40a562fd027d2ffc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 45333872,
"upload_time": "2023-01-23T18:29:42",
"upload_time_iso_8601": "2023-01-23T18:29:42.212349Z",
"url": "https://files.pythonhosted.org/packages/33/36/32df119a66eabf07f216cd2e613d8105502628ae8feb98a831bcde67c4ae/ClashRoyaleBuildABot-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-23 18:29:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "Pbatch",
"github_project": "ClashRoyaleBuildABot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "clashroyalebuildabot"
}