Page MenuHomeWildfire Games

irishninja (Brian Broll)
User

Projects

User Details

User Since
Aug 4 2019, 2:04 AM (246 w, 6 d)

Recent Activity

Feb 28 2021

irishninja added a comment to D3479: Add dynamic game balancing capability to RL endpoint.

Now it should be cleaned up! Let me know if there are any other issues! I still would like to add richer error handling but this can wait for a later revision!

Feb 28 2021, 4:43 AM
irishninja updated the diff for D3479: Add dynamic game balancing capability to RL endpoint.

Rename m_GameState and remove unused evaluate test

Feb 28 2021, 4:38 AM

Feb 27 2021

irishninja added a comment to D3479: Add dynamic game balancing capability to RL endpoint.

I updated the revision but must have made a mistake bc it included other file changes... I will try to fix it...

Feb 27 2021, 6:33 PM
irishninja updated the diff for D3479: Add dynamic game balancing capability to RL endpoint.

Rename m_GameState and remove unused evaluate test

Feb 27 2021, 6:00 PM

Feb 6 2021

irishninja requested review of D3529: Only parse querystring if exists.
Feb 6 2021, 10:38 PM

Feb 3 2021

irishninja requested review of D3513: Add pytest fixtures to spin up 0 AD in subprocess.
Feb 3 2021, 12:44 AM

Jan 31 2021

irishninja updated the diff for D3479: Add dynamic game balancing capability to RL endpoint.
This adds support for return values and updates the code to use refactor from D3385
- Remove misc comments
- Merge branch 'arcpatch-D3385' into eval-api-updated
- Merge D3385. Remove optional for OSX support
- Add WIP tests for testing the evaluate endpoint
- Add support for return values in evaluate endpoint
Jan 31 2021, 10:08 PM

Jan 30 2021

irishninja requested review of D3502: Remove debug-print action (and corresponding test).
Jan 30 2021, 9:30 PM
irishninja added a comment to D3385: Fix some more issues with the RL interface.

Thanks, @wraitii. Bummer about not being able to use optional. I updated it!

Jan 30 2021, 5:41 AM
irishninja updated the diff for D3385: Fix some more issues with the RL interface.
  • Remove std::optional for OSX support
  • Fixed string initialization
Jan 30 2021, 4:56 AM

Jan 29 2021

irishninja added inline comments to D3385: Fix some more issues with the RL interface.
Jan 29 2021, 4:31 AM
irishninja updated the diff for D3385: Fix some more issues with the RL interface.
  • Refactor reading HTTP request content logic
Jan 29 2021, 4:27 AM

Jan 25 2021

irishninja requested review of D3479: Add dynamic game balancing capability to RL endpoint.
Jan 25 2021, 9:22 PM

Jan 14 2021

irishninja updated the diff for D2947: Address concerns in rP23917.

Applying the changes on top of the latest version of 0 AD to hopefully fix the build error.

Jan 14 2021, 2:34 AM

Jan 13 2021

irishninja added a comment to D2947: Address concerns in rP23917.

Thanks for the feedback! I have made a few of the changes and left a question about the last remaining ones.

Jan 13 2021, 2:34 AM
irishninja updated the diff for D2947: Address concerns in rP23917.

Fix minor C++ issues around type and unique_ptr creation

Jan 13 2021, 2:33 AM

Nov 12 2020

irishninja updated the diff for D2947: Address concerns in rP23917.
  • Refactor TryApplyMessage; decrease thread count
Nov 12 2020, 4:48 AM

Nov 11 2020

irishninja added a comment to D2947: Address concerns in rP23917.

Just updated the revision to address some of the remaining comments. Let me know if there are any remaining issues/comments/etc!

Nov 11 2020, 3:26 AM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • Make non-copyable; start http server in ctor
Nov 11 2020, 3:17 AM

Nov 10 2020

irishninja added inline comments to D2947: Address concerns in rP23917.
Nov 10 2020, 3:27 AM

Sep 12 2020

irishninja added a comment to D2947: Address concerns in rP23917.

Just updated the code again to move the ownership of the message in SendGameMessage to the member variable. Hopefully this addresses the outstanding issue.

Sep 12 2020, 10:48 PM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • Move game message ownership correctly
Sep 12 2020, 10:46 PM
irishninja added inline comments to D2947: Address concerns in rP23917.
Sep 12 2020, 5:47 PM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • Update SendGameMessage to rvalue ref. Fix char types
Sep 12 2020, 5:46 PM

Sep 7 2020

irishninja updated the diff for D2947: Address concerns in rP23917.
  • Add newline (and reorder)
Sep 7 2020, 4:45 PM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • Formatting fixes, code cleanup
Sep 7 2020, 2:20 AM
irishninja added a comment to D2947: Address concerns in rP23917.

