Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decision objects don't belong in production #42

Closed
taylorhansen opened this issue May 22, 2019 · 0 comments
Closed

Decision objects don't belong in production #42

taylorhansen opened this issue May 22, 2019 · 0 comments
Assignees
Labels
ai Has to do with the AI housekeeping Refactoring that won't have much impact on behavior

Comments

@taylorhansen
Copy link
Owner

taylorhansen commented May 22, 2019

Currently, Networks create Decision objects whenever it makes a decision. This is only necessary during training, so the code that currently pertains to that should be removed.

Instead, in train.ts, provide a means to subclass into a TrainingNetwork that's able to properly create those Decision objects with the help of having full control over the simulation in the play() function.

The additional control can also be used to hook into events and replace the purpose of BattleAgent#acceptChoice(), #onFaint(), and #onTurn(), as well as moving the RewardTracker class into scripts/ and not as a field of Network. As such, the BattleState#agent field will be useless so that can be removed.

@taylorhansen taylorhansen added housekeeping Refactoring that won't have much impact on behavior ai Has to do with the AI labels May 22, 2019
@taylorhansen taylorhansen self-assigned this May 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ai Has to do with the AI housekeeping Refactoring that won't have much impact on behavior
Projects
None yet
Development

No branches or pull requests

1 participant