All Projects → utilForever → Rosettastone

utilForever / Rosettastone

Licence: agpl-3.0
Hearthstone simulator using C++ with some reinforcement learning

Programming Languages

cpp
1120 projects
cplusplus
227 projects
cpp17
186 projects

Projects that are alternatives of or similar to Rosettastone

Gymfc
A universal flight control tuning framework
Stars: ✭ 210 (-58.82%)
Mutual labels:  reinforcement-learning, rl
Gym Gazebo2
gym-gazebo2 is a toolkit for developing and comparing reinforcement learning algorithms using ROS 2 and Gazebo
Stars: ✭ 257 (-49.61%)
Mutual labels:  reinforcement-learning, rl
Pytorch Drl
PyTorch implementations of various Deep Reinforcement Learning (DRL) algorithms for both single agent and multi-agent.
Stars: ✭ 233 (-54.31%)
Mutual labels:  reinforcement-learning, rl
Rl trading
An environment to high-frequency trading agents under reinforcement learning
Stars: ✭ 205 (-59.8%)
Mutual labels:  reinforcement-learning, rl
Elf
ELF: a platform for game research with AlphaGoZero/AlphaZero reimplementation
Stars: ✭ 3,240 (+535.29%)
Mutual labels:  reinforcement-learning, rl
Rl Tutorial Jnrr19
Stable-Baselines tutorial for Journées Nationales de la Recherche en Robotique 2019
Stars: ✭ 204 (-60%)
Mutual labels:  reinforcement-learning, rl
Corailed
Unrailed! simulator using C++ with some reinforcement learning and Unrailed! AI using Python with OpenCV
Stars: ✭ 15 (-97.06%)
Mutual labels:  rl, python-api
Cherry
A PyTorch Library for Reinforcement Learning Research
Stars: ✭ 143 (-71.96%)
Mutual labels:  reinforcement-learning, rl
Drq
DrQ: Data regularized Q
Stars: ✭ 268 (-47.45%)
Mutual labels:  reinforcement-learning, rl
Rad
RAD: Reinforcement Learning with Augmented Data
Stars: ✭ 268 (-47.45%)
Mutual labels:  reinforcement-learning, rl
Atari
AI research environment for the Atari 2600 games 🤖.
Stars: ✭ 174 (-65.88%)
Mutual labels:  reinforcement-learning, rl
Awesome Monte Carlo Tree Search Papers
A curated list of Monte Carlo tree search papers with implementations.
Stars: ✭ 387 (-24.12%)
Mutual labels:  reinforcement-learning, rl
Coach
Reinforcement Learning Coach by Intel AI Lab enables easy experimentation with state of the art Reinforcement Learning algorithms
Stars: ✭ 2,085 (+308.82%)
Mutual labels:  reinforcement-learning, rl
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+403.92%)
Mutual labels:  reinforcement-learning, rl
Rl Baselines3 Zoo
A collection of pre-trained RL agents using Stable Baselines3, training and hyperparameter optimization included.
Stars: ✭ 161 (-68.43%)
Mutual labels:  reinforcement-learning, rl
Learning To Communicate Pytorch
Learning to Communicate with Deep Multi-Agent Reinforcement Learning in PyTorch
Stars: ✭ 236 (-53.73%)
Mutual labels:  reinforcement-learning, rl
Pytorch Rl
Tutorials for reinforcement learning in PyTorch and Gym by implementing a few of the popular algorithms. [IN PROGRESS]
Stars: ✭ 121 (-76.27%)
Mutual labels:  reinforcement-learning, rl
Reinforcement learning
Implementation of selected reinforcement learning algorithms in Tensorflow. A3C, DDPG, REINFORCE, DQN, etc.
Stars: ✭ 132 (-74.12%)
Mutual labels:  reinforcement-learning, rl
Matterport3dsimulator
AI Research Platform for Reinforcement Learning from Real Panoramic Images.
Stars: ✭ 260 (-49.02%)
Mutual labels:  reinforcement-learning, rl
Irl Imitation
Implementation of Inverse Reinforcement Learning (IRL) algorithms in python/Tensorflow. Deep MaxEnt, MaxEnt, LPIRL
Stars: ✭ 333 (-34.71%)
Mutual labels:  reinforcement-learning, rl

RosettaStone

License Windows Ubuntu macOS Ubuntu - Codecov Build Status

codecov Codacy Badge Total alerts Language grade: C/C++ CodeFactor Discord

Quality Gate Status Lines of Code Maintainability Rating Reliability Rating Security Rating

RosettaStone is Hearthstone simulator using C++ with some reinforcement learning. The code is built on C++17 and can be compiled with commonly available compilers such as g++, clang++, or Microsoft Visual Studio. RosettaStone currently supports macOS (10.14 or later), Ubuntu (18.04 or later), Windows (Visual Studio 2017 or later), and Windows Subsystem for Linux (WSL). Other untested platforms that support C++17 also should be able to build RosettaStone.

Related Repositories

Key Features

  • C++17 based Hearthstone library
  • Console and GUI simulator program
  • C++ and Python API

To-do Features

  • Upgrade "The Innkeeper" to smart
  • Recommend top-tier decks
  • Deck tracker
  • Web simulator