Thanks for the review! I am pushing an updated version now.

Sep 7 2020, 2:20 AM

Sep 4 2020

irishninja updated the diff for D2947: Address concerns in rP23917.
  • Add RL namespace
Sep 4 2020, 5:49 PM
irishninja added a comment to D2947: Address concerns in rP23917.

@vladislavbelov, @Itms - I still need to add a namespace or prefix the more general names (such as GameMessageType) but otherwise this should be ready for review! Let me know if there are any other questions/comments!

Sep 4 2020, 4:54 PM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • add missing "new"
Sep 4 2020, 4:47 PM

Aug 25 2020

irishninja updated the diff for D2947: Address concerns in rP23917.

Switch to smart pointer for g_RLInterface and use rvalue refs to make ownership more clear in SendGameMessage. Clean up RLInterface

Aug 25 2020, 6:50 PM

Aug 22 2020

irishninja added a comment to D2947: Address concerns in rP23917.

I have made most of the changes locally and will be updating the revision soon! I also added a couple inline responses to some of the questions.

Aug 22 2020, 8:30 PM

Aug 12 2020

irishninja updated the diff for D2947: Address concerns in rP23917.
  • Small refactor of game loop when nonvisual
Aug 12 2020, 2:25 PM
irishninja added a comment to rP23917: Add an interface for Reinforcement Learning..

I removed the mod installation from RunRLServer then realized it was pretty easy to decrease the code duplication from that method (as @vladislavbelov suggested over irc, iirc). Removing the code duplication resulted in keeping the mod installation logic. I am happy to revert if that is preferred; let me know what you think!

Aug 12 2020, 5:25 AM
irishninja added a comment to D2947: Address concerns in rP23917.

I just took another pass at it and removed the duplicate logic from RunRLServer. (I believe @vladislavbelov mentioned this over IRC.) I still need to test it when running the GUI but thought I would push it anyway to get feedback. As this reuses more code, it does still include mod installation but I am open to changing it, if preferred!

Aug 12 2020, 5:22 AM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • Merge RunRLServer logic into main loop
Aug 12 2020, 5:19 AM
irishninja added a comment to rP23917: Add an interface for Reinforcement Learning..

Yeah, that makes sense. It is probably also unnecessary for the containerized case since you can just mount the files into the container and the environment can still be spun up with a single command.

Aug 12 2020, 2:18 AM

Aug 11 2020

irishninja added a comment to rP23917: Add an interface for Reinforcement Learning..

Makes sense. I admit that I had been thinking that there was no need to change most of the initial startup for the game when running the RL interface so I just left it in.

Aug 11 2020, 3:57 PM
irishninja added a comment to rP23917: Add an interface for Reinforcement Learning..

I have addressed the concerns in D2947. Let me know what you think!

Aug 11 2020, 2:04 PM
irishninja updated the diff for D2947: Address concerns in rP23917.
  • Add more const's
Aug 11 2020, 5:16 AM

Aug 10 2020

irishninja updated the diff for D2947: Address concerns in rP23917.

Address some of Stan's feedback

  • Add extra const's
  • Use reference in for loop
Aug 10 2020, 7:44 PM
irishninja requested review of D2947: Address concerns in rP23917.
Aug 10 2020, 6:50 PM
irishninja added a comment to rP23917: Add an interface for Reinforcement Learning..

@Itms, Yeah, I will check those issues out and make a new revision!

Aug 10 2020, 3:49 PM

Aug 4 2020

irishninja updated the summary of D2930: Remove unused headers from RL interface.
Aug 4 2020, 9:58 PM
irishninja requested review of D2930: Remove unused headers from RL interface.
Aug 4 2020, 6:40 PM
irishninja accepted D2928: Fix reported compilation error on arch introduced by rP23917.
Aug 4 2020, 4:36 PM
irishninja added a comment to D2928: Fix reported compilation error on arch introduced by rP23917.

Adding the missing include fixes the issue for me. Good catch, @Nescio about the unused includes - those were left over from an earlier version that I forgot to remove :/

Aug 4 2020, 4:36 PM

Jul 31 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Fixed minor style issues

Jul 31 2020, 2:36 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Fixed seg fault due to user exiting the game from the UI when the script is using it, too.

Jul 31 2020, 12:20 AM

Jul 30 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Style fixes mostly from the last round of feedback. I am still digging into the seg fault from earlier. I had a couple questions about some of the earlier comments that I made inline and will update the code after I have a clearer idea of the approach to take!

Jul 30 2020, 8:35 PM
irishninja added inline comments to D2199: Add RL interface for Reinforcement Learning.
Jul 30 2020, 8:33 PM
irishninja added inline comments to D2199: Add RL interface for Reinforcement Learning.
Jul 30 2020, 2:39 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Updated the code following the review from Itms. I still need to check out the seg fault but everything else should be addressed!

