Difference between revisions of "SummerOfCodeProposal 2011 LuaAI champ"
 (→Description)  | 
				m (link/heading cleanup)  | 
				||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{SoC2011Student_2|champ|SoC_Ideas_LuaAI_2011}}  | {{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===  | |
| − | |||
| − | |||
| − | =Contact=  | ||
| − | |||
| − | ==IRC==  | ||
| − | champ  | ||
| − | MinXiang   | ||
| − | |||
| − | ==Wesnoth forum==  | ||
champ  | champ  | ||
| − | ==Gna id==  | + | ===Gna id===  | 
champ  | champ  | ||
| − | ==Mail==  | + | ===Mail===  | 
cff29546 (at) gmail.com  | cff29546 (at) gmail.com  | ||
| − | =SoC Application=  | + | ==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 [  | + | 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.