Treasure hunt scripts

 

This is the script for a wearable hud that works with other game features as well. For this example we will use it just to collect tokens for finding gems. You would put this in a wearable object like jewelry,  a badge or a hat etc.

// The actual HUD //
// ——————————————–
// ——————————————–
// declare / define global variables //

integer pCoins = 0;
integer pGems = 0;
integer pScore = 0;
string vhCustomTitle = “Tresure Hunt”;
string vhTitleOffset = ” \n \nThanks for trying the Game Kit.\nBegin by collecting gem.”;
string vhMessageLine = “\n \n “;
string vhCoinString = “”;
string vhGemString = “”;
string vhScoreString = “”;
integer vhAccessCost = 0;
list pPuzzleList = [];
integer pHUDworn = 0;
string gsCardOneName = “config”;
string g_sNoteCardName;
list gOneCard;
list g_lTempLines;
integer g_iLine;
key g_kQuery;

initialize(string _action) {
if (_action == “”) {
loadNoteCard(gsCardOneName);
} else if (_action == “finish”) {
integer i;
for (i = 0; i< 7; ++i)
{
string tLineText = llList2String(gOneCard,i);
if (i == 0)
{
vhAccessCost = (integer)right(tLineText,”:”);
}
if (i == 1)
{
vhCustomTitle = right(tLineText,”:”);
vhCustomTitle = vhCustomTitle + “\n “;
}
if (i == 2)
{
vhTitleOffset = right(tLineText,”:”);
vhTitleOffset = vhTitleOffset + “\n \n “;
}
llListen(999,””, “”,””);
//llListen(reset_channel, “”, “”, “”); // RESET channel

}
}
}

loadNoteCard( string _notecard ) {
g_lTempLines = [];
g_sNoteCardName = _notecard;
g_iLine = 0;
g_kQuery = llGetNotecardLine(g_sNoteCardName, g_iLine);

}

notecardFinished(string _notecard){
if (_notecard == gsCardOneName) {
gOneCard = g_lTempLines;
initialize(“finish”);
}
}

// ——————————————–
// ——————————————–
// define global custom functions //
// these are from the lsl tutorials //

string left(string src, string divider) {
//llSubStringIndex
// find the first appearance of the divider
integer indexLF1 = llSubStringIndex( src, divider );
if(~indexLF1)
// check to see that the appearance falls in a positive number position
//string llDeleteSubString(string src, integer start, integer end)
// remove all of the text that falls to the right of the first divider
return llDeleteSubString( src, indexLF1 + llStringLength(divider)-1, -1);
return src;

}

string right(string src, string divider) {
integer index = llSubStringIndex( src, divider );
string tString = “”;
if (~index)
{
// this fetches the string to the right of the first marker
tString = llDeleteSubString( src, 0, index + llStringLength(divider) – 1);
//llSay(0,”whats left ” + src);
// now we need to get the right half of that
integer indexSR1 = llSubStringIndex(tString, divider);
if (~indexSR1)
{
// here’s the far right side of a 3 part list
tString = llDeleteSubString(tString, 0, indexSR1 + llStringLength(divider) – 1);
}
}
return tString;
}

string center(string src, string divider) {
integer index = llSubStringIndex( src, divider );
string tString2 = “”;
if(~index)
{
tString2 = llDeleteSubString( src, 0, index + llStringLength(divider) – 1);
integer indexC1 = llSubStringIndex(tString2, divider);
if (~indexC1)
{
return llDeleteSubString( tString2, indexC1 + llStringLength(divider)-1, -1);
}
}
return tString2;
}

