Comments (9)
Move some analyze beforehand
Now we can decide:
- not enough resource
- attacker is not attackable
- hero power is not usable
Still cannot decide:
- client card cannot be played
- calient card needs target, but failed
- GetDefender() return invalid target
- defender vanished
TODO:
- no space for minion
- secret exists
from hearthstone-ai.
TODO:
check simulation failure rate
from hearthstone-ai.
Fixed in commit: 37f9437
from hearthstone-ai.
TODO: when minion is somehow full due to pre-summon triggers,
the minion card should be considered as played successfully, rather than treated as an invalid action.
from hearthstone-ai.
More fixed in commit: f459d1d
from hearthstone-ai.
There are only two possibilities to lead to an invalid state:
- defender returned by callback is invalid
a. this is a desired design - the card's onplay_handler.PrepareTarget() failed
a. can we check this beforehand (i.e., in ValidActionGetter)
b. if we do this check beforehand, but still failed at onplay_handler.PrepareTarget() when doing PlayCard(), we should stop the flow, but returned as a valid state.
from hearthstone-ai.
Need a const version of FlowControl::Manipulate to provide some interfaces to client cards, which allowed client cards to do some checks in onplay_handler.PrepareTarget().
Also, we can fix TODOs in ValidActionGetter.
from hearthstone-ai.
A manipulator, by its name, should be able to manipulate the underlying game state, so adding a const-manipulator doesn't make much sense.
Maybe need to pass const& of game state directly
from hearthstone-ai.
No invalid state anymore.
Fixed in several commits; ending with 5ebc79f.
from hearthstone-ai.
Related Issues (20)
- generate_train_data depends on `neural_net`, where does `neural_net` come from? HOT 1
- Compilation with VS 2017 community (Windows)? HOT 9
- Metadata file 'GameEngineCppCLI.dll' could not be found HOT 1
- You are a bad person and should be isolated.
- run 'make' under generate_train_data failed
- What do resource feature represent in the game?
- judge: refine Recorder HOT 1
- Binaries HOT 1
- move mcts::board::* to engine module HOT 1
- randomize hidden information in judger HOT 1
- refine neural network implementation
- don't need to use double here
- integrate with TensorFlow C++ HOT 6
- I can't follow Installation process HOT 2
- Needs Simulator so we don't need the actual game to train data. HOT 3
- It is not working HOT 2
- BadImageFormatException when trying to run HearthstoneAI
- Building on macOS HOT 1
- contact email HOT 1
- Binaries?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hearthstone-ai.