• Stars
    star
    648
  • Rank 69,480 (Top 2 %)
  • Language
    C++
  • License
    GNU Affero Genera...
  • Created over 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hearthstone simulator using C++ with some reinforcement learning

RosettaStone

License Windows Ubuntu macOS Discord

codecov Codacy Badge CodeFactor

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

Cards Implementation

Standard Format

  • 98% Core Set (247 of 250 cards)
  • 81% Forged in the Barrens (139 of 170 cards)
  • 35% United in Stormwind (60 of 170 cards)
  • 35% Fractured in Alterac Valley (61 of 170 cards)
  • 12% Voyage to the Sunken City (22 of 170 cards)
  • 10% Murder at Castle Nathria (17 of 170 cards)
  • 0% March of the Lich King (0 of 1 cards)

Wild Format

  • 100% Legacy (167 of 167 Cards)
  • 100% Expert1 (245 of 245 Cards)
  • 100% Demon Hunter Initiate (20 of 20 Cards)
  • 100% Curse of Naxxramas (30 of 30 Cards)
  • 6% Goblins vs Gnomes (8 of 123 Cards)
  • 100% Blackrock Mountain (31 of 31 Cards)
  • 8% The Grand Tournament (11 of 132 Cards)
  • 100% The League of Explorers (45 of 45 Cards)
  • 5% Whispers of the Old Gods (8 of 134 Cards)
  • 100% One Night in Karazhan (45 of 45 Cards)
  • 2% Mean Streets of Gadgetzan (3 of 132 Cards)
  • 7% Journey to Un'Goro (10 of 135 Cards)
  • 4% Knights of the Frozen Throne (6 of 135 Cards)
  • 5% Kobolds & Catacombs (7 of 135 Cards)
  • 5% The Witchwood (8 of 135 Cards)
  • 2% The Boomsday Project (4 of 136 Cards)
  • 5% Rastakhan's Rumble (7 of 135 Cards)
  • 100% Rise of Shadows (136 of 136 cards)
  • 99% Saviors of Uldum (134 of 135 cards)
    • Except 'Zephrys the Great' (ULD_003)
  • 100% Descent of Dragons (140 of 140 cards)
  • 60% Galakrond's Awakening (21 of 35 cards)
  • 60% Ashes of Outland (82 of 135 cards)
  • 57% Scholomance Academy (78 of 135 cards)
  • 46% Madness at the Darkmoon Faire (79 of 170 cards)

