Note: You are currently viewing documentation for Moodle 2.8. Up-to-date documentation for the latest stable version of Moodle may be available here: Game Logic in Moodle Overview Advanced Editor Research.

Game Logic in Moodle Overview Advanced Editor Research: Difference between revisions

From MoodleDocs
mNo edit summary
Line 1: Line 1:
Most of the bigger games out there. have some sort of application / tool that allows you to customize and create your own maps, units, characters, quests, skills, and more.


==Examples==
==Examples==
Most of the bigger games out there. have some sort of application / tool that allows you to customize and create your own maps, units, characters, quests, skills, and more.
# http://www.moodlerooms.com -> personalized learning designer  (exclusive to moodlerooms)
# http://www.moodlerooms.com -> personalized learning designer  (exclusive to moodlerooms)
## TIP: google **moodlerooms personalized learning designer** for images, manual, and other info on it.
## TIP: google **moodlerooms personalized learning designer** for images, manual, and other info on it.
Line 9: Line 9:
### PART 2 https://www.youtube.com/watch?v=wg-CV4x_seU
### PART 2 https://www.youtube.com/watch?v=wg-CV4x_seU


==Events , Conditions, Actions==  
==was asked... why worldcraft 3 world editor?==
<quote> [https://moodle.org/user/view.php?id=1674524&course=5 | dawn alderson]
can you spell out to me why you make reference to the worldcraft 3 ed please?
</quote>
 
log into course as a "editing teacher" or above.  create or edit a course -> scroll down on the page to "completion and availability options"  there is no "if then else" and foreach / loop ability.  need something more powerful. at same time KISS (keep it simply stupid) so a teacher with min knowledge of programming can extend things.  as if making a custom map, unit, spell, skill, etc.. in some game. for moodle it would be creating custom course and/or activities / resources. for regular format of moodle. and/or breaking into ITS (intelligent tutoring system),  or rather personalized learning environment. 
 
how do you set a bunch of extra variables... and conditions.. and actions... so that you can identify a student with a particular learning disability. and then show content geared to that student? without having extreme micro management of a teacher per each student, and adjust content (activities / resources) geared to that student?
 
i am looking for a editor that is geared to KISS (keep it simply stupid), that is more marketed to younger kids / teens. were knowledge base and experience and skills is not dedicated to a particular skill / trade set.  to me a game editor that is thought and geared towards kids being able to edit and change things. more likely has better chance of being KISS (keep it simply stupid), and user friendly.  familiarity breads easier adjustment.  example user of different office applications,  from microsoft, to google docs, to open office. or atto editor, tinymce editor, to wordpad in windows. it is easier to move from one to the other without much training if any involved. 
 
===history of how i remember it===
 
game editors that i can remember (history of them)... before it was machine code back in dos / windows 3.1 with some basic, qbasic, c, maybe c+? way to long ago. and the need for knowledge of cpu, motherboard and how the exact circuits were created within the computer to achieve anything.
 
as things progressed. folks started creating "config files"  files that listed a set of variables. for different enemy units.  many games started doing this but each game was a tad different, and structure of variables and what the variables / settings meant were always different.  (this really has not changed) as far as i know.
 
what changed after that was moving all the config files into "level editors" were there was more of a user interface. (no actual diving straight into the code and adjusting files), the editor did it all for you. (editing specific files and saving files) some included backup.
 
then editors started moving away from actual programming... physical getting into game core files to adjust how a game played. and started offering a "pseudo" programming language. extreme basic. but enough to adjust the game itself by over riding or extending the original game code. ((to moodle it would be plugins)),  age of empires (series), warcraft 2 / 3, some of the FPS (first person shooter)) games. current online stuff might be https://www.scirra.com/ -> construct 2, or unity3D.
 
as things progressed editors went from being "external" to being internal.  while in the game you could actually adjust how the game played. an external editor example might be... www.opencart.com were you have front end shopping cart website, and then need to goto www.opencart.com/admin to actually put in data (add products, deal with customers etc...), an internal editor would be moodle... going to a course that you are editing teacher or above. and click "turn on editing"  and you can change course, activities, resources, blocks, it is all there in same user interface all in the same spot.
 
