Jump to content

SummerOfCodeProposal 2011 LuaAI champ

From The Battle for Wesnoth Wiki


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



This is a Summer of Code 2011 student page



Description

champ - Implement Multi-player Lua AI scripting security

I plan to implement a secure mechanism on Lua AI scripting system.
The mechanism will be implement on C++ level and transparent to Lua AI scripts.
Make player-unaccessible resource also unaccessible for Lua AI scripts. (For example: If fog is on, units covered by fog for current player should not accessible to Lua scripts initiated by current player.)
Make player-read-only resource also read-only for Lua AI scripts. (For example: Lua scripts should be able to access the coordinate for a player-owned unit, but should not be able to modify it directly.)

champ - Additional Task - Make a virtual battlefield

As the units status and position can not be changed by Lua scripts due to Multi-player Lua AI scripting security, some advanced Lua AI which need 'Table-top exercises' requires a virtual battlefield to perform trial actions and to evaluate certain status on battlefield.
In this scheme a data structure of virtual battlefield should be able to create, either from a copy of the real battlefield or from definitions in creating script. This virtual battlefield should be fully controlled by the creator, which means the creator can view/add/remove/alter units on the virtual battlefield.

//Undone: Add more first-level sections to detail your proposal

Contact

IRC

champ
MinXiang (alternative)

Wesnoth forum

champ

Gna id

champ

Mail

cff29546 (at) gmail.com

Questionnaire

TODO: fill out this questionnaire SoC_Information_for_Google#Does_your_organization_have_an_application_template_you_would_like_to_see_students_use.3F_If_so.2C_please_provide_it_now._Please_note_that_it_is_a_very_good_idea_to_ask_students_to_provide_you_with_their_contact_information_as_part_of_your_template._Their_contact_details_will_not_be_shared_with_you_automatically_via_the_GSoC_2011_site.