Difference between revisions of "SummerOfCodeProposal 2011 LuaAI champ"
(→champ - Additional Task - Make a virtual battlefield) |
m (link/heading cleanup) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{SoC2011Student_2|champ|SoC_Ideas_LuaAI_2011}} |
− | + | ==Description== | |
− | =Description= | + | <h4>champ - Implement Multi-player Lua AI scripting security</h4> |
− | |||
I plan to implement a secure mechanism on Lua AI scripting system.<br/> | I plan to implement a secure mechanism on Lua AI scripting system.<br/> | ||
The mechanism will be implement on C++ level and transparent to Lua AI scripts.<br/> | The mechanism will be implement on C++ level and transparent to Lua AI scripts.<br/> | ||
Line 8: | Line 7: | ||
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.)<br/> | 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.)<br/> | ||
− | ==== | + | ==Contact== |
− | + | ===IRC=== | |
− | + | champ, MinXiang | |
− | + | ===Wesnoth forum=== | |
+ | champ | ||
− | + | ===Gna id=== | |
+ | champ | ||
− | = | + | ===Mail=== |
− | + | cff29546 (at) gmail.com | |
− | == | ||
− | |||
− | |||
− | == | + | ==SoC Application== |
− | + | [http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/cff29546/1 SoC Application] | |
− | == | + | ==Project Detail== |
− | + | ===General Idea=== | |
+ | *Use both user access control and token access control to manage player based resources and terrain based resources.<br/>Each resources have a owner(player or the game), some resources require tokens. lua may only read resources it owned or it belongs to a token owned.<br/>when a Lua script is submitted to interpretor, use submittor as user. check every lua accessed data. <br/> | ||
+ | *Check the accessiblity at the C++ object level, make the check transparent to Lua.<br/> | ||
+ | *Provide a data structure (which can be a dupication of existing one) to allow Lua to make moves virtually or virtually hypothesis so that AI script can evaluate certain cases.<br/> | ||
− | == | + | ===Implement Additional Function=== |
− | + | <u>Make Virtual Read-Write resource</u><br/> | |
+ | 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 virtual private data structure (For instance, a virtual battlefield) to perform trial actions and to evaluate certain status on it.<br/>In this scheme a data structure of virtual in game resource should be able to create, either from a copy of the real resource or from definitions in creating script.<br/>This virtual resource should be fully controlled by the creator, which means the creator can view/add/remove/alter units on the virtual battlefield.<br/>It is good to make it possible using the same operation the real resources use for these virtual resources. | ||
− | =Questionnaire= | + | ==Questionnaire== |
− | + | Qusetionnaire is [[User:Champ/Questionaire|here]]. | |
− | [[ |
Latest revision as of 19:43, 5 May 2023
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 |
Project: SoC_Ideas_LuaAI_2011 |
Contents
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.)
Contact
IRC
champ, MinXiang
Wesnoth forum
champ
Gna id
champ
cff29546 (at) gmail.com
SoC Application
Project Detail
General Idea
- Use both user access control and token access control to manage player based resources and terrain based resources.
Each resources have a owner(player or the game), some resources require tokens. lua may only read resources it owned or it belongs to a token owned.
when a Lua script is submitted to interpretor, use submittor as user. check every lua accessed data. - Check the accessiblity at the C++ object level, make the check transparent to Lua.
- Provide a data structure (which can be a dupication of existing one) to allow Lua to make moves virtually or virtually hypothesis so that AI script can evaluate certain cases.
Implement Additional Function
Make Virtual Read-Write resource
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 virtual private data structure (For instance, a virtual battlefield) to perform trial actions and to evaluate certain status on it.
In this scheme a data structure of virtual in game resource should be able to create, either from a copy of the real resource or from definitions in creating script.
This virtual resource should be fully controlled by the creator, which means the creator can view/add/remove/alter units on the virtual battlefield.
It is good to make it possible using the same operation the real resources use for these virtual resources.
Questionnaire
Qusetionnaire is here.