gets a little mixed in to current day of things, as game engines and SDK (software development kits), level editors for games advanced. they moved to "drag and drop" and geared directly for a specific niche market per say. and began moving away from pseudo programming language. to straight pre-defining stuff.  examples in moodle would be the current activities / resources  including third party plugins via www.moodle.org/plugins
 
===review / considerations===
 
at moment... i see moodle missing more of a "pseudo" programming language. it is there some what with completion and availability options. but. it actually does not present actual programming abilities.  it is like moodle "skipped" a step. and are in a "on demand" custom creation of plugins via actual programmers. and not bringing the more advanced pseudo language to the folks that need to be able to use it. (content creators / teachers) and at moment it is pushed onto the IT staff.
 
while i do not personally want to create a game.... younger kids say K to 4th grade. are more picture orientated there is a different style of teaching vs say highschool / collage. and the need to create almost a game style interface and a simplistic game. for the younger students so they learn better.
 
also my want to create a ITS (intelligent tutoring system) or rather personalized learning environment were students engage in activities / resources more geared for them personally vs a "one size fits all" in idea ITS is kinda of a multi path RPG (role playing game), were folks can take different paths for same end goal in mind.
 
the differences between above 2 paragraphs. rule out more of a drag and drop interface. of current level editors for games were they are directly geared for a niche market. and needing something a bit more powerful with a broader ability to handle things.
 
===other editors===
 
i did a quick google search on "ontology editors" and not a fan of them as of yet, it may change.  they remind me of game level editors, before a "pseudo" language was brought into game level editors. they are way to advanced, multi screens, multi spreed sheet like areas, some drag and drop.  and some begin to mimic IDE (integrated development editors) that IT staff / programmers use to edit and program code with.  if that type editor was created... then content creators / publishers / editing teachers might as well learn php, html, css, javascript, and learn moodle inside and out.
 
while above may sound heavy handed against "ontology editors". the simplistic games for younger kids may need a more advanced editor. or something geared more to actual full blown game creation.  but even still there is most likely going to need to be some way to interface those games into moodle. so a teacher / publisher / ITS (intelligent tutor system) / personalized learning environment. can adjust the games to suit the specific student. or target market the game is setup for.  this interface needs to be "common" not different per game, and this interface needs to be KISS (keep it simply stupid) so a non IT staff person might be able setup a few things. without touching moodle code itself. even if it means. following a short step by step tutorial in how to link stuff up between game and moodle.
 
some example kongregate, facebook games, windows store games, xbox live games, steam games. disney, list continues...  most of these sites offer some basic stuff. that game developers can use. without re-inventing the wheel just for there game. while these things are normally provided in a SDK (software development kit) for the game developers. there is still need for a editing teacher, content creator, etc... to be able to adjust the game to suit a student or group of students. some sort of standardized area to adjust settings. and is not different per game. 
 
===another issue===
 
another issue.... ITS (intelligent tutor system) have different so called AI "artificial intelligence" scripts pending on different subject matters, say one for math, one for language, another for history, another for science, etc.. etc..,  if a person was to say create an game AI or enemy AI. for a specific style of game play. would they be allowed to drop it into moodle right along side the ITS AI scripts, so someone could take advantage of it. and create there own little game or ITS that mixed them all together?  this would not be much different from "expansion packs" for games. were new levels, new areas, new units, etc... are brought into a game to expand on the original game.
 
===bring it all together===
 
all the various abbreviations CMS, LMS, VLE, clan management, group management, department management.  that deal with  "management system"  need to be handle by a common "management system" and not split out to different management systems with different interfaces and quirks about them.  and this is an attempt to bring in and extend moodle management system.  and part of that is dealing with an "editor"  were do things actual start from. and can be built from.  what needs to happen first. before other things can be built upon. and were is it headed to for an overall goal.
 
at moment. as per this forum and thread... i am researching / brainstorming. in attempt to reach above goal per say. i need a better understanding of overall goal. and needing to dive down into the more niddy griddy. so i can understand what may or may not be needed. and how different things may or may not fit into a specific situation.
 
