waterfl0w/GameInterop

Created Dec 27, 2020 · View the waterfl0w/GameInterop repository page

An animated time-lapse of how waterfl0w/GameInterop was built, commit by commit.

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

11

Lines of Code

2,345

From

Feb 14, 2020

To

Jun 23, 2020

About waterfl0w/GameInterop

GameInterop is a shared Java API designed to enable multiple groups to independently implement intelligent agents for what appears to be a game scenario involving intruders and guards. The framework enforces a strict separation of concerns, with each group working only within their designated `GroupX` directories for both source code and tests, while sharing a common interoperability layer defined in the `Interop` namespace.

The API is built around immutable value objects and data transfer objects that define what agents can perceive from their environment and what actions they can execute. This design ensures clean interfaces while precisely controlling agent capabilities and observations. The core packages include Agent definitions, Percepts (sensory information), and Action specifications. To prevent breaking changes across different group implementations, the Interop classes are made final and cannot be extended, though teams can use the adapter pattern within their own code to adjust the API to their needs.

The framework includes automated testing infrastructure with simple examples demonstrating how to validate agent behavior, making it straightforward for groups to verify their implementations work correctly within the shared GameInterop system.

Share this video

More from waterfl0w

See all →