default
{
on_rez(integer start_param)
{

if (llGetAttached() > 30)
{
pHUDworn = 1;
initialize(“”);
llSetText(vhCustomTitle + vhTitleOffset + “\n \n “, <0,0,0>, 1);
}else{
llSetText(“”, <0,0,0>, 1);
llSay(0, (string)llGetAttached());
}

}
state_entry()
{
initialize(“”);
integer messageInt = llListen(1717, “”, NULL_KEY, “” );
integer messageInt2 = llListen(1718, “”, NULL_KEY, “” );
integer messageInt3 = llListen(1719, “”, NULL_KEY, “”);
integer messageInt4 = llListen(1791, “”, NULL_KEY, “”);
integer messageInt5 = llListen(1616, “”, NULL_KEY, “”);
integer messageInt6 = llListen(2654, “”, NULL_KEY, “” );
vhCoinString = “\nTOKENS: “+(string)pCoins;
vhGemString = “\nPRIZES: “+(string)pGems;
pScore = pCoins * pGems;
vhScoreString = “\nPOINTS: “+(string)pScore;
}

touch_start(integer total_number)
{
// if they touch the scorekeeping object – readout the scores
vhCoinString = “\nTOKENS: “+(string)pCoins;
vhGemString = “\nPRIZES: “+(string)pGems;
pScore = pCoins * pGems;
vhScoreString = “\nPOINTS: “+(string)pScore;
if (pHUDworn == 1)
{
llSetText(vhCustomTitle+vhMessageLine+vhCoinString+vhGemString+vhScoreString, <0,0,0>, 1);
}else{
llInstantMessage(llGetOwner(),vhCustomTitle+vhMessageLine+vhCoinString+vhGemString+vhScoreString);
}
}

listen( integer channel, string name, key id, string message )
{
if (channel == 1717)
//llSay(0, (string)channel + ” ” + name + ” ” + (string)id + ” ” + message);
{
string mesR = right(message, “:”);
string mesL = left(message, “:”);
string mesC = center(message, “:”);
integer tValue = (integer)mesR; // convert the coin string to a number
//llSay(0, (string)llGetOwner());
//llSay(0, mesL);
if (mesL == (string)llGetOwner())

// this is the parse for hud owner messages only
{
//llSay(0, “LINE 110: ” +(string)tValue);
pCoins = pCoins + tValue;
// fix according to positive v negative values
vhCoinString = “\nTOKENS: “+(string)pCoins;
vhGemString = “\nPRIZES: “+(string)pGems;
pScore = pCoins * pGems;
vhScoreString = “\nPOINTS: “+(string)pScore;
if (pHUDworn == 1)
{
llSetText(vhCustomTitle+vhMessageLine+mesC+vhCoinString+vhGemString+vhScoreString, <0,0,0>, 1);
}else{
llInstantMessage(llGetOwner(), vhCustomTitle+vhMessageLine+mesC+vhCoinString+vhGemString+vhScoreString);
}
}
// llSay(0, (string)pCoins);
}

if (channel == 1718)
{
string mesR = right(message, “:”);
string mesL = left(message, “:”);
string mesC = center(message, “:”);
integer tValue = (integer)mesR; // convert the coin string to a number
//llSay(0, mesL);
//llSay(0, (string)llGetOwner());
if (mesL == (string)llGetOwner())
{
if (tValue > 0)
{
if (pCoins >= tValue)
{
//llSay(0, “LINE 132: ” +(string)tValue);
pCoins = pCoins – tValue;
}else{
pCoins = 0;
}
}
vhCoinString = “\nTOKENS: “+(string)pCoins;
vhGemString = “\nPRIZES: “+(string)pGems;
pScore = pCoins * pGems;
vhScoreString = “\nPOINTS: “+(string)pScore;

if (pHUDworn == 1)
{
llSetText(vhCustomTitle+vhMessageLine+mesC+vhCoinString+vhGemString+vhScoreString, <0,0,0>, 1);
}else{
llInstantMessage(llGetOwner(), vhCustomTitle+vhMessageLine+mesC+vhCoinString+vhGemString+vhScoreString);
}
}
}

if (channel ==1719)
{
if (message == (string)llGetOwner())
{

if (pCoins >= vhAccessCost)
{
pCoins = pCoins – vhAccessCost;
llSay(1720, “Y”);
vhCoinString = “\nTOKENS: “+(string)pCoins;
vhGemString = “\nPRIZES: “+(string)pGems;
pScore = pCoins * pGems;
vhScoreString = “\nPOINTS: “+(string)pScore;
if (pHUDworn == 1)
{
llSetText(vhCustomTitle+vhMessageLine+”You spent “+ (string)vhAccessCost+ ” tokens to use this object.” +vhCoinString+vhGemString+vhScoreString, <0,0,0>, 1);
}else{
llSay(0, vhCustomTitle+vhMessageLine+”You spent “+ (string)vhAccessCost+ ” tokens to use this object.” +vhCoinString+vhGemString+vhScoreString);
}
}else{
llSay(1720, “N”);
}
}
}

if (channel == 1791)
{
if (message == (string)llGetOwner())
{
// here we should add a list to hold which objects have been acquired. We can do it by storing a list of the
// puzzle boards that awarded gems – and simply ignoring repeat awards – (you could add a message to that effect as well.
list tTest = [id]; // the uuid of the puzzle board
integer foundIndex = llListFindList(pPuzzleList, tTest);
if (foundIndex == -1)
{
pGems = pGems+1;
list insertNameList = [id];
pPuzzleList = llListInsertList(pPuzzleList, insertNameList, 0);
vhCoinString = “\nTOKENS: “+(string)pCoins;
vhGemString = “\nPRIZES: “+(string)pGems;
pScore = pCoins * pGems;
vhScoreString = “\nPOINTS: “+(string)pScore;
if (pHUDworn == 1)
{
llSetText(vhCustomTitle+vhMessageLine+”You earned a prize.”+vhCoinString+vhGemString+vhScoreString, <0,0,0>, 1);
}else{
llInstantMessage(llGetOwner(), vhCustomTitle+vhMessageLine+”You earned a prize.”+vhCoinString+vhGemString+vhScoreString);
}
}else{
llInstantMessage(llGetOwner(), “You have already earned this prize.”);
}
}else{

//llSay(0, message);
key tKeyMes = (key)message;
list tTest = [tKeyMes];
//llSay(0, (string)pPuzzleList);
//llSay(0, (string)tTest);
integer foundIndex = llListFindList(pPuzzleList, tTest);
//llSay(0, (string)foundIndex);
llSay(3719, (string)foundIndex);
}

}
if (channel == 1616)
{
string whoCalled = right(message, “:”);
if (whoCalled == “board”)
{
llSay(1617, ((string)pCoins + “:” + (string)pGems));
}else{
llSay(1417, ((string)pCoins + “:” + (string)pGems));
}
}

if (channel == 2654)
{
llSay(2655, “ScorekeeperReply”);
}

}
dataserver(key _query_id, string _data)
{
if (_query_id == g_kQuery) {
if (_data != EOF) {
g_lTempLines += [_data];
g_iLine++;
g_kQuery = llGetNotecardLine(g_sNoteCardName, g_iLine);
} else {
notecardFinished(g_sNoteCardName);
}
}
}

}


 