==getting into specifics==
===Events , Conditions, Actions===  
[http://en.wikipedia.org/wiki/Event_condition_action http://en.wikipedia.org/wiki/Event_condition_action]
[http://en.wikipedia.org/wiki/Event_condition_action http://en.wikipedia.org/wiki/Event_condition_action]
# Events [http://en.wikipedia.org/wiki/Event_(computing) http://en.wikipedia.org/wiki/Event_(computing)]
# Events [http://en.wikipedia.org/wiki/Event_(computing) http://en.wikipedia.org/wiki/Event_(computing)]
Line 29: Line 83:
##* in moodle for personalized learning, action might be display these other activities / resources to student.  ((event student missed questions on quiz, conditions, was in science, material was first time given to student without preparation for teacher and student to go through))
##* in moodle for personalized learning, action might be display these other activities / resources to student.  ((event student missed questions on quiz, conditions, was in science, material was first time given to student without preparation for teacher and student to go through))


==why an advanced editor==
===why an advanced editor===
# reliance on having IT staff program in javascript, css, html, php, java, flash, (keep inserting various programming languages).
# reliance on having IT staff program in javascript, css, html, php, java, flash, (keep inserting various programming languages).
# there be reason why there are different types of skills that make up an overall team.  example a school, princiable, front office clears, different teachers focused in different areas of teaching, IT staff, researchers, etc... each one has a better knowledge / skill set in certain things. instead of forcing teachers to learn all the coding of moodle... how about a more "dumb'ed down version" of a simple  event, condition, action system.  
# there be reason why there are different types of skills that make up an overall team.  example a school, princiable, front office clears, different teachers focused in different areas of teaching, IT staff, researchers, etc... each one has a better knowledge / skill set in certain things. instead of forcing teachers to learn all the coding of moodle... how about a more "dumb'ed down version" of a simple  event, condition, action system.  
Line 36: Line 90:
# an advanced editor most likely going to bring in IF / THEN / ELSE,  Foreach, Loops, variables, arrays, pretty much what every programming language has out there. but again it hides the syntex and provides information in sentences.  
# an advanced editor most likely going to bring in IF / THEN / ELSE,  Foreach, Loops, variables, arrays, pretty much what every programming language has out there. but again it hides the syntex and provides information in sentences.  


==Reasoning==
===Reasoning===
# much like how customized maps are created for various games, an "advanced editor" would allow creating customized courses and activities / resources for students.  so instead of a "one size fits all" a course can be driven much like a game and catered each individual student. and allow the student to learn at there own pace.  and at different difficulties.  
# much like how customized maps are created for various games, an "advanced editor" would allow creating customized courses and activities / resources for students.  so instead of a "one size fits all" a course can be driven much like a game and catered each individual student. and allow the student to learn at there own pace.  and at different difficulties.  
# a game manufacture does not look at individual cities (or in this case schools) but it looks at overall target market.  one school my focus on say pre school children, another may focus on 2 to 5, another 4 through 8, another may have K through 12. for a publisher of school content, teacher, or like, an advanced editor would allow them to more cater to a specific set of kids... in that most games that offer customized maps have different genre of maps. TD (tower defense), RPG (role playing game), story telling, replay an event in history, fantasy. etc... an advance editor. would allow creating of "events, conditions, actions" so if a particular student had 2nd grade reading skill, and 5th grade math skill. the publisher, teacher, or like, could direct certain activities / resources to that student. in such, instead of providing more math.. forcing student to raise there reading skill to improve.  
# a game manufacture does not look at individual cities (or in this case schools) but it looks at overall target market.  one school my focus on say pre school children, another may focus on 2 to 5, another 4 through 8, another may have K through 12. for a publisher of school content, teacher, or like, an advanced editor would allow them to more cater to a specific set of kids... in that most games that offer customized maps have different genre of maps. TD (tower defense), RPG (role playing game), story telling, replay an event in history, fantasy. etc... an advance editor. would allow creating of "events, conditions, actions" so if a particular student had 2nd grade reading skill, and 5th grade math skill. the publisher, teacher, or like, could direct certain activities / resources to that student. in such, instead of providing more math.. forcing student to raise there reading skill to improve.  


==what does Moodle currently have to offer? or possibly have to offer?==
===what does Moodle currently have to offer? or possibly have to offer?===
# currently in version 2.8 (maybe earlier)  "event log" was put into place. and plugins wanted to cause an event to happen when ever something happens.  
# currently in version 2.8 (maybe earlier)  "event log" was put into place. and plugins wanted to cause an event to happen when ever something happens.  
# goto some course that you are an EDITING TEACHER or higher in -> "turn on editing" ->  create or edit an activity -> scroll down to "completion / availability options"
# goto some course that you are an EDITING TEACHER or higher in -> "turn on editing" ->  create or edit an activity -> scroll down to "completion / availability options"
Line 46: Line 100:
# plugins for moodle currently are required to support a set of given type's of "class" and "functions" and "variables"  so the plugin can work with moodle. (grading stuff, sending emails, etc..)  would it be possible to use what is there already or additional changes needed? or complete new code and options needed?
# plugins for moodle currently are required to support a set of given type's of "class" and "functions" and "variables"  so the plugin can work with moodle. (grading stuff, sending emails, etc..)  would it be possible to use what is there already or additional changes needed? or complete new code and options needed?


==Programming language for editor?==
==programming / code / database==
===Programming language for editor?===
php, html, css, javascript. same as moodle.  
php, html, css, javascript. same as moodle.  
but... how does taking the sentence struction of the "event, condition, action" translate to php?  
but... how does taking the sentence struction of the "event, condition, action" translate to php?  
Line 54: Line 109:
*does person create custom php, javascript, css, and/or html file outside. and then "upload" the files through the editor. and the files get saved into moodledata folder?
*does person create custom php, javascript, css, and/or html file outside. and then "upload" the files through the editor. and the files get saved into moodledata folder?


==location of editor? and more specifically when does it load up==
===location of editor? and more specifically when does it load up===
i would imagine i need to make sure all other plugins load up first before ITS does. if not. there could be chance ITS (intelligent tutor system) does not find something it is looking for?  so can i place ITS at www.yoursite.com/moodle/its  and then find a specific location. after www.yoursite.com/moodle/local finish loading any plugins in it? so as to make sure any overrides in local happen? due to ITS could possibly override everything?   
i would imagine i need to make sure all other plugins load up first before ITS does. if not. there could be chance ITS (intelligent tutor system) does not find something it is looking for?  so can i place ITS at www.yoursite.com/moodle/its  and then find a specific location. after www.yoursite.com/moodle/local finish loading any plugins in it? so as to make sure any overrides in local happen? due to ITS could possibly override everything?   
*making things to complicated... setting at www.yoursite.com/moodle/its/editor and make sure ITS is very last thing to load. so it can over ride anything and everything.  
*making things to complicated... setting at www.yoursite.com/moodle/its/editor and make sure ITS is very last thing to load. so it can over ride anything and everything.  


==database tables==
===database tables===
*BIG UTH OH.... how to handle custom code? javascript, css, html,  ya ok... but custom php code... i really do not want to call a file up in moodledata to be ran. i guess only way i am going to get around it. is creating a "folder"  say www.yoursite.com/moodle/its/editor/custom  and all custom files errr code go into this folder. a site admin with ftp access going to be about only way to get around this...
*BIG UTH OH.... how to handle custom code? javascript, css, html,  ya ok... but custom php code... i really do not want to call a file up in moodledata to be ran. i guess only way i am going to get around it. is creating a "folder"  say www.yoursite.com/moodle/its/editor/custom  and all custom files errr code go into this folder. a site admin with ftp access going to be about only way to get around this...
**this should cause admin to hopefully check file for any suspected hacked up info? example game cheats or like.  
**this should cause admin to hopefully check file for any suspected hacked up info? example game cheats or like.  
Line 85: Line 140:
##ecatotal (field) = comma defilemented list of ID's from eca table  
##ecatotal (field) = comma defilemented list of ID's from eca table  


==how to register different things for the editor?==
===how to register different things for the editor?===
#there is going to be need to pull data from every plugin within moodle.  
#there is going to be need to pull data from every plugin within moodle.  
#moodle is going to be dynamic, editing teacher creating and adjusting activities / resources including courses to fit students and themselves. and constant changing data from input of students.  
#moodle is going to be dynamic, editing teacher creating and adjusting activities / resources including courses to fit students and themselves. and constant changing data from input of students.  
Line 93: Line 148:
#are some things such as plugins, registered during initial install / upgrade / uninstall of plugin?
#are some things such as plugins, registered during initial install / upgrade / uninstall of plugin?


==what information is collected from the plugin?==
===what information is collected from the plugin?===
not a slightest clue at moment..
not a slightest clue at moment..


Line 114: Line 169:
## DONE & NO [http://en.wikipedia.org/wiki/List_of_level_editors http://en.wikipedia.org/wiki/List_of_level_editors]
## DONE & NO [http://en.wikipedia.org/wiki/List_of_level_editors http://en.wikipedia.org/wiki/List_of_level_editors]
## DONE & NO [http://en.wikipedia.org/wiki/Online_creation http://en.wikipedia.org/wiki/Online_creation]
## DONE & NO [http://en.wikipedia.org/wiki/Online_creation http://en.wikipedia.org/wiki/Online_creation]
##ontology editor
## DONE & maybe ontology editor

Revision as of 15:10, 5 February 2015

Examples

Most of the bigger games out there. have some sort of application / tool that allows you to customize and create your own maps, units, characters, quests, skills, and more.

  1. http://www.moodlerooms.com -> personalized learning designer (exclusive to moodlerooms)
    1. TIP: google **moodlerooms personalized learning designer** for images, manual, and other info on it.
  2. warcraft 3 -> world editor
    1. some videos of a young kid walk through creating a TD (tower defense) map.
      1. PART 1 https://www.youtube.com/watch?v=yu3o-yq-jL4
      2. PART 2 https://www.youtube.com/watch?v=wg-CV4x_seU

was asked... why worldcraft 3 world editor?

<quote> | dawn alderson can you spell out to me why you make reference to the worldcraft 3 ed please? </quote>

log into course as a "editing teacher" or above. create or edit a course -> scroll down on the page to "completion and availability options" there is no "if then else" and foreach / loop ability. need something more powerful. at same time KISS (keep it simply stupid) so a teacher with min knowledge of programming can extend things. as if making a custom map, unit, spell, skill, etc.. in some game. for moodle it would be creating custom course and/or activities / resources. for regular format of moodle. and/or breaking into ITS (intelligent tutoring system), or rather personalized learning environment.

how do you set a bunch of extra variables... and conditions.. and actions... so that you can identify a student with a particular learning disability. and then show content geared to that student? without having extreme micro management of a teacher per each student, and adjust content (activities / resources) geared to that student?

i am looking for a editor that is geared to KISS (keep it simply stupid), that is more marketed to younger kids / teens. were knowledge base and experience and skills is not dedicated to a particular skill / trade set. to me a game editor that is thought and geared towards kids being able to edit and change things. more likely has better chance of being KISS (keep it simply stupid), and user friendly. familiarity breads easier adjustment. example user of different office applications, from microsoft, to google docs, to open office. or atto editor, tinymce editor, to wordpad in windows. it is easier to move from one to the other without much training if any involved.

history of how i remember it

game editors that i can remember (history of them)... before it was machine code back in dos / windows 3.1 with some basic, qbasic, c, maybe c+? way to long ago. and the need for knowledge of cpu, motherboard and how the exact circuits were created within the computer to achieve anything.

as things progressed. folks started creating "config files" files that listed a set of variables. for different enemy units. many games started doing this but each game was a tad different, and structure of variables and what the variables / settings meant were always different. (this really has not changed) as far as i know.

what changed after that was moving all the config files into "level editors" were there was more of a user interface. (no actual diving straight into the code and adjusting files), the editor did it all for you. (editing specific files and saving files) some included backup.

then editors started moving away from actual programming... physical getting into game core files to adjust how a game played. and started offering a "pseudo" programming language. extreme basic. but enough to adjust the game itself by over riding or extending the original game code. ((to moodle it would be plugins)), age of empires (series), warcraft 2 / 3, some of the FPS (first person shooter)) games. current online stuff might be https://www.scirra.com/ -> construct 2, or unity3D.

as things progressed editors went from being "external" to being internal. while in the game you could actually adjust how the game played. an external editor example might be... www.opencart.com were you have front end shopping cart website, and then need to goto www.opencart.com/admin to actually put in data (add products, deal with customers etc...), an internal editor would be moodle... going to a course that you are editing teacher or above. and click "turn on editing" and you can change course, activities, resources, blocks, it is all there in same user interface all in the same spot.

gets a little mixed in to current day of things, as game engines and SDK (software development kits), level editors for games advanced. they moved to "drag and drop" and geared directly for a specific niche market per say. and began moving away from pseudo programming language. to straight pre-defining stuff. examples in moodle would be the current activities / resources including third party plugins via www.moodle.org/plugins

review / considerations

at moment... i see moodle missing more of a "pseudo" programming language. it is there some what with completion and availability options. but. it actually does not present actual programming abilities. it is like moodle "skipped" a step. and are in a "on demand" custom creation of plugins via actual programmers. and not bringing the more advanced pseudo language to the folks that need to be able to use it. (content creators / teachers) and at moment it is pushed onto the IT staff.

while i do not personally want to create a game.... younger kids say K to 4th grade. are more picture orientated there is a different style of teaching vs say highschool / collage. and the need to create almost a game style interface and a simplistic game. for the younger students so they learn better.

also my want to create a ITS (intelligent tutoring system) or rather personalized learning environment were students engage in activities / resources more geared for them personally vs a "one size fits all" in idea ITS is kinda of a multi path RPG (role playing game), were folks can take different paths for same end goal in mind.

the differences between above 2 paragraphs. rule out more of a drag and drop interface. of current level editors for games were they are directly geared for a niche market. and needing something a bit more powerful with a broader ability to handle things.

other editors

i did a quick google search on "ontology editors" and not a fan of them as of yet, it may change. they remind me of game level editors, before a "pseudo" language was brought into game level editors. they are way to advanced, multi screens, multi spreed sheet like areas, some drag and drop. and some begin to mimic IDE (integrated development editors) that IT staff / programmers use to edit and program code with. if that type editor was created... then content creators / publishers / editing teachers might as well learn php, html, css, javascript, and learn moodle inside and out.

while above may sound heavy handed against "ontology editors". the simplistic games for younger kids may need a more advanced editor. or something geared more to actual full blown game creation. but even still there is most likely going to need to be some way to interface those games into moodle. so a teacher / publisher / ITS (intelligent tutor system) / personalized learning environment. can adjust the games to suit the specific student. or target market the game is setup for. this interface needs to be "common" not different per game, and this interface needs to be KISS (keep it simply stupid) so a non IT staff person might be able setup a few things. without touching moodle code itself. even if it means. following a short step by step tutorial in how to link stuff up between game and moodle.

some example kongregate, facebook games, windows store games, xbox live games, steam games. disney, list continues... most of these sites offer some basic stuff. that game developers can use. without re-inventing the wheel just for there game. while these things are normally provided in a SDK (software development kit) for the game developers. there is still need for a editing teacher, content creator, etc... to be able to adjust the game to suit a student or group of students. some sort of standardized area to adjust settings. and is not different per game.

another issue

another issue.... ITS (intelligent tutor system) have different so called AI "artificial intelligence" scripts pending on different subject matters, say one for math, one for language, another for history, another for science, etc.. etc.., if a person was to say create an game AI or enemy AI. for a specific style of game play. would they be allowed to drop it into moodle right along side the ITS AI scripts, so someone could take advantage of it. and create there own little game or ITS that mixed them all together? this would not be much different from "expansion packs" for games. were new levels, new areas, new units, etc... are brought into a game to expand on the original game.

bring it all together

all the various abbreviations CMS, LMS, VLE, clan management, group management, department management. that deal with "management system" need to be handle by a common "management system" and not split out to different management systems with different interfaces and quirks about them. and this is an attempt to bring in and extend moodle management system. and part of that is dealing with an "editor" were do things actual start from. and can be built from. what needs to happen first. before other things can be built upon. and were is it headed to for an overall goal.

at moment. as per this forum and thread... i am researching / brainstorming. in attempt to reach above goal per say. i need a better understanding of overall goal. and needing to dive down into the more niddy griddy. so i can understand what may or may not be needed. and how different things may or may not fit into a specific situation.

getting into specifics

Events , Conditions, Actions

http://en.wikipedia.org/wiki/Event_condition_action

  1. Events http://en.wikipedia.org/wiki/Event_(computing)
    1. when you click a mouse button an event happens, and the compter registers this event as you clicking your mouse button.
    2. when you press a letter on keyboard, an event happens, and the computer registers this event as you pressing a specific key on the keyboard
      • in moodle when you click a "submit button" for say a quiz, an event happens letting moodle know you have just submitted an answer for the quiz
      • in moodle when teacher grades an assignment, and a specific answer is wrong, an event happens. tell moodle that this answer is wrong.
      • in moodle real time chat, and someone sends a message, an event happens, of X person sent message
  2. Conditions
    1. a condition might be, are you out of food? yes or no
    2. a condition might be, did you do your home work? yes or no
      • in moodle did student miss any questions? yes or no
      • in moodle did a student complete extra credit question 3? yes or no
      • in moodle did a student complete reading assignment? yes or no
  3. Actions
    1. actions are things you want done
    2. EVENTS student got an F on book report, CONDITIONS, is this student 3rd time getting an F? ACTION send email to teacher and parent, give dates and on what they got F on
    3. above would all be done automatically by computer. in idea we are customizing a game or course or an activity / resource. for things to automatically happen. when certain other things happen.
      • in moodle for personalized learning, action might be display these other activities / resources to student. ((event student missed questions on quiz, conditions, was in science, material was first time given to student without preparation for teacher and student to go through))

why an advanced editor

  1. reliance on having IT staff program in javascript, css, html, php, java, flash, (keep inserting various programming languages).
  2. there be reason why there are different types of skills that make up an overall team. example a school, princiable, front office clears, different teachers focused in different areas of teaching, IT staff, researchers, etc... each one has a better knowledge / skill set in certain things. instead of forcing teachers to learn all the coding of moodle... how about a more "dumb'ed down version" of a simple event, condition, action system.
  3. the advance editor ((http://www.moodlerooms.com -> personalized learning designer and warcraft 3 -> world editor)) breaks away from knowing programming syntax. how to sue [{( : ;. = == === != + - || !(somevarible)  !(someobject), !(somearray) what a class, function private, public, global information all means. along with what programming language to use and were to put it.
  4. KISS (keep it simply stupid). use "sentences" something like math class instead of presenting 2 + 2 = ? information is presented in a sentence... 2 people plus 2 people = how many people? it gives context to information of what is being done and how it is to be applied. less guess work, more understanding for those folks that are not IT folks / tech folks. and in idea creating a customized game, errr customized moodle school, or customized course, or customized activity / resource.
  5. an advanced editor most likely going to bring in IF / THEN / ELSE, Foreach, Loops, variables, arrays, pretty much what every programming language has out there. but again it hides the syntex and provides information in sentences.

Reasoning

  1. much like how customized maps are created for various games, an "advanced editor" would allow creating customized courses and activities / resources for students. so instead of a "one size fits all" a course can be driven much like a game and catered each individual student. and allow the student to learn at there own pace. and at different difficulties.
  2. a game manufacture does not look at individual cities (or in this case schools) but it looks at overall target market. one school my focus on say pre school children, another may focus on 2 to 5, another 4 through 8, another may have K through 12. for a publisher of school content, teacher, or like, an advanced editor would allow them to more cater to a specific set of kids... in that most games that offer customized maps have different genre of maps. TD (tower defense), RPG (role playing game), story telling, replay an event in history, fantasy. etc... an advance editor. would allow creating of "events, conditions, actions" so if a particular student had 2nd grade reading skill, and 5th grade math skill. the publisher, teacher, or like, could direct certain activities / resources to that student. in such, instead of providing more math.. forcing student to raise there reading skill to improve.

what does Moodle currently have to offer? or possibly have to offer?

  1. currently in version 2.8 (maybe earlier) "event log" was put into place. and plugins wanted to cause an event to happen when ever something happens.
  2. goto some course that you are an EDITING TEACHER or higher in -> "turn on editing" -> create or edit an activity -> scroll down to "completion / availability options"
    1. you may need to turn on "completion" within site admin menu *i forget were specifically at moment*
  3. plugins for moodle currently are required to support a set of given type's of "class" and "functions" and "variables" so the plugin can work with moodle. (grading stuff, sending emails, etc..) would it be possible to use what is there already or additional changes needed? or complete new code and options needed?

programming / code / database

Programming language for editor?

php, html, css, javascript. same as moodle. but... how does taking the sentence struction of the "event, condition, action" translate to php?

  • i am guessing.. case: statements? to deal with if/then/else, foreach/loop notations?
  • i guess main function. that continues to call itself... till there are no more variables / code to proccess? ewww code...

how to handle direct code insert...

  • does person create custom php, javascript, css, and/or html file outside. and then "upload" the files through the editor. and the files get saved into moodledata folder?

location of editor? and more specifically when does it load up

i would imagine i need to make sure all other plugins load up first before ITS does. if not. there could be chance ITS (intelligent tutor system) does not find something it is looking for? so can i place ITS at www.yoursite.com/moodle/its and then find a specific location. after www.yoursite.com/moodle/local finish loading any plugins in it? so as to make sure any overrides in local happen? due to ITS could possibly override everything?

  • making things to complicated... setting at www.yoursite.com/moodle/its/editor and make sure ITS is very last thing to load. so it can over ride anything and everything.

database tables

  • BIG UTH OH.... how to handle custom code? javascript, css, html, ya ok... but custom php code... i really do not want to call a file up in moodledata to be ran. i guess only way i am going to get around it. is creating a "folder" say www.yoursite.com/moodle/its/editor/custom and all custom files errr code go into this folder. a site admin with ftp access going to be about only way to get around this...
    • this should cause admin to hopefully check file for any suspected hacked up info? example game cheats or like.
  1. events (table)
    1. ID (field)
    2. events (field)
  2. conditions (table)
    1. ID(field)
    2. conditions (field)
  3. actions (table)
    1. ID (field)
    2. actions (field)
  4. customfile (table) = customcode in warcraft 3 world editor.
    1. ID (field)
    2. type (field) = not knowing any better, saving file type (js, php, html, css)
    3. customfile (field) = www.yoursite.com/moodle/its/editor/custom = it should have argments to deal with / or \ and the customfile should include any extra folder depths /mycustomai/js/mycustom.js
  5. eca (table) = event condition action
    1. ID (field)
    2. name (field)
    3. event (field) = comma defilemented list of ID's from (events, conditions, actions) tables
    4. conditions (field) = comma defilemented list of ID's from (events, conditions, actions) tables
    5. action (field) = comma defilemented list of ID's from (events, conditions, actions) tables
    6. customcode (field) = comma defilemented list of ID's from (events, conditions, actions) tables
  6. ecatotal (table) = saving a bunch of (event,conditions, actions) together as a common entity.
    1. ID (field)
    2. ecatotal (field) = comma defilemented list of ID's from eca table

how to register different things for the editor?

  1. there is going to be need to pull data from every plugin within moodle.
  2. moodle is going to be dynamic, editing teacher creating and adjusting activities / resources including courses to fit students and themselves. and constant changing data from input of students.
  3. if i take above in, then it would be assumed when editor is launched, it will need to dynamic load information from plugins, and other data sets as things change.
  4. issue how do prevent some "evil hacker" from creating a cheat or something harmful? is there need for an approval system? or can roles and permissions assign to each role able to handle things?
  5. is there need to create a database table. to register things? or perhaps a cache item. to allow faster access?
  6. are some things such as plugins, registered during initial install / upgrade / uninstall of plugin?

what information is collected from the plugin?

not a slightest clue at moment..

STUFF TODO

  1. log in as a EDITING TEACHER or higher, and go through every single activity / resource, including blocks. and identify possible, "events, conditions, actions" that might apply to each doing. ""actually creating a rough draft list"" so as to be able to identify information of what is and is not common.
  2. need to install and see what following plugins actually do. i saw mention of "outcomes" on www.moodlerooms.com and seeing information other places within www.moodle.org -> forums about "outcomes" but not sure were the plugin is coming from or what it does specifically.
    1. Learning Outcome Wizard
    2. Learning Outcome Generator
    3. Learning Outcome Sequence List
  3. look at what is avilable out there.. is there a open source or some other scripting language already made and just needs some tweaking, or is there need to start from scratch...
    1. http://en.wikipedia.org/wiki/Comparison_of_programming_languages would languages taged with "event driven" be worth looking into?
    2. DONE & NO www.vbforums.com has a customized scripting for configuring the forums.
    3. DONE & NO www.phpbb.com i do believe has customized scripting for it as well.
    4. age of empires game (series) i do believe has a scripting lanague
    5. DONE & NO would something like "node.js" be of something... and converting it somehow?
    6. DONE & NO going with matlab or like math scripts that changes text into symbols?
    7. DONE & NO http://en.wikipedia.org/wiki/Game_Editor
    8. DONE & NO http://en.wikipedia.org/wiki/Level_editor
    9. DONE & NO http://en.wikipedia.org/wiki/Category:Video_game_level_editors
    10. DONE & NO http://en.wikipedia.org/wiki/List_of_level_editors
    11. DONE & NO http://en.wikipedia.org/wiki/Online_creation
    12. DONE & maybe ontology editor