Game Logic in Moodle Skill Tree research draft 1

Jump to: navigation, search

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 Skill Tree research draft 1.


there are a few things

  1. basic skills
  2. basic skill trees
  3. country / educational tree / map

example 1

  1. adding = "basic skill tree"
      • 1+1 = basic skill
      • 1+2 = basic skill
      • 1+3 = basic skill
      • etc...
      • 4+519 = basic skill
      • 45981 + 12349195 = basic skill

Example 2

  1. history= "basic skill tree"
    1. wars= "basic skill tree"
      1. world war 1 = basic skill
        • dates that it happen = basic skill
        • who was involved = basic skill
        • time line of events = basic skill

basic skills / basic skill trees is general use of term. as things need more definition, a basic skill turns into a "basic skill tree" pretty simple.

things get complicated... when we move up into how to group stuff together beyond basic skills / basic skill trees.


in above links... every country / educational body has there own set of terms. and how to group different ages, different skills, different grades together.

there are 4 examples below...example A, B, C, and D NOTE: it takes about 4 to 5 clicks of clicking on image. to get to original file. that is easier to read.


  • everything on the right hand side (A through E, bad, add) is in thought a "basic skill"
  • everything on the left could be thought of as a "basic skill tree" due to more definition was needed to describe / define it.
  • Examples 1 and 2 from above would fit in here



  • same as "example A" but some "counting numbers, and symbyols" were tossed in. and they turned out to be "basic skill trees", and basic skills becoming numbers 1 through 29
  • Examples 1 and 2 from above would fit in here



  • we are getting into country / education tree / map.
  • this example not real complicated. just kinda point arrows to this and that.



  • many to one, and one to many!!!
  • as you can see. arrows are going all over the place.
  • everyone calls / labels / groups / defines something different. but the same basic skills, basic skill trees are used, along with grades, and ages that differ slightly.
  • in games... your normally have different "races" human, elf, dwarf, goblin, etc... that you can play, and each of these "races" normally has a different "skill tree / skill map" some times some skill tree's/map's of races have same basic skills some times they do not.
  • the same like idea can be used to deal with (countries and there educational bodies) and how they label / group things.

NOTE: i felt like a little kid with string. and just hanging it and stringing it everywhere i can to try and connect stuff up to one another.



  1. the need for some basic information to tie everything together.
  2. example 1
    1. if student A is having difficulty in say adding 5+4 through 5+9's, having a skill tree / map. to search for skills "adding 5" so videos, activities, resources, quizzes, games, with those skill sets would show up. and/or auto adjust to "add 5"
  3. example 2
    1. publisher A produces a bunch of books, videos, quizzes, activities, resources. and so does Publisher B.
    2. A Publisher stinks in multiplication tables, but Publisher B does well with them.
    3. student A excels with Publisher A multiplication tables but does average with publisher B multiplication tables.
    4. but students B through Z excel with publisher B multiplication tables. and below average with publisher A multiplication tables.
  4. example 3
    1. Publisher AYZD publishs a video covering counting 1 through 10 with fingers. skills = counting 1,2,3,4,5,6,7,8,9,10
    2. Publisher SEZD publishes a video convering counting 1 through 5 with roman numerals. skills = roman numerals 1,2,3,4,5
    3. if a student is age 14 and having problems counting roman numerals what video should the student see?

expanding on the skill tree

  • a computer is "dumb" it does not know how to link stuff together. a skill tree. lets the computer have some basic idea what is what. and ability to link stuff together.
  • a skill tree is not actually creating "activities / resources" in moodle. a skill tree is simply a way to categorize information. something like a "card catalog" in a library, and looking up book information. but in this case the card catalog AKA skill tree, is being used to create a catalog of skills and linking (activities, resources, videos, audio, games, etc...) together. via a skill tree.
  • the goal is use the skill tree. to advance into ITS (intelligent tutor system) and/or PLE (personalized learning environment), so when a student misses a few questions on a test. or builds up enough knowledge in given different types of skills. the ITS / PLE will automatically allow the student to advance the student. and/or give the student some review material to go back over questions student missed in a previous quiz. and that includes with and without teacher involvement.