Roadmap

2020

  • Implement all standard cards
    • Rise of Shadows
    • Saviors of Uldum
    • Descent of Dragons
    • Ashes of Outland
    • Scholomance Academy
  • Implement programs for playing game
    • Console-based
    • GUI-based
    • Web-based
  • Prepare "Hearthstone pro gamer" vs AI match-up
  • Implement "Hearthstone Battlegrounds"
  • Support various deep-learning framework for RL environment
    • Tensorflow
    • PyTorch
  • Fully support Python API
  • Write a paper on Hearthstone's RL environment
  • Make architecture documents for contributors
  • Make tutorials for programs

2019

  • Implement all original cards
  • Implement console and GUI program
  • Provide RL environment using PyTorch C++ API
  • Support API for another language such as Python

2018

  • Implement basic system (game and task)
  • Implement basic console program
  • Implement some original cards
  • Support cross-platform build (Windows/Linux/MacOS)
  • Provide API documentation using doxygen

Cards Implementation

Basic & Classic

  • 100% Basic (143 of 143 Cards)
  • 100% Classic (240 of 240 Cards)
  • 100% Demon Hunter Initiate (20 of 20 Cards)
  • 71% Hall of Fame (25 of 35 Cards)

Adventures

  • 57% Galakrond's Awakening (20 of 35 cards)
  • 0% One Night in Karazhan (0 of 45 Cards)
  • 0% The League of Explorers (0 of 45 Cards)
  • 0% Blackrock Mountain (0 of 31 Cards)
  • 0% Curse of Naxxramas (0 of 30 Cards)

Expansions

  • 0% Forged in the Barrens (0 of 1 cards)
  • 42% Madness at the Darkmoon Faire (73 of 170 cards)
  • 57% Scholomance Academy (78 of 135 cards)
  • 59% Ashes of Outland (80 of 135 cards)
  • 100% Descent of Dragons (140 of 140 cards)
  • 99% Saviors of Uldum (134 of 135 cards)
    • Except 'Zephrys the Great' (ULD_003)
  • 100% Rise of Shadows (136 of 136 cards)
  • 0% Rastakhan's Rumble (0 of 135 Cards)
  • 0% The Boomsday Project (0 of 135 Cards)
  • 0% The Witchwood (0 of 135 Cards)
  • 0% Kobolds & Catacombs (0 of 135 Cards)
  • 0% Knights of the Frozen Throne (0 of 135 Cards)
  • 0% Journey to Un'Goro (0 of 135 Cards)
  • 0% Mean Streets of Gadgetzan (0 of 132 Cards)
  • 0% Whispers of the Old Gods (0 of 134 Cards)
  • 0% The Grand Tournament (0 of 132 Cards)
  • 0% Goblins vs Gnomes (0 of 123 Cards)

Implementation List

Quick Start

You will need CMake to build the code. If you're using Windows, you need Visual Studio 2017 in addition to CMake.

First, clone the code:

git clone https://github.com/utilForever/RosettaStone.git --recursive
cd RosettaStone

Python API

Build and install the packagae by running

pip install -U .

NOTE: We are making Python API and related examples.

C++ API

For macOS or Linux or Windows Subsystem for Linux (WSL):

mkdir build
cd build
cmake ..
make

For Windows:

mkdir build
cd build
cmake .. -G"Visual Studio 15 2017 Win64"
MSBuild RosettaStone.sln /p:Configuration=Release

Now run console simulator:

bin/RosettaConsole

NOTE: To run GUI simulator, please check out RosettaStone GUI.

Docker

docker pull utilforever/rosettastone:latest

Now run console simulator:

docker run -it utilforever/rosettastone
[inside docker container]
/app/build/bin/RosettaConsole

More Instructions of Building the Code

To learn how to build, test, and install the SDK, please check out Install.md.

Documentation

All the documentations for the framework can be found from the project website incluing the API reference.

Presentations

Videos

Sprints

Articles

How To Contribute

Contributions are always welcome, either reporting issues/bugs or forking the repository and then issuing pull requests when you have completed some additional coding that you feel will be beneficial to the main project. If you are interested in contributing in a more dedicated capacity, then please check out Contributing.md.

Contact

You can contact me via e-mail (utilForever at gmail.com). I am always happy to answer questions or help with any issues you might have, and please be sure to share any additional work or your creations with me, I love seeing what other people are making.

Sponsors

CppDepend

License

The class is licensed under the Affero GPLv3 License:

RosettaStone is based on part of Sabberstone's code

Copyright (c) 2017-2020 SabberStone Team, darkfriend77 & rnilva

RosettaStone is based on part of hearthstone-ai's code

Copyright (c) 2017 Peter Shih, peter1591

RosettaStone, Hearthstone simulator using C++ with some reinforcement learning

Copyright (c) 2017-2020 RosettaStone Team

RosettaStone is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License. RosettaStone is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Hearthstone is an interactive game of Blizzard Entertainment, Inc and all rights reserved. Hearthstone is a registered trademark of Blizzard Entertainment, Inc. in the U.S. and/or other countries. This project is not affiliated with Blizzard Entertainment.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].