This is the notecard you would include in the object as well. Title in config

 

// PAY BOARDS TO PLAY // :5
// HUD GAME TITLE // :Treasure Hunt Game
// INSTRUCTIONS // : Collect gems.


 

And now for the treasure token script put this inside any object you want to award tokens for finding.

 

string pCoinValue = “30”; // um, change the number to make it worth more or less
string pAcquireMessage = “Follow the gems.”; // change the text inside quotes to make it say something different
string CONTROLLER_ID = “A”;
float tAlpha = 0.8; // set this to 1.0 if you want your object to be fully opaque.
// for the adventurous, you could make a random list and choose different things to say
string gsCardOneName = “config”;
list gOneCard;
list g_lTempLines;
string g_sNoteCardName;
integer g_iLine;
string g_kQuery;
integer resetChannel = 3;
integer respawnDelay = 30;
string vhUseParticles = “TRUE”;
float vhTargetOmega = 0.3;

 

//—————– PRIVATE —————————–
string left(string src, string divider) {
integer index = llSubStringIndex( src, divider );
if(~index)
{
return llDeleteSubString( src, index + llStringLength(divider)-1, -1);
}
return src;
}

string right(string src, string divider) {
integer index = llSubStringIndex( src, divider );
string tString = “”;
if (~index)
{
return llDeleteSubString( src, 0, index + llStringLength(divider) – 1);
}
return tString;
}

initialize(string _action) {
if (_action == “”) {
//llSay(0, “1”);
loadNoteCard(gsCardOneName);
} else if (_action == “finish”) {
//llSay(0, “2”);
integer i;
for (i = 0; i< 7; ++i)
{
string tLineText = llList2String(gOneCard,i);
if (i == 0)
{
pCoinValue = right(tLineText,”:”);
}
if (i == 1)
{
pAcquireMessage = right(tLineText,”:”);
}
if (i == 2)
{
string tAlphaString = right(tLineText,”:”);
tAlpha = (float)tAlphaString;
}
if (i == 3)
{
string stresetChannel = right(tLineText, “:”);
resetChannel = (integer)stresetChannel;
integer lHandle5 = llListen(resetChannel, “”,””,””);
}
if (i == 4)
{
string stRespawnDelay = right(tLineText, “:”);
respawnDelay = (integer)stRespawnDelay;
//llSay(0, stRespawnDelay);
}
if (i == 5)
{
vhUseParticles = right(tLineText, “:”);
if (vhUseParticles == “TRUE”)
{
llMessageLinked( LINK_SET, TRUE, CONTROLLER_ID, NULL_KEY );
}else{
llMessageLinked( LINK_SET, FALSE, CONTROLLER_ID, NULL_KEY );
}
}
if (i == 6)
{
string stvhTargetOmega = right(tLineText, “:”);
vhTargetOmega = (float)stvhTargetOmega;
llTargetOmega(<0,0,vhTargetOmega>, 10, 10);
}
}
}
}

loadNoteCard( string _notecard ) {
g_lTempLines = [];
g_sNoteCardName = _notecard;
g_iLine = 0;
g_kQuery = llGetNotecardLine(g_sNoteCardName, g_iLine);
}

notecardFinished(string _notecard){
if (_notecard == gsCardOneName) {
gOneCard = g_lTempLines;
initialize(“finish”);
}
}
//——————————————–

 