attempting to find a list of basic skills. without getting caught up in all the standards

see Game_Logic_in_Moodle_Overview_Misc_Links#skills_.2F_skill_trees

were does basic skills / basic skill trees come into moodle (teacher wise)?

  • -> login as a "editing teacher" or higher into a course -> turn on editing -> edit an activity / resource -> scroll down...
  • below image is a quick mockup of some how adding/editing/deleting skills that would fit a given activity / resource.


EDIT: added dynamic multi select drop down menus. you select something in left box, and it auto loads info into the next box. so on and so forth. till ya drill down to what you want.


  • i would imagine above "skill selection" would be displayed within "editing categories, editing courses, and editing sections" so as to allow for the "auto fill buttons" to work within the editing screen of "activities / resources" pages.
  • NOTE: textarea is there to allow quick copy/pasting from. and overview of what skills might be currently selected for current activity / resource.

SIDE NOTE: after looking at dynamic menu, and prefill buttons mockup images above. i am wondering if a plugin to atto / tinymce might be better. or simply going with a "pop up window" something like "tex editor" or like for math

SCRATCH OUT ABOVE NOTE: pop window would drive me insane quickly. needs to be KISS (keep it simply stupid) so it actually gets used and filled in.

went with pure "dynamic multi select drop down menus" added "by prefill from categories / courses / sections"


need to have some sort of "simple search" and/or tag like entering. to make things a bit easier. hhmmsss

EDIT: added search box, and results come back in a "multi select drop down menu"


EDIT: combined search box. into dynamic build drop down menus. an attempt to shrink everything down further in interface


for the textarea at the very bottom... i do not like idea of using () along with commas, seems to programmy, if that is a word. hhmmsss...

EXAMPLE 1, i do not like to much stretching of figures for minus sign and >


EXAMPLE 2, i still do not like. requires everything to be on a new line.


EXAMPLE 3 that might work... commas to define a path, with : colons to denote next thing. and everything can be on one line, not really readable though.


EXAMPLE 4 back slash / with colons... possibly. it would be like "bread crumbs" on a page.


EXAMPLE 5 (bullet listings) i like bullet listings quick and easy to read. but kinda of a pain to type up manually into a textarea even with atto editor / tinymce editor.

  • math
    • add
      • 1
      • 2
      • 3
      • 4
      • 5
    • romannumerals

