• Stars
    star
    642
  • Rank 67,495 (Top 2 %)
  • Language
    C++
  • License
    GNU Affero Genera...
  • Created almost 7 years ago
  • Updated 4 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,099
star
3

2023-MatKor-Rust-Interpreter

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋งŒ๋“ค๊ธฐ
Rust
339
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
151
star
7

2022-Make-Interpreter-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ
Rust
141
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

CubbyFlow-v1

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

cpp-developer-roadmap

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

2023-UNIST-Rust-Minecraft

2023๋…„ UNIST HeXA ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ๋งŒ๋“ค๊ธฐ
Rust
75
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

2022-INFCON-Rust-CrossPlatform

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

BOJ

About Baekjoon Online Judge problem solving by Rust
Rust
53
star
19

Runeterra

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

2022-CppKorea-DataStructure

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

CubbyTower

Simple tower defense game using C++ with Entity Component System (ECS)
C++
48
star
22

2019-OSS-Summer-RLBasic

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

SnowSimulation

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

PolyMapGenerator

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

2022-Make-Compiler-Rust

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

DirectX

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

2023-SNU-Rust-CrossPlatform

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

rust-oss-template

Rust Open Source Software Template
Rust
33
star
29

2024-Konkuk-Rust-Roguelike

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

PokeMaster

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

SimpleRPG-Text

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

OpenGLTutorial

OpenGL Study with Examples and Homeworks
C
31
star
33

CubbyDNN

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

2021-HYU-HAI-RLBootCamp

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

PBRStudy

Physically Based Rendering, 2nd Edition Study
29
star
36

2024-SNU-Rust-Application

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

polarlight

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

ProceduralContentGeneration

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

RTRStudy

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

GPU-Pathtracer

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

RosettaStone-GUI

GUI program of RosettaStone
C++
24
star
42

CGStudy

Computer Graphics study from scratch to Neural Rendering
24
star
43

ProgrammingPractice

Programming Practice Examples
C++
24
star
44

2021-CoMu-ECS-Development

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

utilForever

My Github Profile
23
star
46

CubbyCity

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

rust-wasm-ts-template

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

Diablopp

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

2021-JBSH-Summer-RLBasic

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

2023-MatKor-Rust-Compiler

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

zero-to-production

The code of Zero To Production In Rust for exercise
Rust
20
star
52

introduction-to-rust

The book "Introduction to Rust" for beginners
20
star
53

DiscoveringTheModernCpp

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

onboarding-for-beginners

A step-by-step onboarding plans and related materials for beginners
19
star
55

Civilizationpp

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

conquer-the-spire

Slay the Spire simulator using C++ with some reinforcement learning
CMake
19
star
57

2020-OSS-Winter-AlphaZero

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

hiking-for-developers

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

2022-KW-RLEnv

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

2022-SWMaestro-Rust-Basic

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

2022-KW-ECS-Development

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

rust-for-cpp

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

CppIdioms

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

AlphaGo-tutorial

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

InfinityMetro

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

algorithm-rs

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

CubbyEngine

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

Corailed

Unrailed! simulator using C++ with some reinforcement learning and Unrailed! AI using Python with OpenCV
Python
16
star
69

rust-wasm-game-of-life

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

minesweeper-rs

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

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

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

CubbyMenu

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

HellSolver

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

styler

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

CppLinq

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

phys

2D/3D physics engine for games written in Rust
Rust
14
star
77

Presentations

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

problem-solving-roadmap

Roadmap to solving a problem using data structures/algorithms in 2022
13
star
79

recommend-books

My recommended computer programming book list
13
star
80

cpp-oss-template

C++ Open Source Software Template
CMake
13
star
81

CubbyEnums

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

YahtzeeMaster

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

minecraft-rs

A reimplementation of Minecraft written in Rust
Rust
12
star
84

ml-developer-roadmap

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

2021-AIFrenz-RLEnv

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

CubbyRocket

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

ray-tracing-in-one-weekend-cpp

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

marvel-snap

Marvel Snap simulator using Rust with some reinforcement learning
Rust
12
star
89

Shop

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

battlegrounds-rs

Hearthstone:Battlegrounds simulator using Rust with some reinforcement learning
Rust
11
star
91

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
92

AlphaTFT

Teamfight Tactics simulator using C++ with some reinforcement learning
CMake
11
star
93

Starlight

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

Sunshine

Cross-platform rendering engine that supports DirectX 11/12, OpenGL and Vulkan
CMake
10
star
95

Dolphin

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

owning-ref-rs

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

utilforever.github.io

Blog repository - utilForever's Programming Life!
CSS
10
star
98

game-developer-interview-question

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

2024-MatKor-Rust-Blog

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

2021-JBSH-MakeANN

์ „๋ถ๊ณผํ•™๊ณ ๋“ฑํ•™๊ต ํŠน๊ฐ• - Python์œผ๋กœ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋งŒ๋“ค๊ธฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Python
9
star