default
{
state_entry()
//
{
initialize(“”);
// on stateChange do stuff
//integer lHandle5 = llListen(resetChannel, “”,””,””);
llSetLinkAlpha(LINK_SET, tAlpha, ALL_SIDES);
// set entire prim 100% visible.
//llTargetOmega(<0,0,vhTargetOmega>, 10, 10);
llSetStatus(STATUS_PHANTOM, TRUE);
llSetStatus(STATUS_ROTATE_Z, TRUE);
llTargetOmega(<0,0,vhTargetOmega>, 10, 10);
llVolumeDetect(TRUE);
}
touch_start(integer total_number)

{
float tAlpha = (llGetAlpha(ALL_SIDES/llGetNumberOfSides()));
//llSay(0,(string)tAlpha);
if (tAlpha>0.0)
{
//llInstantMessage(llDetectedKey(0), “You picked up a Spanish Doubloon!”);
// make it invisible
llSetAlpha(0.0, ALL_SIDES);llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);
// set entire prim 100% invisible.
llSetStatus(STATUS_ROTATE_Z, FALSE);
llSetStatus(STATUS_PHANTOM, TRUE);
// make it non-physical
// start a timer
// make it reappear after n seconds (n=60)
if (respawnDelay > 0)
{
llSetTimerEvent(respawnDelay);
}
// send a message to the gatherer’s HUD to add 1 coin
llSay(1717, ((string) llDetectedKey(0) + “:” + pAcquireMessage + “:” + pCoinValue));
llMessageLinked( LINK_SET, FALSE, CONTROLLER_ID, NULL_KEY );
//llSay(0, ((string) llDetectedKey(0) + “:” + pAcquireMessage + “:” + pCoinValue));
// llSay(1717, ((string) llDetectedKey(0) + “: 100”)); // would also work now or any integer positive or negative for that matter.
}

}
collision_start(integer num_detected)
{
float tAlpha = (llGetAlpha(ALL_SIDES/llGetNumberOfSides()));
if (tAlpha>0.0)
{
//llInstantMessage(llDetectedKey(0), “You picked up a Spanish Doubloon!”);
// make it invisible
llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);
// set entire prim 100% invisible.
llSetStatus(STATUS_ROTATE_Z, FALSE);
llSetStatus(STATUS_PHANTOM, TRUE);

if (respawnDelay > 0)
{
llSetTimerEvent(respawnDelay);
}
llSay(1717, ((string) llDetectedKey(0) + “:” + pAcquireMessage + “:” + pCoinValue));
llVolumeDetect(FALSE);

llMessageLinked( LINK_SET, FALSE, CONTROLLER_ID, NULL_KEY );
}
}
//////
listen(integer channel, string name, key id, string mes)
{

if (channel == resetChannel)
{
initialize(“”);
llSay(0, “Okay, I reset the token”);
llSetLinkAlpha(LINK_SET, 1.0, ALL_SIDES);
if (vhUseParticles == “TRUE”)
{
llMessageLinked( LINK_SET, TRUE, CONTROLLER_ID, NULL_KEY );
}else{
llMessageLinked( LINK_SET, FALSE, CONTROLLER_ID, NULL_KEY );
}
llSetStatus(STATUS_PHANTOM, TRUE);
llVolumeDetect(TRUE);
//llSetTimerEvent(0);

}
}
//////////

timer()
{
//llResetScript();
llSetLinkAlpha(LINK_SET, tAlpha, ALL_SIDES);
if (vhUseParticles == “TRUE”)
{
llMessageLinked( LINK_SET, TRUE, CONTROLLER_ID, NULL_KEY );
}else{
llMessageLinked( LINK_SET, FALSE, CONTROLLER_ID, NULL_KEY );
}
llVolumeDetect(TRUE);
llSetStatus(STATUS_PHANTOM, TRUE);
llSleep(1);
llSetTimerEvent(0);
}
dataserver(key _query_id, string _data)
{
if (_query_id == g_kQuery) {
if (_data != EOF) {
g_lTempLines += [_data];
g_iLine++;
g_kQuery = llGetNotecardLine(g_sNoteCardName, g_iLine);
} else {
notecardFinished(g_sNoteCardName);
}
}
}
}

 

———————————————————————————————————————————————————————————————————————————————————————————-and the notecard for the token is also titled config

How many credits is this token worth? :30
What message should this token say? :Nice find! These Gems will help you on your path.
How opaque is this token?(range is 0.0-1.0) :1.0
What channel number should be used for reset? :3
How many seconds delay before respawning? :30
The token should use particles? (TRUE or FALSE) :TRUE
Speed / direction of spin? (range -1.000 – 1.000) :0.0
// never delete a colon
// Spin speed can be set to 0.0 for no spin
// If you use a HUD, message length should not be longer than about 60 characters.
// resetting any value above is entirely optional.
// Set respawn delay to a negative integer to prevent respawning
// You can reset any token using the channel defined above (if for example you left it channel 3, type ‘/3 ‘ and enter

 

