github.com/waterfl0w/GameInterop ↗
An animated time-lapse of how waterfl0w/GameInterop was built, commit by commit.
Open this visualization on its own page →
Contributors
11
Lines of Code
2,345
From
2020-02-14
To
2020-06-23
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.