Jul 30 2020, 2:37 PM

Jul 24 2020

irishninja added inline comments to D2199: Add RL interface for Reinforcement Learning.
Jul 24 2020, 3:57 AM

Jul 18 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Remove regex, boost parsing. Still running into linking errors so need more testing but wanted to push these updates regardless to get feedback and see how it does in jenkins. (I suspect that the linking issues are specific to my machine...)

Jul 18 2020, 2:49 PM

Jul 11 2020

irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

After rebasing the changes, I have been seeing the following linking error:

Jul 11 2020, 10:38 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Fix issues in main.cpp and rebased (using the github mirror).

Jul 11 2020, 10:36 PM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

I have made most of the changes. To my knowledge, the only remaining issues are:

  • Update GetGameState to use GetEntitiesWithInterface (as described in the earlier comment). I asked a question about this in the earlier comment.
  • Use json_spirit to make it less std::string heavy.
Jul 11 2020, 5:22 PM

Jun 29 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Removed sdl linking from premake (only removed the include last time!)

Jun 29 2020, 8:56 PM

Jun 27 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

GetTemplates is now const and removed unused include

Jun 27 2020, 5:31 PM

Jun 24 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Miscellaneous code cleanup. Still need to address the GetGameState comments and the use of jsonspirit rather than strings by @wraitii.

Jun 24 2020, 11:40 PM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

Made the miscellaneous code fixes. Pushing them momentarily!

Jun 24 2020, 11:38 PM

Jun 21 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.
Jun 21 2020, 5:17 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Revert extern_libs5 file.

Jun 21 2020, 5:16 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Fixed various linting/style issues. Rebased to the latest version of 0 AD.

Jun 21 2020, 5:08 PM
irishninja planned changes to D2199: Add RL interface for Reinforcement Learning.

I have made most of the changes and will be updating the revision soon (arcanist is hanging a bit after the rebase). I still need to update the GetGameState function and make it a little less string heavy as mentioned by @wraitii but most other changes should have been applied.

Jun 21 2020, 3:42 PM

Jun 6 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Removed some grpc includes that I missed

Jun 6 2020, 8:01 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Remove old build option, reorder python args, and minor update to the python readme. Python arguments for reset were reordered from reset(config, player_id=1, save_replay=False) to reset(config, save_replay=False, player_id=1) as I suspect it will be more common for users to want to save the replay rather than change the player's ID.

Jun 6 2020, 7:45 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Remove empty requirements.txt file

Jun 6 2020, 7:37 PM
irishninja retitled D2199: Add RL interface for Reinforcement Learning from Add RPC interface for Reinforcement Learning to Add RL interface for Reinforcement Learning.
Jun 6 2020, 7:34 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Updated the diff to use mongoose instead of gRPC and cleaned up python API.

Jun 6 2020, 7:34 PM

May 22 2020

irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

Thanks, @wraitii ! I am happy to have a review (and someone else who shares my excitement for this! :)

May 22 2020, 9:57 PM

Apr 25 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Fixed remaining call to to_proto (from old ScenarioConfig logic).

Apr 25 2020, 2:17 PM

Apr 12 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Remove programmatic creation of scenario config/game setup JSON and updated the example.

Apr 12 2020, 4:10 AM

Feb 8 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Added --with-rlinterface to the script for building libraries on OSX (only built fiber if flag exists). Removed a condition which is always false (checking if on windows with the --with-rlinterface flag since it throws an unsupported error message earlier if so).

Feb 8 2020, 6:55 PM

Jan 27 2020

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Added support for OSX (required updates to script for building libraries and premake).

Jan 27 2020, 1:09 AM

Dec 22 2019

irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

This adds a couple dependencies when building with the --with-rlinterface (passed to ./update-workspaces.sh):

  • GRPC (C++ and Python)
    • Protobuf
    • Python support requires grpcio-tools package
  • boost fiber
  • boost system
Dec 22 2019, 11:18 PM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Added error when building on unsupported platform (windows). (@Stan mentioned in IRC that windows support was not necessary for merging.)

Dec 22 2019, 10:56 PM

Dec 5 2019

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Updated python dependencies and fixed bug when built w/o the RL interface.

Dec 5 2019, 10:45 PM

Nov 12 2019

nani awarded D2199: Add RL interface for Reinforcement Learning a Like token.
Nov 12 2019, 4:21 AM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Updated installation/testing instructions in README for the python client and removed the user option for the RL interface address as it must be set on start and may be confusing for users.

Nov 12 2019, 4:06 AM
irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Added tests for actions and configuring scenarios. I also removed the extra example since it didn't contain anything new as compared to the better one ;)