Advertisements

Game theory, dynamics and elements for Minecraft analysis

Minecraft can be played on a console or a pc but for this version I used minecraft PE (pocket edition) and played it on a tablet. Minecraft has different modes which change the structure of the app. Creative mode is a simulation mode. Survival is a game mode and adventure is a developers mode that can be either simulation or game based. The important difference with adventure mode is that it protects the structure of the game from players purposefully or inadvertently destroying the build. Tne app features the ability for customization in building your own world, or computer generated builds and even the option for purchased elaborate builds. In creative mode the goal is to explore and build. In survival mode the goal is to survive, collect trophies and level up. In adventure mode specific games can be played that others have built or that you build yourself with command blocks and other tool features in the game.

The Game play aspect of minecraft in survival mode is very difficult. It doesn’t come with a tutorial, at least not in the PE version. Basically you play in creative and discover what all the tools do then when you enter survival you start from scratch and have to find and build everything you need to survive. The good thing is you re-spawn when you die. The bad thing is, unless you put your resources in a chest which you have to make or find, or buy mods and add-ons you lose everything you have gathered. I wasn’t very good at it.I like the different modes and levels because it is like scaffolding. Beginner uses creative, then you can adjust the level in creative from peaceful to easy to hard. Then you can go into survival and again you can adjust the level. You can also start with small worlds so you don’t get lost.

It also follows the Self Determination Theory in being able to customize your avatar, cause and effect of your actions and the ability to join others via the internet in game play. This last option I have not tried but I have watched my daughter play with her nephews on their gaming system in two person mode. There is Intrinsic Motivation in being able to create your own environment. This is what appealed to me the most, however when not in peaceful mode I was very upset when “creepers” blew up my creations- the creeps. Extrinsic Motivation is involved in survival mode because you can earn trophies that you can then display and if playing online others can see. Ther is no distributed learning per say in Minecraft. It can be developed and used for learning, in fact there is an educational publication, “Unofficial Minecraft Lab for Kids: Family-Friendly Projects for Exploring and Teaching Math, Science, History, and Culture Through Creative Building (Hands-On Family)” that offers plans for lessons designed by educators. It also explore gamification and game design. Yes it is on my Christmas list but I may not wait till Christmas.

Since the game doesn’t have a “how to guide built in it does improve a students Testing/Spaced Retrieval skills. Otherwise you have to buy books, watch other peoples videos they have made on youtube, search the internet or just learn by doing and exploring. It does have a set goal which is named in one of its modes, to survive. The rules are not as clear as to how you survive, maintain health and what goals you need to achieve to succeed at survival unless you invest in guides or are guided by other players. This cooperation aspect of the game is very popular among many players. I appreciate that you have choices to play independently, privately with a friend on a console or in a large social setting online as the game is adaptable to different preferences and needs.

The aspect of survival gives minecraft the escape theme but with the ability to develop games in adventure mode and work with other online players the race theme is also possible. This increases the opportunity for competition themed play. Collecting, acquiring, and allocating resources in minecraft survival mode is really the core of the game, from mining to farming, logging down trees and using all these resources gathered to build tools, homes and keep yourself alive is all part of the core of minecraft. There is Mystery and discovery in the villages and mansions and strongholds and temples that the game can randomly generate. Defined parameters, such as creatures spawning at night or in dark spaces, allow for strategy where you can predict outcomes, prepare and plan for timed events and allocate resources. The ability to create new and unique structures is what appeals to me most in the game. It is very visual based but to tell you the truth it took awhile for me to recognize the block colors and symbolism and I appreciated the text based descriptions.

Game theory, elements and design for ClassCraft analysis

Classcraft also has many platforms that it can be used on. I used this on my PC. Classcraft is a gamification app. Instead of a game platform it adds game features to real life activities. It has clearly define rules that can be customized by the teacher with video game features like customization of avatars, powers that are symbolic with real life reward, challenges and tasks with real life consequences, and a game themed story line implementing story telling through random events and goals created by the teacher. Classcraft is also able to be customized with villains and random events to add excitement. The avatars can gain and lose points and level up. The can compete on an individual level and as a team.

Classcraft uses scaffolding to move students from one level of knowledge to the next through class based goals, such as helping another student, or passing in homework on time, or fulfilling an academic goal, by rewarding them with experience points that help them level up. When challenges are not met then students can lose health points. In the paid version of the game you can award gold pieces. This is based on Extrinsic Motivation in game theory.When a student levels up they gain “powers” which essentially is a real life privilege determined by the teacher. Each small goal achieved adds up to larger and larger rewards. In this scaffolding is achieved. The Self Determination Theory is applied in the ability to customize the students avatar, giving them a sense of autonomy and control. Because the teacher can customize the goals and activities they can make them achievable and challenge the student encouraging success and competency. In addition students can work together on teams which connects the students to one another thus achieving this goal in the self determination theory.