EXAMPLE 6 (wiki way of creating a bullet list, and using # or *) rather difficult to tell difference between amount of ***


EXAMPLE 7 little bit easier to read


EXAMPLE 8 do not like distance between # and * to far apart and fingers need to "reach" for the symbols


EXAMPLE 9 folks fingers more familiar with finding @ at symbol and email address. large icon/symbol.


EXAMPLE 10 @ and # next to each other on standard keyboard for US / English type. but not sure about other languages and placement of keys. a tad easier to see tree and branches of the tree / bullet like listing.


different approach TAG's and a TAG cloud

TAG's in essence = KEYWORDS, that you might type into google. in attempt to find something. in this respect "tags" is what someone enters into a given webpage. so when someone searchs for a given keyword, google looks at the tags on page and compares it to the keywords.

  1. being able to enter....
    1. math, "grade 1", 1,2,3,4,5, "roman numerals"
    2. math, "grade 2", "grade 3", 1,2,3,4,+,*,/, fractions, decmial
  2. at the teachers interface, when adding / creating an activity / resource / section / course / block / category. would be so much easier.
    1. less overall structure as in it has to be done this way or see ya do not want to be ya, above allows more free form.
  3. the issue with "tag's / tag cloud" there is no structure.
    1. so there going to be need for something behind the scene, such as a "skill editor" that shows linked and unlinked stuff. and a way to connect tags into a structure so the dumb computer can understand.
    2. and then these links that are made / structure needs to back feed to the teacher as they enter various "tags".
      1. feedback = search results of tags, against what is in the skill tree. and possibly being able to multi select the "feed back search results". to re-adjust and/or add/delete the tags that was typed in.
      2. other words right back to search box in above.

the nice thing about "tags" is if they are not already in the system. they can be created on demand. this includes mis-spellings, slang terms, abbreviations, plural forms of same words, etc...

  1. so how can a teacher going in and typing in "tags" that are attached to a "SKILL TREE" be able to automatically create stuff and attach and link to skill tree? without having to goto some other page, another pop-up window, etc...
  2. in or most any current shopping cart / ecommerce software out there. you can goto -> add/edit a product. and you are able to list a single product in multiple categories. ebay has some like ability being able of being able to have a given item show up in in different categories. were you are not creating multi products of the exact same thing, but you are simply linking same product to different categories. so given product will show up in say "doll" category, and also in "kids 3 to 5 yrs of age" category, and possibly "princess" category as well.
    1. this might a way of adding stuff to the skill tree. but...
  3. there needs to be a way to display the skill tree and all the connections it has. kinda like below picture. but it needs to be "text based" vs showing more "button like" images.
    1. skilltreepaths4.jpg

change in direction skills have variables / attributes

  1. most of above is geared directly to, going to.. -> login as a editing teacher or higher into a course -> "turn on editing" -> add or edit an activity / resource.
  2. besides simply selecting skills and adding them to the activity / resource. there is a few more things...
  3. in games your out and about in the game, destroying monsters, and when you destroy them, you get some XP (experience points), some loot (gold, resources, items etc...)
  4. if a person completes an activity / resource... what do they gain? do they gain experience from simply reading over some class material, or listening to a lecture? i would say yes. there needs to be a way to represent what students gain and how much they gain from a given skill type.
  5. in many games you have a "mini map" and as you explorer more of the mini map becomes see able. (exploration factor)
  6. in moodle / learning would a student going into an activity / resource be a (exploration) and finding out were information is?
  7. EXAMPLE A = 5 activities / resources covers how to search for stuff on the internet
    1. = activity goes over web site address with links
    2. = understand key words, meta data, tags
    3. = using and, or, site: and other variables in search strings
    4. = advance search options
    5. = quiz / test
  8. in above example. 1 - 4 is covering the material for the quiz. but in reality are they exploring? how do you account for 1-4?
    1. if a student went into 1,4, and then 5 for quiz... they miss'ed some exploration / learning material. and may end up failing the test. or maybe not.
    2. in games, you might go out explorering rather far, and pressing your luck. till finally you die at some high level monsters. then you might go around gaining your character levels and stats, before retrying again.
    3. for a student learning... if they see they failed a quiz... and going back exploring and building up there stats. so they can go back and defeat a quiz. then students gain some experience by going back over 1-4.
    4. students might gain additional experience going outside of activities / resources in the given course. this is were some "basic generic" attributes / variables come into play with skills.

skills - attributes / variables what should they be?

  1. exploration?
  2. reading?
  3. writing?
  4. working out problems?
  5. taking different quizzes?
  6. going into more advanced subjects that rely on earlier skill type?
  1. what about just plain skill -> math -> add -> whole numbers
    1. and as you work with 1+1, 1+2 you get 1 experience every time you solve the question
    2. and as you get up into 5+7, 8+9, you get 3 experience points every time you solve the question
    3. and as you get up into 1,984 + 15,941 you get 15 experience points every time you solve the question.
    4. and the more experience you get, the higher the skill -> math -> add -> whole numbers goes up in level
  2. expanding on above...
    1. reading over material that gets into "millions" 1,945,459 + 1,987,216 you get 7 experience points, but completing a quiz for it gives you 18 experience points towards skill -> math -> add -> whole numbers
  3. expanding more...
    1. end of semester, and checking long term memory of various skills and abilties...
      1. student gets some quiz questions of 1,509,549 + 1,549,918 and they get it wrong.
        1. in a game this might be like dieing or having to go back to some village to get healed.
        2. in learning, this might mean instead of adding experience points to skill level but removing some skill points from a skill level?
          1. in some games if you get below X amount of life, X amount of magic, a "blitz bar" or power bar of some sort builds up for some mega attack move.
          2. instead of removing skill point experience. would there be a "long term memory bar" if it stays in green all good, but if it starts getting into yellow, "CAUTION" need to do something about it, and RED, teacher intervention time? if student only misses a couple questions no big deal. but more they miss. bigger issue that it is? and needing to go back and review material?

side tracking

the goal of basic attributes / variables for overall skills is to track progress. a means to get some sort of "factor/s" or base line, that is common among all skills. an ITS (intelligent tutor system), and per student skills can adjust things accordingly per student. and how reading over this or that might apply to each and every student. but there needs to be a "base line" some sort of numbers for the "dumb computer" to be able to factor how to adjust things to each student. this is were below comes into play.

  1. skill
    1. math
      1. add
        1. whole number
          • experience points
          • long term memory bar points adjustment
          • not a clue what else

the above (experience points, long term memory points, etc..) needs to be able to be adjusted at... -> login as a editing teacher or higher into a course -> "turn on editing" -> add or edit an activity / resource -> skill selections -> adjusting each skill attribute for a base line


looking at above... the "restrict access" and being able to "group" skills" might be more advantage. vs going down a list of skills

re inventing the wheel errr javascript vertical menus

  1. standard navigation menus nearly every website has them some place either on left or right, some times across top of there website pages. this is taking things a bit further.

being able to expand menu to either "left side" or to the "right side" each sub item / sub menu can then be selected to choose between, "expanding left" or "expanding right"

  1. in below picture... expanding left.. = any skills that point to given skill
  2. in below picture.... expanding right = any skills that point away from given skill.
  3. as you click down through each one. you can click back and forth between to and from, per each skill.
  4. some times there are "dead ends" err gears.
  5. when you want to edit information about "exploration experience, quiz experience, pronouncing experience, working out a problem experience." click on the green + sign. and you would see some options for inputing that info for the given skill
  • KEYWORD "hereditary chart" comes to mind when trying to explain below menu


references TO and FROM are in references in arrows in flow charts, example...



  1. looking at different flowchart software, and showing lines and attempting to figure out what connects to what has been "very very ugly" look at examples in this page. even some simply flow charts, the creator myself has hard time following what pointed to what. going with a tree menu style. that would allow branching "to and from" a person could drill down within reason.
  2. very confusing.... someone could easily get lost after so many accidental clicks.
    1. might suggest having a couple "text boxes" to enter how far someone can click into any given depth
  3. the need to set certain things as "main listings" and everything else branches off from... (core skills, country standards)
  4. would be one heck of a "layering issue" and/or expanding multi things. to point tree grew so huge both vertical and width...
    1. possibility of some how providing a "mini map" just like a game but for given main
      that holds the menu.
  5. i would imagine actual "lines" would need be shown in how things connected. vs just arrows pointing up.down, left, right. "file explorer" in windows. and most applications follow this rule of showing connection lines. (should be easy thing to have in most javascript vertical menu trees)
  6. needs to be some sort of "turn on editing"
    1. would be nice for "drag and drop"
      1. create a new "skill" (some text box, ya type in name and click add) and then it shows up in the multi direction menu. and you just drag and drop it. "left side" or "right side" and it creates a link.
        1. other usage... teacher given core subject, linking just there primary stuff to there user name / favorites menu item. for quick selection
    2. extra icons show up for creating new links between things, deleting, editing skills, etc...
  7. Other words... one permission to view stuff, another permission to adjust skills for giving activity / resources or like, and then another permission to add/edit actual skills, and make different links between the skills.


  1. wondering about skills acting as a "plugin type" or rather different "setups" for skills = a plugin. so as to allow different functions and ways to describe different skills. language, math, science, history, just the core subjects alone most likely will have different requirements / wants. was thinking along the lines of hardcoding, vs trying to database each different thing. and then needing to figure out a way to allow for custom "forms" drop down menus, input boxes, text areas, etc... and how each one describes a given skill. and connecting, audio files, video files, images, and all the different text documents, etc.., etc...
  2. if base type of plugin skill. then...
    1. database -> table ->
      1. ID
      2. name
      3. description
      4. tooltip
      5. skillbase (skill base plugin type)
      6. TO = (comma list)
      7. FROM = (comma list)
  3. skill base plugin types, would handle there own database info and functions. could work.