• Stars
    star
    246
  • Rank 161,176 (Top 4 %)
  • Language
    C#
  • License
    GNU Affero Genera...
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

Just another Hearthstone Simulator in C# .Net Core, with some A.I. approaches!

SabberStone logo

                           Build status Build status master nuget license contributors

SabberStone 2.1

Massive changes and updates are applied! Please check the Changelog: https://github.com/HearthSim/SabberStone/wiki/Changelog

Overview

State of Implementation: 98% (Rise of Shadows 94%, Rastakhan's Rumble 95%, The Boomsday Project 98%, The Witchwood 99%) of current Standard Cards (Year of the Dragon)! (23.07.2019)

SabberStone is just another Hearthstone simulator and implementation, written in C#. The project was started in Nov'16 while trying to implement aura, buffs & triggers into Brimstone. Focused to prototype my so called onion system I created SabberStone, which is using a layer approach to handle entity changing enchantments. Since then I haven't stopped implementing day by day new cards, new tests and new stuff. I created for fun a visualisation and a scoring based tree search a.i. which can be used to play games (SabberStoneGui).

By now this is a one man show, but there is still a lot of work to do, so any help is appreciated. The base code of Brimstone was a great inspiration for this project. Big thanks to @Pattux, @Patashu for helping on hearthstone super science problems ^^ thx @Katy for inspiration. And thx a lot to @Citiral, @BertP for working out on the stove implementation. And thx to @Milva who did a refactoring on the aura & enchantment system, with great value and is working hard for this project! You're welcome!

If you enjoy using SabberStone consider supporting us at buymeacoffee.com/darkfriend77

Join us on Discord!

Sabberstone Simulator has an own visualisation and client/server architecture for AI research! Preview SabberStone connected to the Stove project

Project Structure

  • SabberStoneCore (.NET Core)

    Core simulator engine, all the functions needed for the simulator are in here. Check out the Wiki Link for informations about the core and how to use it.

  • SabberStoneCoreTest (.NET Core)

    UnitTest for the simulator, there is a generated test for each card in the current game.

  • SabberStoneCoreConsole (.NET Core)

    A test project to run simple codeline based games to test outcome.

  • SabberStoneBasicAI (.NET Core)

    A test project to run A.I. simulations with predefinied decks and strategys.

  • (deprectated)SabberStoneGui (.NET Framework) (This is currently reworked in a Unity3D GUI Client with a GameServer)

    A test project that shows off a visual implementation of the SimpleAi project. This is probably where beginners should start looking at. There is a simple GUI which allows different decks to play against each other with different strategys. Check out the Wiki Link for informations about the use of SimpleUi.

Extension Projects

Cards Implementation

Basic & Classic

  • 100% Basic (142 Cards)
  • 100%% Classic (245 Cards)
  • 87% Hall of Fame (24 Cards)

Adventures

  • 100% Blackrock Mountain (31 Cards)
  • 100% One Night in Karazhan (45 Cards)
  • 68% The League of Explorers (45 Cards) (needs to be upgraded to new system)

Expensions

  • 94% Rise of Shadows (136 Cards)

  • 96% Rastakhan's Rumble (135 Cards)

  • 98% The Boomsday Project (136 Cards)

  • 99% The Witchwood (129 Cards)

  • 100% Kobolds and Catacombs (135 Cards)

  • 100% Knights of the Frozen Throne (135 Cards)

  • 100% Journey to Un'Goro (135 cards)

  • 93% The Grand Tournament (132 Cards) (needs to be upgraded to new system)

  • 100% Whispers of the Old Gods (134 Cards)

  • 100% Mean Streets of Gadgetzan (132 Cards)

  • 80% Goblins vs Gnomes (123 cards)

  • 100% Curse of Naxxramas (30 cards)

Not Implemented Standard Cards

Rise of Shadows

  • [DAL_377] Nine Lives
  • [DAL_431] Swampqueen Hagatha
  • [DAL_573] Commander Rhyssa
  • [DAL_729] Madame Lazul
  • [DAL_731] Duel!
  • [DAL_742] Whirlwind Tempest
  • [DAL_800] Zayle, Shadow Cloak

Rastakhan's Rumble

  • [TRL_318] Hex Lord Malacrass
  • [TRL_345] Krag'wa, the Frog
  • [TRL_522] Wartbringer
  • [TRL_532] Mosh'Ogg Announcer
  • [TRL_535] Snapjaw Shellfighter

The Boomsday Project

  • [BOT_436] Prismatic Lens
  • [BOT_914] Whizbang the Wonderful
The Witchwood
  • [GIL_655] Festeroot Hulk

(Standard is beeing prioritized.)

Requirements

Installation

  • tbd

Documentation

  • Wiki Link
  • SabberStoneBasicAI Link
  • Unity3D GUI Client & GameServer Link

License

AGPLv3

SabberStone is licensed under the terms of the Affero GPLv3 or any later version.

Community

SabberStone is being developed by darkfriend77 ([email protected])

More Repositories

1

Hearthstone-Deck-Tracker

A deck tracker and deck manager for Hearthstone on Windows
C#
4,601
star
2

HSTracker

A deck tracker and deck manager for Hearthstone on macOS
Swift
1,145
star
3

UnityPack

Python deserialization library for Unity3D Asset format
Python
708
star
4

UnityHook

Platform to hook into Unity3D assemblies
C#
260
star
5

hsdata

Hearthstone Data
252
star
6

python-hearthstone

Hearthstone Python library (CardDefs, DBF, enums, log parser)
Python
228
star
7

Arcane-Tracker

An automatic Hearthstone tracker for Android
Kotlin
146
star
8

python-fsb5

Library and tool to extract audio from FSB5 (FMOD Sample Bank) files
Python
130
star
9

Joust

🍿 Hearthstone replays in your browser.
TypeScript
114
star
10

Sunwell

Canvas-based high quality Hearthstone card renderer - no longer maintained
TypeScript
95
star
11

dj-paypal

Paypal integration for Django - Inspired by dj-Stripe
Python
86
star
12

proto-extractor

Program to extract protobufs compiled for C#
C#
79
star
13

HearthDb

HearthDb is a .NET Hearthstone database.
C#
68
star
14

hs-bugs

Unofficial Hearthstone issue tracker
65
star
15

docker-pgredshift

Redshift docker image based on postgres
Dockerfile
61
star
16

HDT-Releases

56
star
17

python-hslog

Python module to parse Hearthstone Power.log files
Python
56
star
18

python-hsreplay

Python library for creating and parsing HSReplay XML files
Python
50
star
19

LotusTracker

Deck Tracker for Magic Arena [DEPRECATED]
C++
50
star
20

hearthstone-deckstrings

🔗 Decode and encode Hearthstone Deckstrings.
JavaScript
50
star
21

hs-icons

Hearthstone vector icons
39
star
22

twitch-hdt-frontend

📺 The official Twitch Extension for Hearthstone Deck Tracker.
TypeScript
39
star
23

hsreplaynet-localstack

HSReplay.net local Docker dev stack
Python
32
star
24

hsproto

Hearthstone Protobuf files
32
star
25

HDT-Localization

Localization for Hearthstone Deck Tracker
XML
23
star
26

Brazier

Hearthstone Simulator in Java
Java
21
star
27

dynity

Load an assembly in Unity at runtime
C++
20
star
28

keg

A client for Blizzard's NGDP protocol
Python
20
star
29

django-reflinks

Referral links implementation for Django
Python
15
star
30

twitch-hdt-ebs

📢 Twitch Extension Backend Service for Hearthstone Deck Tracker.
Python
15
star
31

decrunch

Python wrapper around Crunch DXTc decompressor
C++
13
star
32

articles

Analysis of Hearthstone replays
Jupyter Notebook
11
star
33

hs-card-tiles

Hearthstone Card Tiles
C#
9
star
34

UnityPack-Swift

Swift port of UnityPack
C
8
star
35

python-hearthstone-data

CardDefs.xml and Strings.txt for Hearthstone, conveniently packaged in Python
Python
7
star
36

unity-examples

ASP
7
star
37

HearthBot

Hearthstone bot for Discord
Python
7
star
38

HSTracker-Beta

6
star
39

pyreplib

Starcraft Replay File parser [archived]
C++
6
star
40

hearthsim.info

The HearthSim community website
SCSS
6
star
41

hearthstonejson-client

📖 HearthstoneJSON client for browsers and Node.
TypeScript
6
star
42

hearthforge

JavaScript
5
star
43

hsreplay-xml

📼 Replay format for Hearthstone
5
star
44

hsreplaynet-i18n

🌎 Translations for HSReplay.net.
Gettext Catalog
5
star
45

deck-code-bot

A bot for decoding Hearthstone deck codes on Reddit
Python
4
star
46

legal

HearthSim legal documents (Privacy Policy, Terms of Services, etc)
Markdown
3
star
47

hsreplaynet-embed

Embeddable library for HSReplay.net features on other sites
TypeScript
3
star
48

FSBReader

FSB Reader code for FSBExtractor
Pascal
3
star
49

scenfiles

Hearthstone .scen files and conversion utility
Python
2
star
50

HearthstoneJSON.com

The HearthstoneJSON.com frontend jekyll website
CSS
2
star
51

hsreplay-test-data

Log data for HSReplay and hslog tests
XML
2
star
52

node-canvas-lambda

Builds node-canvas for lambda
Shell
2
star
53

kettle-design

Repo for Kettle design collaboration
C#
2
star
54

CardBot-lua

An IRC card search bot for #hearthsim [archived]
Lua
2
star
55

django-intenumfield

An IntEnumField for Django
Python
2
star
56

deckwarper

🔧 A tiny web-based tool to create and edit Hearthstone decks.
JavaScript
2
star
57

hsreplaynet-api-docs

1
star
58

SabberStoneSynchronizer

Synchronizer between a running Hearthstone client and SabberStone.
C#
1
star
59

hearthsim-instrumentation

Legacy HSReplay.net runtime tooling
Python
1
star
60

HDT-Releases-HSReplay

1
star
61

MtgLotusValley.com

www.mtglotusvalley.com
Vue
1
star
62

hsreplaynet-lambdas

Python
1
star
63

branding

🎨 Logos, Colors and Guidelines for the HearthSim brands.
1
star
64

eslint-config-typescript

HearthSim's common ESLint configuration
JavaScript
1
star
65

Firestarter

Rust
1
star
66

mpqlib

Bob Jenkins' MPQLib (Public Domain)
C
1
star
67

hs-proto-go

Autogenerated Golang code for hs-proto
Shell
1
star
68

react-hs-components

🗄️ Common React components used across HearthSim products.
TypeScript
1
star
69

django-hearthstone

Hearthstone DBF models for Django
Python
1
star