Because all the activities are based on real life performance throughout the academic year. This achieves Distributed Learning/Spaced Practice. The rewards, privileges, team goals and penalties are continued and spaced rather than a being centered on one specific win/lose goal. The rewards are based on measured achievements rather than completion achievements. Testing/Spaced Retrieval is achieved through repeat rewards or consequences based on specific goals, behaviors and events determined by the teacher. The game does feature set goals and suggestions for activities, challenges, rewards and consequences that can be used, changed or adapted for ease of implementation.

The camaraderie of the team environment helps achieve Episodic Memory. The game enhances this by creating random events. These are fun or challenging story based events that can be randomly generated with surprise goals and consequences, one example being that a specific person, team or the whole class has to talk like a pirate for the day.

Game based dynamics need to be implemented by the teacher using real life activities. IE if the teacher wanted to implement Race and escape they would need to design it into the class craft program through a random event or a team/individual goal/challenge. Collecting, acquiring, and allocating resources is achieved during team play. If a team member falls in battle due to to many HP losses, there are consequences for the whole team. This can be prevented through the allocation of resources and powers that can rescue team mates, restore their HP and otherwise share goals to achieve success. In order to be able to rescue team mates, the individual players need to collect experience points themselves or acquire gold pieces to better protect the team as a whole. This also allows Strategy among team players who choose or are assigned different rolls such as Warrior, Healer, or Mage each with different level up powers to aid in the success of the team. By sharing HP or using powers, hence reducing resources the individual and team must decide if the trade offs or beneficial for the team and for the individuals. This also adds elements of Conflict, Cooperation, and Competition.

This gamification app has limited Constructing and creating in the avatar designs unless you purchase the full version. Other aspects of Constructing and creating would need to be built into the course by the teacher and the Classcraft used to enhance the activity. Over all Classcraft has Goals, Rules, and Objectives that are shared with students and parents and built into the app as well as allowing for customization features used by the teacher.

Multiverse Dragon Masters Evaluation of the Pilot Course

Multiverse Dragon Masters for Elementary Reading Literacy:

Evaluation of the Pilot Course

Salie Davis

Designing Online Learning Environments

(2017SP1-EDU-681103-01)

Professor Mark Lewis

Empire State College

April 28, 2017

Multiverse Dragon Masters, Evaluation:

Multiverse Dragon Masters is a 3d simulation and game based curriculum based in a virtually immersive learning environment. The pilot was designed for age groups with flexibility based on student level and ability, between 6-11 years olds (primary grades) for goal based learning. In addition the primary evaluation form was goal based evaluation (McNamara, 2008). This could be expanded to 12-15 (secondary grades) with evolving curriculum and for advance application with design tools for in world storybook and literary project creation. The pilot was tested by my two daughters, one age 9, and the other an adult home educator of preschool children, as well as two college associates.

My educational goals were to design projects and experiences that are personal and relevant to the learner. My 9 year old daughter whom is home instructed, is below her reading level for her age. The design of this pilot was with her special needs in mind, as well as to produce quality presentations through the use of technology that can be shared with the online community.

On both the website and in the virtual world graphics and text combine to increase the impact on learning. Using this principle the fact that the animation in virtual worlds is more engaging to children in an e-learning environment that a static text based or even interactive chat based website is supported(Clark & Mayer, 2016, p. 71) This is also based on the arousal that emotional attachment promotes learning. The virtual world environment allows for both synchronous and asynchronous learning, where the student can interact with the lesson plan independently or with the instructor, parent and/or other participants. One college associate commented that the title of “Multiverse Dragon Masters” created psychological engagement even before beginning the pilot project.

The supporting website also give additional asynchronous learning opportunities and lesson plan preparation. It allows for the application of the embodiment principle because the avatar programming mimics human gestures in line with live voice interactions, increasing stimulation contributing to learning (Clark & Mayer, 2016, p. 192). Virtual worlds can be individually designed to better adhere to the concurrency principle by avoiding streaming audio, music and ambient noises and using sounds only when beneficial for motivational engagement with the learning content. The individual avatar controls also allow for the content user to adjust sounds, movements and other features to align with personal preferences. In this the user can choose to eliminate ambient noise, sound effects, streaming music, etc. In a virtual world the importance of immersion is highlighted. It is a very specific platform with many possibilities but may not be appropriate for all learners. Deciding on an appropriate audience and content rating will also be essential in its development.

