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

From MoodleDocs

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

  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

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 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. ontology editor