Nov 12 2019, 3:42 AM

Nov 11 2019

irishninja added inline comments to D2199: Add RL interface for Reinforcement Learning.
Nov 11 2019, 3:27 PM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

As an update, I am currently working on adding tests for the actions and scenario config (using pytest). I have tests for all the actions in zero_ad/actions.py and a number of the different scenario settings. I am currently working on testing random map usage. After finishing the tests, I am planning on training a simple agent as an example demonstrating how it can be used to expose an OpenAI Gym API to 0 AD :) (I will probably do this in an external repo and then just post a link to it.)

Nov 11 2019, 3:24 PM

Oct 24 2019

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Miscellaneous code cleanup per Stan's feedback.

Oct 24 2019, 12:38 AM

Oct 23 2019

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Updates:

  • Define ScenarioConfig in Python. Added basic helpers for defining victory conditions as well as more generic setters (set_map_setting, set_game_setting).
  • Refactored RL Server main loop to own method
  • Changed default build to not include RL interface (uses --with-rlinterface)
Oct 23 2019, 1:46 AM

Sep 14 2019

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.

Added more actions (construct, gather, train, attack-walk) and an example script showing a lot of these basic actions.

Sep 14 2019, 12:29 AM

Aug 24 2019

irishninja added inline comments to D2199: Add RL interface for Reinforcement Learning.
Aug 24 2019, 6:20 AM

Aug 23 2019

irishninja updated the diff for D2199: Add RL interface for Reinforcement Learning.
  • Added --without-rlinterface compile flag
  • Removed generated files
  • Added config option for the rpc server address (both to the default.cfg and to the options.json used in-game)
Aug 23 2019, 10:34 PM

Aug 22 2019

irishninja awarded D2197: Add support for recording replay metadata when in nonvisual mode a Like token.
Aug 22 2019, 9:29 PM
irishninja updated the diff for D2197: Add support for recording replay metadata when in nonvisual mode.

Cleaned up the updates to the SaveReplayMetadata function (mentioned in the prior reviews). I also made the argument for the fn const since it is read-only.

Aug 22 2019, 7:51 AM
irishninja added a comment to D2197: Add support for recording replay metadata when in nonvisual mode.

I will be updating the diff with the most recent fixes. Dumb question: when I update the diff, does it add the changes to the existing diff or overwrite it with the most recent diff? I usually use git and GitHub and am still getting used to Phabricator...

Aug 22 2019, 7:49 AM

Aug 21 2019

elexis awarded D2197: Add support for recording replay metadata when in nonvisual mode a Like token.
Aug 21 2019, 10:06 PM
irishninja updated the diff for D2197: Add support for recording replay metadata when in nonvisual mode.

Updates:

  • Removed duplicate functions for getReplayMetadata to more directly call the fn from the GuiInterface.
    • Updated VisualReplay::SaveReplayMetadata to call GuiInterface directly from the C++. After the code change, I removed the (now unused) ScriptInterface argument from the method signature.
    • Replaced the single invocation of getReplayMetadata with Engine.GuiInterfaceCall("GetReplayMetadata")
  • Added the registration of GetInitAttributes which should have been included in the original diff.
  • Added myself to the credits
Aug 21 2019, 9:55 PM
irishninja added a comment to D2197: Add support for recording replay metadata when in nonvisual mode.

Thanks for the feedback! I added some responses inline and will be updating the diff (hopefully addressing all the remaining issues)!

Aug 21 2019, 9:45 PM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

As @Stan said, there is more discussion on the PR on GitHub. The goal of this contribution is to provide the fundamental underlying capabilities for exploring RL/ML agents in 0 AD (such as an OpenAI gym environment which can actually be implemented on top of this quite easily). I am intentionally not adding any action/observation spaces or reward as expected by OpenAI gym as these are not obvious and there are many different candidates for each of these (this is discussed more on the GitHub thread).

Aug 21 2019, 7:04 PM
irishninja added a comment to D2199: Add RL interface for Reinforcement Learning.

Thanks for the feedback! I can move it to be behind a feature flag and remove the generated files.

Aug 21 2019, 12:00 AM

Aug 20 2019

irishninja updated the diff for D2197: Add support for recording replay metadata when in nonvisual mode.

Changed NULL to nullptr

Aug 20 2019, 10:41 PM
irishninja updated the diff for D2197: Add support for recording replay metadata when in nonvisual mode.

I added GetReplayMetadata to the GuiInterface component to reduce code duplication introduced by the original diff.

Aug 20 2019, 10:38 PM
irishninja added a comment to D2197: Add support for recording replay metadata when in nonvisual mode.

Thanks for the feedback - I have added my responses inline!

Aug 20 2019, 6:52 PM