The redundancy principle is supported with this reduction in unnecessary audio when using visual text as the audio may reduce the knowledge absorbed from the lesson (Clark & Mayer, 2016, p. 139). Choosing only beneficial graphics and limiting the over use of graphic, as well as keeping word choice simple and concise are all conducive to learning according to the coherence principle (Clark & Mayer, 2016, p. 165) I can apply the contiguity principle in the virtual world environment by creating corresponding printed words with graphics or slide show with images and words, similar to an online storyboard. Points, tokes, prizes and awards through exploration, games and quizzes will instructors and parent gauge the success of the leaning platform.

Through my research one concern was that the personalizeation features in virtual worlds my become more of a distraction to learners and ultimately outweigh the educational benefits. (p.12, Dickey 2010) Allowing the 9 year old participant to make choices based upon limited selection, rather than teaching the technology tools of actual avatar design, I found that the pilot student was not distracted in the same way described by teachers in prior studies. In addition Personalization Principle, points out the benefits of these features in motivating students (Clark and Mayer, 2016). My adult daughter did report spending time working on her avatar and struggling with the technology aspect, in other words, she wanted to completely personalize her avatar but did not have the time to learn the technology. I ended up spending a few hours with her just to help her get her avatars appearance “just right”. With the two other college associates, I provided a ready made avatar and offered the options to adjust. I found with an avatar that was not “their own” they did not use the personalization features and simply continues with the lesson plan as laid out in the virtual world.

In this lesson plan the goal was to create a virtual world that encouraged reading in a game based environment. While working one on one with the 9 year old student she was motivated to read the story boards and read the quizzes for the opportunity to earn items she could then create her own story book scenes with. She enjoyed the idea of taking pictures of her creations with her own avatar as the main character. The one on one interaction in an online virtual world enhanced her motivation and interests in participating in reading chat and other required readings within the virtual platform in order to participate as she explored different areas and progressed through the game, learning to correctly identify words, and read simple to more advanced sentences throughout the virtual experience. The student was very interested in earning her own space to design in the virtual world, and kept asking me when I would be putting in more rewards, challenges and traps.

For this pilot program I planned a 30 minute walk through with 30 minutes of individual exploration. I had intended this to simulate the one on one goal of instruction. The college associate participants and myself were unable to coordinate schedules to meet online for this walk through. This impacted and lessened the affect of the pilot. Though I offered resources to aid in understanding the technology platform, time was a barrier and these resources were not utilized due to the learners time constraints. Instead I relied on the website resource and written support as an overall presentation of the game features and curriculum.

My adult daughter was able to meet with me one on one and this made her transition to a new technology format easier, thus enabling individual exploration. I will be creating an individualized pdf with visual screen shots as an improvement to the course as well as more training resources for new avatars within the virtual world. This will include a virtual orientation center that will teach movement controls and other aspects of the technology needed for success.

A parent teacher guide is also useful and I was able to implement many of these concepts into the starting point in the virtual world. Having these resources in world is essential and I will be developing PDFs of the same resources when applicable that specifically address subject matter concerning virtual worlds and the educational use of them for children on the companion website. Other parent guides resources include the user agreement both in world and on the website explaining the open access of virtual worlds and the responsibility of the parent and educator to supervise the sue of the virtual world. Help documentation such as how to create a child avatar and other useful tips and directions will also be available.

The subject content used in this virtual pilot began with reading and comprehension. In addition to reading literacy, digital literacy is also expanded though not a direct part of the lesson plan. Through observation I have seen improvement in the 9 year old student with technology use and in vocabulary recognition. The lack of technology skills with this new platform did surface as a barrier more so with the adult learners that the child learner in this pilot course. This supports the research that compared to the often problematic adaptation to new technologies experience by adults, children “…easily adapt to graphic and conceptual abstraction…often have extensive experience in navigating 3D spaces and discovering and exercising interface affordances” (p. 1 Roussou).

I was able to design the world then export it to a private server which is ideal for individual families who need added security and have privacy and safety concerns with online access. I then started from scratch, rebuilding the aspects I found most useful and continue with my experimentation in the online version. I have been exploring Sim on a Stick or “Simonastic” and other ready made servers such as Dreamworld and virtual world venues that do not require internet connections. Eventually I may want to move to a stand-alone platform such as can be found at www.Simonastick.com . In the future I can design and distribute an Oar file for download as an open source educational resource.

As an educator, creating a help sheet to assist learners in finding and setting controls for security and privacy would also be appropriate. This can be done real-time through virtual sessions using video, audio, or text. It can be done through the creation of PDFs that also have accessibility features built in, or it can be done by instructional video. Though the videos I have on my companion website were not specific to the pilot in terms of orientation, the college associate participants commented that the found the videos which addressed the ethics of using online virtual worlds with youth, aided them in their comfort level in taking the pilot course.

