Lua AI candidate
Posted: Mon Mar 27, 2017 11:06 am
(This may be a premature announcement. All things you see here should be considered a Work-in-Progress, Not-Ready, Building-in-Progress, as-is and is subject to change at any time.)
I am currently developing a mission-compatible AI powered solely by Lua scripting. The aim is to include features seen up to Red Alert 2, with flexibility of extension using the arsenal of Lua language.
I make this post so that you can see parts of it in action, and so that I can hear some preliminary feedback on what you'd like to see used by the AI. You can also discuss how some logic should be implemented / how far the OpenRA engine can implement certain functions.
I may not be able to accept or follow all suggestions, but I would at least have an idea on the logic that would be valued by the community. There may also be some ideas I have missed.
Planned scope:
http://resource.openra.net/maps/20159
Earlier versions with less features can be found with some example missions:
http://resource.openra.net/maps/19878/
http://resource.openra.net/maps/19901/
http://resource.openra.net/maps/19912/
Note that this is WIP, major refactorings and rewrites are expected. Read / use the existing code at your own risk.
I am currently developing a mission-compatible AI powered solely by Lua scripting. The aim is to include features seen up to Red Alert 2, with flexibility of extension using the arsenal of Lua language.
I make this post so that you can see parts of it in action, and so that I can hear some preliminary feedback on what you'd like to see used by the AI. You can also discuss how some logic should be implemented / how far the OpenRA engine can implement certain functions.
I may not be able to accept or follow all suggestions, but I would at least have an idea on the logic that would be valued by the community. There may also be some ideas I have missed.
Planned scope:
- General Controls
- Yaml-independent controls
- Prerequisites
- Cost
- BuildTime
- Yaml-independent controls
- AI Base Building
- Base Nodes
- Building prioritisation (e.g. prioritise Ore Refinery on certain conditions)
- AI Unit Production
- Unit production weights
- Unit prioritisation (e.g. prioritise Ore Trucks / units requested by AI Teams)
- AI Teams (functionality up to RA2)
- AI taskforces
- AI team condition check (can be used to impose certain restrictions on which teams can be built)
- AI scripts (sequential)
- Implemented: Hunt, AttackMove, Move, Guard, Wait
- WIP/Considering: EnterTransport, UnloadTransport, Deploy, Kill, Teleport, Chronosphere, IronCurtain(?), Capture/Infiltrate, DisguiseAs, JumpToScript#
- (Aircraft compatibility may be limited in some scripts)
- AI reserved teams
- Pool - Default team used to receive / transfer actors to other teams
- Hunt - Kill everyone!
- Defence - Defend certain actors when they are under attack. Can customised to include defending allies.
- Compatible with ground / aircraft
- Navy compatibility is WIP
- Separation of Ground / Navy is WIP
- WIP: Some kind of documentation and API for simple implementation, and so that folks to not completely get demoralised by a fail.
http://resource.openra.net/maps/20159
Earlier versions with less features can be found with some example missions:
http://resource.openra.net/maps/19878/
http://resource.openra.net/maps/19901/
http://resource.openra.net/maps/19912/
Note that this is WIP, major refactorings and rewrites are expected. Read / use the existing code at your own risk.