Classic Format

  • 100% Vanilla Set (382 of 382 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 package 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 ยฉ 2017-2023 SabberStone Team, darkfriend77 & rnilva

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

Copyright ยฉ 2017-2023 Chris Ohk

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.

More Repositories

1

game-developer-roadmap

Roadmap to becoming a game developer in 2022
Rust
4,644
star
2

awesome-cafe

โ˜• ๋ชจ๊ฐ์ฝ”ํ•˜๊ธฐ ์ข‹์€ ๊ตญ๋‚ด ์นดํŽ˜ ๋ฆฌ์ŠคํŠธ
1,187
star
3

2023-MatKor-Rust-Interpreter

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋งŒ๋“ค๊ธฐ
Rust
344
star
4

modern-cpp-tutorial

A curated list of Modern C++ articles, examples, tutorials, frameworks, libraries, and shiny things.
C++
320
star
5

rl-paper-study

Reinforcement Learning paper review study
202
star
6

2022-Korea-Rust-Backend

2022๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต Google Developer Student Clubs ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + Backend ๊ฐœ๋ฐœ
Rust
153
star
7

2022-Make-Interpreter-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ
Rust
138
star
8

baba-is-auto

Baba Is You simulator using C++ with some reinforcement learning
Python
135
star
9

Cubby-v1

Voxel-based game client (based on AlwayGeeky's Vox)
C++
110
star
10

modern-cpp-next

Modern C++ Next: Comprehensive Guide for C++20
Shell
107
star
11

2023-UNIST-Rust-Minecraft

2023๋…„ UNIST HeXA ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ๋งŒ๋“ค๊ธฐ
Rust
95
star
12

CubbyFlow-v1

Voxel-based fluid simulation engine for computer games
C++
88
star
13

cpp-developer-roadmap

Roadmap to becoming a C++ developer in 2020
76
star
14

CubbyCalc

Simple Console Calculator using C++
C++
69
star
15

2021-KAIST-Include-AlphaGoZero

2021๋…„ KAIST ๋™์•„๋ฆฌ Include ์Šคํ„ฐ๋”” - AlphaGo์™€ AlphaGo Zero๋ฅผ ํ™œ์šฉํ•œ ์ธ๊ณต์ง€๋Šฅ ๋ฐ”๋‘‘
Python
66
star
16

awesome-restaurant

๐Ÿด ๊ตญ๋‚ด ๋ ˆ์Šคํ† ๋ž‘ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ
63
star
17

BOJ

About Baekjoon Online Judge problem solving by Rust
Rust
59
star
18

2022-INFCON-Rust-CrossPlatform

INFCON 2022 - Rust ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
56
star
19

Runeterra

Legends of Runeterra simulator using C++ with some reinforcement learning
C++
48
star
20

CubbyTower

Simple tower defense game using C++ with Entity Component System (ECS)
C++
47
star
21

2022-CppKorea-DataStructure

2022๋…„ C++ Korea ์—ฌ๋ฆ„ ์Šคํ„ฐ๋”” - C++ ์ž๋ฃŒ๊ตฌ์กฐ
C++
47
star
22

2019-OSS-Summer-RLBasic

2019๋…„ OSS ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ ์—ฌ๋ฆ„ ์บ ํ”„ - ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ์ดˆ ๊ด€๋ จ ์˜ˆ์ œ ์ฝ”๋“œ
Python
45
star
23

2024-Hyundai-NGV-Rust

2024 Softeer Tech Meetup - Rust๋Š” ์™œ ์ฃผ๋ชฉ ๋ฐ›๊ณ  ์žˆ๋Š”๊ฐ€ + Rust ์ฃผ์š” ๊ธฐ๋Šฅ ์†Œ๊ฐœ
Rust
41
star
24

2024-HSPACE-Rust-LinuxKernel

2024๋…„ HSPACE ํŠน๊ฐ• - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
Rust
40
star
25

SnowSimulation

Snow simulation based on Disney's "The material point method for Snow Simulation" paper using Qt and CUDA
C++
39
star
26

2024-Konkuk-Rust-Roguelike

2024๋…„ ๊ฑด๊ตญ๋Œ€ํ•™๊ต Google Developer Student Clubs + EDGE ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋กœ๊ทธ๋ผ์ดํฌ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
Rust
39
star
27

2024-SNU-Rust-Application

2024๋…„ ์„œ์šธ๋Œ€ํ•™๊ต SCSC + WaffleStudio ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ํฌ๋กœ์Šคํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
Rust
38
star
28

PolyMapGenerator

Polygonal map generator for games. Generates island maps with a focus on mountains, rivers, coastlines.
C++
37
star
29

DirectX

Visual Studio 2015 version of Frank D. Luna's book "Introduction to 3D Game Programming using DirectX 11"
C++
35
star
30

2024-DEVCON-Rust-Safety

DEVCON 2024 - Rust๋Š” ์–ด๋–ป๊ฒŒ ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ด๋ค„๋‚ด๋Š”๊ฐ€ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
34
star
31

2022-Make-Compiler-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ
33
star
32

rust-oss-template

Rust Open Source Software Template
Rust
33
star
33

2023-SNU-Rust-CrossPlatform

2023๋…„ ์„œ์šธ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€ ํŠน๊ฐ• - Rust ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
32
star
34

SimpleRPG-Text

Text-based Simple RPG using C++
C++
32
star
35

PokeMaster

Pokรฉmon battle simulator using Rust with some reinforcement learning
Rust
31
star
36

OpenGLTutorial

OpenGL Study with Examples and Homeworks
C
31
star
37

CubbyDNN

Deep learning framework using C++17 in a single header file
C++
30
star
38

2021-HYU-HAI-RLBootCamp

2021๋…„ ํ•œ์–‘๋Œ€ํ•™๊ต ๋™์•„๋ฆฌ HAI ์Šคํ„ฐ๋”” - ๊ฐ•ํ™”ํ•™์Šต ๋ถ€ํŠธ ์บ ํ”„
Python
30
star
39

PBRStudy

Physically Based Rendering, 2nd Edition Study
29
star
40

polarlight

A Machine Learning Framework for High Performance written in Rust
Rust
28
star
41

ProceduralContentGeneration

Sample code repository for 'Procedural Content Generation for C++ Game Development'
C++
27
star
42

RTRStudy

Real-time rendering, 4th edition study
27
star
43

GPU-Pathtracer

GPU Pathtracer from scratch using C++ and CUDA
26
star
44

RosettaStone-GUI

GUI program of RosettaStone
C++
24
star
45

ProgrammingPractice

Programming Practice Examples
C++
24
star
46

CGStudy

Computer Graphics study from scratch to Neural Rendering
23
star
47

utilForever

My Github Profile
23
star
48

2021-CoMu-ECS-Development

๊ฒŒ์ž„์ด๋ž‘ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค๋งŒ ๋ฐ‹์—… - ECS ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
C++
23
star
49

CubbyCity

Analyze the causes of urban engineering problems such as gentrification
C++
23
star
50

rust-wasm-ts-template

A template of Rust + WebAssembly with TypeScript (๐Ÿฆ€ + ๐Ÿ•ธ๏ธ = ๐Ÿ’–)
JavaScript
23
star
51

2023-MatKor-Rust-Compiler

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust๋กœ ์ปดํŒŒ์ผ๋Ÿฌ ๋งŒ๋“ค๊ธฐ
22
star
52

zero-to-production

The code of Zero To Production In Rust for exercise
Rust
21
star
53

2021-JBSH-Summer-RLBasic

2021๋…„ ์ „๋ถ๊ณผํ•™๊ณ ๋“ฑํ•™๊ต ์—ฌ๋ฆ„ ํŠน๊ฐ• - ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ์ดˆ
Python
21
star
54

Diablopp

Modern C++ version of Diablo - magic behind the 1996 computer game
21
star
55

conquer-the-spire

Slay the Spire simulator using C++ with some reinforcement learning
CMake
21
star
56

introduction-to-rust

The book "Introduction to Rust" for beginners
21
star
57

DiscoveringTheModernCpp

<๋ชจ๋˜ C++ ์ž…๋ฌธ> ์˜ˆ์ œ ์ €์žฅ์†Œ
C++
19
star
58

2020-OSS-Winter-AlphaZero

2020๋…„ OSS ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ ๊ฒจ์šธ ์บ ํ”„ - AlphaZero ์ธ๊ณต์ง€๋Šฅ ์˜ค๋ชฉ ๊ด€๋ จ ์˜ˆ์ œ ์ฝ”๋“œ
Jupyter Notebook
19
star
59

Civilizationpp

Civilization simulator using C++ with some reinforcement learning
C++
19
star
60

onboarding-for-beginners

A step-by-step onboarding plans and related materials for beginners
18
star
61

hiking-for-developers

โ›ฐ๏ธ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ฑด๊ฐ• ์ฆ์ง„์„ ์œ„ํ•œ ๋“ฑ์‚ฐ ๊ด€๋ จ ์ •๋ณด ๋ชจ์Œ ๐Ÿฅพ
18
star
62

2022-KW-RLEnv

2022๋…„ ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ •๋ณด๊ณตํ•™๋ถ€ ํŠน๊ฐ• - ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ ๊ฐœ๋ฐœ
Python
18
star
63

2022-SWMaestro-Rust-Basic

2022๋…„ ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ ํŠน๊ฐ• - Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ
Rust
18
star
64

2022-KW-ECS-Development

2022๋…„ ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ •๋ณด๊ณตํ•™๋ถ€ ํŠน๊ฐ• - ECS ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
C++
18
star
65

CppIdioms

A curated list of Modern C++ idioms
C++
17
star
66

rust-for-cpp

A tutorial and example of Rust for C++ programmers
17
star
67

Corailed

Unrailed! simulator using C++ with some reinforcement learning and Unrailed! AI using Python with OpenCV
Python
17
star
68

AlphaGo-tutorial

AlphaGo and AlphaGo Zero step-by-step tutorial using TensorFlow and PyTorch
16
star
69

InfinityMetro

Mini Metro simulator using C++ with some reinforcement learning
Rust
16
star
70

algorithm-rs

Common data structures and algorithms for competitive programming in Rust
Rust
16
star
71

CubbyEngine

Entity Component System (ECS) based game engine for Creative Coding using C++20/23
16
star
72

rust-wasm-game-of-life

A simple Rust and WebAssembly example implementing the Game of Life
Rust
15
star
73

minesweeper-rs

A simple minesweeper game using Rust and windows-rs
Rust
15
star
74

ray-tracing-the-rest-of-your-life-cpp

C++ implementation of Peter Shirley's "Ray Tracing: The Rest of Your Life"
C++
15
star
75

CubbyMenu

A header only Modern C++ library to easily create simple menus for programs
CMake
15
star
76

2024-MatKor-Rust-Blog

2024๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ
Rust
15
star
77

HellSolver

Helltaker simulator using C++ with some reinforcement learning
C++
14
star
78

styler

A header only Modern C++ library for styling output text in Terminal based on rang
C++
14
star
79

CppLinq

LINQ implementation for Modern C++
C++
14
star
80

Presentations

My various presentations to conferences, user groups and so on.
13
star
81

cpp-oss-template

C++ Open Source Software Template
CMake
13
star
82

CubbyEnums

A special way to convert string<->enum in C++ using X Macro technique and template specialization
C++
13
star
83

marvel-snap

Marvel Snap simulator using Rust with some reinforcement learning
Rust
13
star
84

phys

2D/3D physics engine for games written in Rust
Rust
13
star
85

problem-solving-roadmap

Roadmap to solving a problem using data structures/algorithms in 2022
12
star
86

recommend-books

My recommended computer programming book list
12
star
87

YahtzeeMaster

Yahtzee simulator using C++ with some reinforcement learning
C++
12
star
88

minecraft-rs

A reimplementation of Minecraft written in Rust
Rust
12
star
89

ml-developer-roadmap

Roadmap to becoming a ML/DL/RL developer in 2020
12
star
90

2021-AIFrenz-RLEnv

AIํ”„๋ Œ์ฆˆ ์ œ72ํšŒ ์„ธ๋ฏธ๋‚˜ - ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ ๊ฐœ๋ฐœ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Python
12
star
91

ray-tracing-in-one-weekend-cpp

C++ implementation of Peter Shirley's "Ray Tracing in One Weekend"
C++
12
star
92

CubbyRocket

A simple rocket simulation engine from water rocket to satellite
CMake
12
star
93

Shop

C++ Practice Example by making Shop in Game stage by stage
C++
12
star
94

AlphaTFT

Teamfight Tactics simulator using C++ with some reinforcement learning
CMake
12
star
95

nerf-rs

Rust implementation of NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis and its extension to follow-up research projects
Rust
11
star
96

Starlight

A Programming Language for Games: performance, data-oriented, and so on.
11
star
97

battlegrounds-rs

Hearthstone:Battlegrounds simulator using Rust with some reinforcement learning
Rust
10
star
98

Dolphin

Dolphin Engine โ€“ Multi-platform 2D and 3D game engine
10
star
99

game-developer-interview-question

A list of helpful game developer related questions you can use to interview potential candidates.
10
star
100

owning-ref-rs

A library for creating references that carry their owner with them
Rust
10
star