Through the first phase of this lesson plan students were able to explore the island, collect items for points, and take quizzes that rewarded for correct answers. The collection of “butterflies” awarded tokens and were accompanied by a notecard that provided instructions. The college associate participants expressed confusion at how to collect these tokens even with the written instructions. My adult daughter and 9 year old daughter benefited from a one on one demonstration. This reinforces the benefit of video tutorials in future designs. Story boards introduced the students to an underlying story plot. Students were also be able to create their own story line using screen shots, adding text and future participants could creating their own story boards that could be placed in world. Though these instructions were in world the college associate participants responded better to the pdf outline on the accompanying website than the in world resources. This identified that though students may find the virtual world a sufficient platform for information, the website and more traditional forms of content delivery may be essential for parent and teacher support. Students and parents can access the lesson plan online, again with parent supervision, will find resources and information will be presented on my current website Wopoli.com and eventually the option of my Facebook page. Future exploration of programs will also allow for quizzes to be saved or even emailed to the instructor. According to quality standards creating additional resources such as a netiquette guide (Quality Matters, 2014).

Resources

Briggs, D. C., Diaz-Bilello, E., Peck, F., Alzen, J., Chattergoon, R., Johnson, R., & …

University of Colorado at Boulder, C. (. (2015). Using a Learning Progression Framework to Assess and Evaluate Student Growth. National Center For The Improvement Of Educational Assessment

Carver, L. B. (2016). Teacher Perception of Barriers and Benefits in K-12 Technology Usage. Turkish Online Journal Of Educational Technology – TOJET, 15(1), 110-116. Retrieved on April 15, 2017, from https://eric.ed.gov/?id=EJ1086185

Clark, R., and Mayer, R. (2016) e-Learning and the Science of Instruction. John Wiley, and Sons Inc., Hoboken, N.J.

Davis, S. (2017). Multiverse dragon masters. Retrieved on April 16, 2017, from https://OSgrid/region/Multiverse%20Dragon%20Masters/164/137/23

Definitions in lesson plan (2015) Retrieved from https://www.oxforddictionaries.com/

ESRB, Entertainment Software Rating Board, retrieved from, https://www.esrb.org/ratings/ratings_guide.aspx

Dickey, M. (2011). The pragmatics of virtual worlds for K-12 educators: investigating the affordances and constraints of Active Worlds and Second Life with K-12 in-service teachers. Educational Technology Research & Development, 59(1), 1-20. doi:10.1007/s11423-010-9163-4. Retrieved on April 5, 2017, from http://eds.b.ebscohost.com.library.esc.edu/eds/pdfviewer/pdfviewer?vid=36&sid=817138c4-5817-4070-bc0c-c98ffbb32835%40sessionmgr104&hid=108

Hickey, D. d., Ingram-Goble, A. A., & Jameson, E. M. (2009). Designing Assessments and Assessing Designs in Virtual Educational Environments. Journal Of Science Education & Technology, 18(2), 187-208. doi:10.1007/s10956-008-9143-1

Kitely.com. (2013, August 27). Privacy policy. Retrieved on April 7, 2017, at

https://www.kitely.com/privacy (secure server).

Kitely.com. (2015, June 1). Terms of service. Retrieved on April 7, 2017, at https://www.kitely.com/terms (secure server)

McNamara, C. (n.d.) Basic Guide to Program Evaluation (Including Outcomes Evaluation). Authenticity Consulting, LLC. Retrieved from: http://managementhelp.org/evaluation/program-evaluation-guide.htm

O’Connor, Eileen. (2012). Next Generation Online: Advancing Learning Through Dynamic Design, Virtual and Web 2.0 Technologies, and Instructor Attitude. Journal Of Educational Technology Systems Vol. 41(1) 3-24, 2012-2013 Retreived on 11/24/2016 from http://eds.b.ebscohost.com.library.esc.edu/eds/pdfviewer/pdfviewer?sid=8d09219c-4a71-44ac-87cb-072527f5880b%40sessionmgr102&vid=1&hid=104

Poskurich, George M. (2015). Rapid Intructional Design. Wiley publications

Quality Matters (2014) Non-annotated Standards from the QM Higher Education Rubric, Fifth

Edition. Retrieved from: https://www.qualitymatters.org/sites/default/files/PDFs/StandardsfromtheQMHigherEducationRubric.pdf

Roussou, M. (2002). Immersive interactive virtual reality and informal education. Foundation of the Hellenic World. Retrieved on April 3, 2017, from http://ui4all.ics.forth.gr/i3SD2000/Roussou.PDF

Wiggins, G., & McTighe, J. (2005). Understanding by Design (Expanded ). Alexandria, US: Association for Supervision & Curriculum Development (ASCD). Retrieved from http://www.ebrary.com.library.esc.edu