SoC Ideas AI Lua AI Usage 2012

From The Battle for Wesnoth Wiki

This page is related to Summer of Code 2012
See the list of Summer of Code 2012 Ideas

This is a Summer of Code 2012 Idea


AI: Make lua AI development and usage easier [2]

Page for the idea: SoC Ideas AI Lua AI Usage 2012

We have the capability to write lua ai scripts in lua. However, we need to improve the infrastructure and make their use easier:

- add a way to debug lua code
- reduce the number of boilerplate code required to get lua ai running
- add missing AI-related functions and fix bugs.

There are 2 submitted student proposals for this idea

Dmitry Kovalenko(Nephro) - Further Lua

Simplify LuaAI
Right now, the LuaAI system is in a state, where it can be used for artificial intelligence system development for Battle for Wesnoth campaigns, but it's usage is quite complicated and requires effort to get the system off the ground and make it run. To simply to launch a campaign with an empty LuaAI(by empty, I mean, not doing anything) a UMC developer is required to write a couple dozens of lines of code(not even mentioning the bugs that he will encounter on the way). While it seems, that we could simply hide the boilerplate code in a template or behind a macro, the situation is a bit more sophisticated(Later I will describe that in more detail). Instead of running away from this problem, I will work towards an elegant solution, creating an effective back-end system, and a clean user development environment.
See SoC2012 Nephro for more information.

Tyrannodogg - Make lua AI development and usage easier

At the moment the parts, which make a lua AI, are scattered around several WML Entities, resulting in a load of boilerplate code.

My approach is to shift more parts of the functionality into lua code, in a way that simple scripts can handle all steps necessary.

This includes wrapping the current default AI for lua usage.

I will also provide scripts for logging and further debugging.

See SoC2012 Tyrannodogg Make lua AI developement easier for more information.

Additional Information

Whom to ask about this

This page was last edited on 5 April 2012, at 12:04.