Proving Pupil Progress is a key focus at our school, especially within lessons. So this is how Quest can prove it, for you, in your lessons, within the game itself.
Quest has a whole host of ways to display status updates. Setting questions, tasks and puzzles that require specialist knowledge has already been demonstrated by Tom Cole’s, in fact, this is how many IF titles operate. Another way to measure progress in a game is through player attributes.
Create a player attribute ‘Progress,’ set it to integer. Next display ‘Progress’ as a player status attribute.
Now when ever you wish to award progress points or XPs, go ahead and do so, adding these points to the player ‘Progress’ attribute. To reward desired game play add points to the attribute.
Here you can see points being added for picking up the mobile and taken off for dropping it.
You will be pleased to know that health and score already feature in the web editor – as the web editor already runs on 5.2 (out in a few months Alex expects).
Progress is right there in the game for anyone, and everyone to see.
Levelling Up
Levelling up is a little trickier but again it can be done. In this instance you need two player attributes, the player.progress points and player.level . Points are awarded for positive game player and we all know what points make. When the player reaches a certain number of points you level up. One last bit of explanation, at the moment you can do permanently display the icon. So I added an achievement attribute, and that achievement attribute just displays a description. Good news, Alex is reviewing this aspect of IF design in the web editor. Here you can see the process of two levelling up opportunities with icons and sounds and the associated achievement in text – RED STAR followed by YELLOW STAR.
<changedProgress type=”script”><![CDATA[
if (player.Progress>=3) {
if (player.level=0) {
player.level = 1
picture (“LVL_UP.png”)
play sound (“LVL_UP.mp3”, false, false)
picture (“01red.png”)
msg (“CONGRATULATIONS. You have been awarded your first achievement badge”)
player.Achievement = “RED STAR”
}
}
if (player.Progress>=8) {
if (player.Progress>=3) {
if (player.level=1) {
player.level = 2
picture (“LVL_UP.png”)
play sound (“LVL_UP.mp3”, false, false)
msg (“CONGRATULATIONS. You have been awarded your second achievement badge”)
player.Achievement = “YELLOW STAR”
picture (“02yellow.png”)
}
}
}
Now you hacve seen the code, one attribute tracks the players progress and the other sets the progress required to level up.
Notice that the file names are coded / numbered. This certainly helps when you are scheduling the rewards. Also, once levelling or achievements have been introduced to your game, it can be used them as criteria but which the game develops. Very much like keys to unlock a box. In TIMESLIDE I have ensured that the scanner access pad will only allow access if the player has reached the YELLOW STAR engineer rating. I may only allow them to operate machinery if they are a PURPLE STAR engineer. Of course, you can also set random awards for smart game play with icons, say problem solver, or creative thinker. It is not so much that these rewards are then stored and revisited, the endorphin hit has already made the player smile.
Certainly, it was the one features the student games designers wanted to explore at the Perins School workshops.
[qr_code_display]