Branch | Build | Build Documentation |
---|---|---|
main | ||
dev |
This project is aimed at extending the possibilities of AI scripting in Age of Empires 2 beyond the built-in rule-based system. This is mainly accomplished by exposing the fact and action functions that the game uses internally to an outside scripting environment chosen by the user.
The AI module consists of a DLL file that has to be loaded into the Age of Empires process, after which it starts a gRPC server on port 37412 by default. Available gRPC definitions can be seen in the protos
folder and in the project's wiki. These can be used from virtually any scripting environment the gRPC framework is available on. A Python example has been provided in the client_python
folder.
At the moment the 32-bit version of the module supports AoC with Userpatch 1.5 and the 64-bit one supports builds 43210 and higher.
Note that this library is still under development and is not an easy to use solution just yet. There may be bugs, unsupported functionality and the release binaries might not always be up to date.
aoe2-ai-module/vcpkg
, where aoe2-ai-module
is the top level directory of this repository..\vcpkg\vcpkg install --recurse @.\aimodule\vcpkg_dependencies.txt --clean-after-build
..\protos\make-protos.bat
to convert .proto files in the protos
directory to useful C++ and Python includes into folders aimodule/protos
and client_python/protos
respectively. Edit paths in .\protos\make-protos.bat
if using a different directory structure.aimodule/aimodule.sln
with Visual Studio.aimodule
project.aimodule/Release/aimodule.dll
and aimodule/x64/Release/aimodule.dll
respectively.There are also automated builds by GitHub Actions available under the Releases section.