Project Goals

Our goal is to provide first and second year University students with a simple game that allows them to build the intuition and understanding of pointers as used in high level languages like C/C++. An educational game online could help motivate and engage these students to participate in a meaningful and educational activity and to explore key concepts outside of the classroom. Putting their theory into practice reinforces the theoretical elements and aids in their retention.

Friday, May 16, 2008

Designing User Interfaces for Games

Evaluation Techniques:

Cognitive Walkthrough
A successful game usually allows players to explore by trial-and-error. This should be taken into account when designing the game, to make sure the game (or at least initial levels) are solvable in this manner.

Think-Aloud Protocol
Ask testers to think aloud while they are working with the game sketch or prototype game to help figure out what they are thinking (expectations, frustrations, confusions) as they are presented with different elements of the game.

Fitt's Law
Reduce the distance between controls and increase the size to decrease the players' stress.

HCI Design Innovations in Entertainment Software

One of the four innovations of games this paper introduces is
"fluid system-human interaction -- games communicate information to users in ways that do not demands the user's attention and do not interrupt the flow of work"

From some of our game reviews, we decided that a real-time game would not be as successful at presenting information. In case we change that assessment, here's a couple points made on the system-human interaction that seem to be much more relevent to real-time and strategy games than turn-based or puzzle games (although there may be some elements that are transferable).

Calm Messaging
Unobtrusive messages do "not require users to dismiss, acknowledge, or address them." This allows the system to give the user messages while not necessarily interrupting them. Examples:

  • Audio -- prerecorded voice messages, or sound notifications
  • Transient text -- disappears on its own (scrolling messages, automatically removed)
  • Animation -- draws the user's eyes to a specific place (event notification in a mini-map)
These are, however, ineffective for out-of-game critical messages.

Attention-aware interface elements
Context-aware view behaviours

Game Interfaces

Important features of puzzle-adventure game interfaces

Navigation

  • Reversibility -- by allowing players to "undo" moves (generally in the same manner they were taken), exploration is considered to be more harmless and can be encouraged
  • Mystery -- by not revealing everything (example: an entire map) at once, players are forced to move through the game. Faster transportation between "zones" can be offered once the long way is found
  • Reality -- suspension of disbelief is assisted by making movement (characters, objects) take time instead of being instantaneous

Interaction

  • No error reports. The only actions players can make should all be legal. If it's illegal, the player shouldn't have the option to do it
  • Controls should be consistent. Only change the interface when the player makes a change
  • Corollary: objects with a timer (like bombs) break this rule, but are predictable
  • Consistency in similarity. Things (controls, objects) that look the same should have similar rules to help players learn about advanced mechanics
  • Immediate visual feedback
  • One window -- confine the game, everything outside of it is extraneous

There are other really interesting game tips (reality cues, general principles) on this site, but I was trying to focus on interface design and interaction with the player.

Sandy, the Ampersand



Elyse and I just started playing with art ideas. We had this one -- around the end of March -- and just fleshed it out a bit more.

Pointer Syntax

We will probably want to reference pointer syntax (in C?) in our game -- wikipedia does a really good job of explaining it, but I'd like to keep a copy in here for us (because some of it is so basic to what a pointer is, we could easily forget to add it to the game).


Definition -- "pointer" is a pointer to an integer:
  • int *pointer;

Initialization -- At this point, "pointer" could easily be invalid, so it needs to be initialized.

  • int *pointer = NULL;
"If a NULL pointer is deferenced, then a runtime error will occur and execution will stop likely with a segmentation fault."
Assignment -- Using the pointer:
  • int variable = 7;
  • int *pointer = NULL;
  • pointer = &variable;
Note where the * and & are located. We've just assigned "the value of [pointer] to the address of [variable]. For example, if [variable] is stored at memory location of 0x8130 then the value of [pointer] will be at 0x8130 after the assignment"
  • *pointer = 3;

Here we are changing the contents of "pointer" (at the memory address 0x8130 -- which is also still referenced by "variable") from 7 to 3. Printing the value of variable at this point would now output "3".

Week 2

May 10th-16th
Our second week, we made some final adjustments to our lab space. We set-up some additional hardware, and arranged to have the desk space needed for group discussions and scheduled meetings. We also made some alteration to the website so it was more presentable, and organized so that is was more user friendly. We met with Professor Gooch at the beginning of the week to discuss our progress and a rough agenda for the summer. She had us work on a detailed time line and present it to her in the middle of the week to be approved.

We further investigated some different styles of Game Design Documents, and discovered a template that best suited our project. The bottom of our website now has a section devoted to the document, that we can fill in later on.

Continuing our background research, it was now focused more on the educational aspect of games. We discovered some game like Invar® & Steel Alloys, where the captivating aspects and educational information was well balanced. However, we found others that were strongly lacking one or the other. Games like the Periodic Table Game, gave us a good example of a typical educational game, where it was too boring to engage the user. These games proved to be a good resource, but were not inviting to a university student.

During the background research, we found that one of the important element of the entertaining game was the sound. This prompted us to downloaded some audio editing software to familiarize ourselves with it, so we can easily create some of our own sounds for our game.

Later in the week, we met with Professor Bruce Gooch, now a professor at the University of Victoria, and the author of the book Non-Photorealistic Rendering. He will be teaching a Game Design course in July for high school students, and offered us the chance to use his class to help us gather data. This was a great opportunity to test our game on a large group of students, very close in age of our target audience. We made arrangements and adjusted our time line so that we are able to test our sketch and the content of our game on the summer game students. This will provide us with immediate feedback on the entertaining aspect, as well as the educational aspect. After making the appropriate adjustments, we will then generate a rough playable and test it once more with the same group of students, to see if the key concepts are actually retained after the game has been played. Additional testing can only help us to improve our game. After discussing this, we started thinking about some pre-test and post-testing questions we could ask the students. We created a section on our website where we can add some questions we think might be helpful in determining the strengths and weaknesses of our game.

Thursday, May 15, 2008

The Classroom of Popular Culture

What video games can teach us about making students want to learn
by James Paul Gee

Key points:
  • Under to subtitle Producers, Not Consumers, Gee talks about good game designers letting players "be producers, not just consumers". This could mean letting the player alter the game so that it fits his/her knowledge level (tutorial, beginner, intermediate, advances, etc.), and letting the player solve problems in several different ways.
  • "In good video games problems are well ordered, so that early ones lead the player to formulate hypotheses that work well for solving later, harder problems. " Leaving the user completely free to solve a difficult problem might help them generate a creative solution, but won't provide them with a good hypotheses for generating future code.
  • Get the player to think about how each step they take might affect their future actions. I think this principle is important for our game because of the material we are presenting. We must have the player constantly thinking about how a certain assignment would affect a location in memory, and how that assignment affects other variables and data.

Gee's 36 learning principles

Although these are oriented towards a k-12 audience, I think these element would be worth incorporating into our game to make it a powerful learning process.
Ones I thought stood out:
#1. Active, Critical Learning Principle - Doing and reflecting
#7 Committed Learning Principle - Putting out effort because they care (They won't want to learn if they are not motivated)
#12 Practice Principle - Being encouraged to practice
#13 Ongoing Learning Principle - Having to master new skills at each level
#14 “Regime Of Competence” Principle - Tasks being neither too easy nor too hard.
#15 Probing Principle - Doing, thinking and strategizing
#19 Intertextual Principle - Relating information
#22 Intuitive Knowledge Principle - Thinking intuitively
#24 Incremental Principle - Being led from easy problems to harder ones
#28 Discovery Principle - Trying rather than following instructions (avoid cluttering the levels is written instructions)
#29 Transfer Principle - Applying learning from problems to later ones

Wednesday, May 14, 2008

Life on the Edge

Life on the Edge:
The player as a professor, exploring different zones and discovering the animals, natural hazards and man-made problems of that area. At the end of each level, you answer a 'vital' question to see if you've retained the information.
This game gave me an idea of story line we could use for our game. We could have a character 'shrink down' and venture into the computer ( I thought because we are dealing with physical memory locations).

Strengths: The game presented plenty of important information. This game, if played well, does help the player retain some important facts for the subject. Because of all the reading that is done for each level, and the multiple choice question at the end, it's difficult NOT to retain anything.

Faults: There was too much text in this game to really fully immerse the user in the game-play. The introduction could have been more effective if, instead of the beeping, they used a voice over to explain the story line and goal.
Forgetting the fact that there was too much text to read in each level, the information was not presented in a way that would make the player WANT to read it. I did more dragging and clicking just to read the text than I did to play the actual game. There is not enough player activity to make this an entertaining game.
Also, there was not immediate feedback. The player only received feedback at the end of the level, after he/she would have read through through all the text.

Trying to Design a Truly Entertaining Game Can Defeat Even a Certified Genius

Article in Wired magazine: 16.04

It's best to learn by other people's mistakes...
A professor at Indiana University and a team of researchers designed a game called Arden: The World of William Shakespeare. This was designed to have players explore Elizabethan environment.
Ted Castronova, the professor, then studied the player's behavior. He came up with 5 tips for making a game that 'doesn't suck':
  • Don't be overly ambitious : He found that making the game realistic was quite a large task - we should be practical about how much detail we wish to include, considering the time line we put together.
  • Go Low Tech : Stick with a simple development platform. (We are already there - sticking with a simple software that we are familiar with (Game Maker, RPGMaker))
  • Think About Your Audience: He found that students who were not too familiar with Shakespeare found it boring. We should possibly be thinking about students who are not too familiar with computer science concepts, and what they would find interesting. One of our goals is to create a game that makes computer science appealing to all students (particularly females).
  • Get a Full-Time Staff (I think we can handle this)
  • Concede Screw-up: To keep in mind throughout the implementation process: Deal with problems as soon as possible (admit it and move on).

Tuesday, May 13, 2008

The use of computer games as an educational tool: identification of appropriate game types and game elements

Published in the British Journal of Education Technology
By Alan Amory, Kevin Niacher, Jacky Vincent and Claudia Adams

The method they used to determine what type of game is most enjoyed by undergraduate students was to have 20 students play 4 games of different types :
  • strategy
  • "shoot-em-up"
  • simulation
  • adventure
The students answered a questionnaire after the experience related to:
  • enjoyment (sounds, graphics,storyline, technology, etc.)
  • skills (logic, problem solving, memory, etc.)
  • game play (addictive, boring, too difficult, too easy, etc.)
The 3-D adventure game was ranked the highest in all aspects, along with the strategy game.
These 2 games we're also mentioned to have more interesting story lines. This supports the argument that such elements motivate the player, and promote effective learning.
Simulation game was ranted poorly by students (possibly due to a confusing interface and lack of immediate feedback).
(The effectiveness of the adventure game - see page 8 of pdf)

The study showed that the simulation game was the only one which proved to be difficult to play by the students. Also, all but the simulation game proved to be challenging and addictive.

Walking With Dinosaurs

This is an educational game about dinosaurs, and what they need to survive. The game required you to maintain a certain status (energy, weight an fitness) in order to survive run-ins with other animals.

This is a more complex game that requires some explanations as to what the players need to do in order t succeed. I thought it made the game-play much easier when my goals, and what sort of things I needed to accumulated, was clearly presented. The placement was also very helpful, so I didn't have to search the screen to find where my status was, etc.

Because the game was more complex than some other we have played, they were able integrate a status which the player needs to maintain. Having to maintain this status presents the player with small goals they need to reach throughout the game. This keeps the player attentive.
One thing we should examine is what type of in-game feedback works best, and what their effects are (scores, secret clues, bonus, etc.)

Faults:
There was not much storyline to this game, so it was not as appealing as it could have been. The introduction could have been elaborated to immerse the player in the game.
For most of the educational information, it did not appear in the window of the game, but opened up a new window to a different website. I found this somewhat frustrating (especially because the information was unavailable), because it distracted the player from the game.

Phoenix Quest

I remember playing these math and computer science based games a long time ago. I'm not planning on reviewing the entire game -- that would be a large task, and I think much of what they have managed to do is out of the scope of our project, but I think that some of the mini-games are still good ways to learn and practice math concepts.

I'm going to try to review the games in the general order they are unlocked in the game -- but as you have a lot of freedom in what you do, it's not going to be the only order possible.

Cave Maze Puzzle
The first puzzle you recieve.
A tiled maze. You have two rotations to create a complete path from the start to the finish. You complete the puzzle by dragging the character through your path.
I don't think this puzzle is very relevant to what we want to do.

Coin Puzzle
You are presented with a scale and a set of coins (the number of coins increases with the level of difficulty). You also have a number of times you may use the scale. Within that 'timeframe', you need to determine which coin is a different weight than all of the others, and whether it is heavier or lighter.
Initial difficulties give a chart that keeps track of all the information, partway through the chart will only list "good" or "bad" coins, but not the weight of the bad one, and the hardest difficulties remove the chart altogether.
This game has a good logical progression of information, and really ends up testing deductive reasoning. Not enough weighings are given to allow a trial-and-error approach to the puzzle.

Bees Puzzle
The character stands in the center of the screen with directional coordinates around him. There is a swarm of bees flying around which the character must hit with globs of honey. The character throws the honey in a coordinate direction that the player inputs.
Harder difficulties increase the number of bees and remove visual cues of the coordinates.
Again, I don't really feel this game suits our purposes, but it still has a good progression of difficulty.

Hexagon Puzzle
The player is presented with a hex-map where each hexagon has a number associated with it. The character starts on a "safe" number and has to cross from one side of the map to the other. The numbers follow a pattern including (but not limited to):
  • multiples
  • perfect squares
  • fibonacci sequences starting with x and y
  • linear progression
  • prime numbers
  • numbers that have a remainer of x when divided by y
A wrong choice will cause the character to "die" with a little animation (fire, spiders, venus flytrap) and reset the game to the last correct choice.
Harder difficulties decrease the amount of wrong choices you can make.
This game taught me all about fibonacci numbers when I was younger. I could spot fibonacci sequences like nobody's business. It is really good at teaching people to recognize patterns -- but only the patterns that they have (and the remainder business is surprisingly tough to get)

Puzzle puzzle
The player tries to unscramble phrases and enters them once they are legible enough. I remember this game being really easy because there were only a small number of phrases, and even scrambled you could figure out what they were. This game taught me how to properly spell "medicine", but that's about all I got out of it.
This is definitely not the sort of thing we want to do -- it also seems to be broken now, it doesn't work on either of my machines anymore.

Mask Puzzle
There is a mask on a grid system with some of the pieces displaced. The player controls little black and qhite robots by entering simple commands like "white, north 3, west 3, black, south 2, east 1, 6" with symbol beads. The player has a number of "runs" to finish putting the mask back together.
Harder difficulties add special squares that teleport the robots around or complete parts of the puzzle (trial-and-error is required to figure out what to activate and what to avoid) and allow fewer runs.
I think this is a good game -- it definitely requires some planning

Fishing Puzzle
This game is a lot like the bee puzzle, except that there is now also a distance involved. It requires a lot of trial and error to figure out distances and coordinates, and harder difficulties again remove some of the aids. Mistakes are 'rewarded' with garbage (old tires, rusty cans) that are discarded, correct angles and distances are rewarded with fish.
In later difficulties, a shark is added which is something that you can catch, but need to avoid.
I would put this in the same category as the bee puzzle, except that I like it better. It still doesn't suit our purposes, but the progrssion is good.

Spider Maze Puzzle
A bigger version of the Cave puzzle with one more rotation. 16x16 grid instead of 8x8.

Poison Puzzle
A game to teach about fractions and adding fractions. There are 5 zones on the map where you can get different items:
  • berries = 1/4 -- a turtle swims across a waterfall. You can pick up various numbers pf falling berries, sometimes too many
  • flower petals = 1/5 -- there are 5 flowers and four bees. The bees move randomly. You can only collect from the flower without the bee on it
  • jade = 1/6 -- the jade stream has many types of rocks in it. There is only one 'correct' type of jade that you need to pick out from the other rocks
  • spider legs = 1/8 -- the spider cave has one spider. He moves quickly until he has three legs left, then he's really slow. If you pick all his legs, he dies (my sound doesn't work anymore, he used to make this cute "bleeeeeeeeeeeeh"). This is not repeatable. If you pick all the legs, overfill your container and lose them, you can't get the spider back without restarting
  • seeds = 1/9 -- the seed tree is like an immobile spider. Once all nine seeds are picked, you can't get anymore
Each item has its own container where it shows the fraction in the lowest common terms (seeds would go "1/9", "2/9", "1/3"...), and there is a group container that adds all the components.

The first levels ask for a fraction and a type: "1/2 jar of spider legs"; "2/5 jar of petals"
The next levels ask for a simple fraction: "4/5 jar of anything"; "1/2 jar of anything"
For the second example, 1 petal and 2 spider legs work just as well as 3 jade
The next levels don't reduce the fraction: "6/8 jar of anything"; "4/12 jar of anything"
Earlier levels will turn the total into the full fraction, later ones leave it in the simplest form
The last levels need more complex reasoning: "13/15 jar of anything"; "5/18 jr of anything"
These often require advanced handling: "13/15 = 26/30 so I need 1/5 and 4/6"

This game has a really good progression of difficulty, preparing a player for the harder levels with the easier ones -- teaching them about creating the more difficult fractions with whats avaliable.

Paddy Puzzle
The player must connect rice paddies with water. Each ditch has a value, and the player most dig ditches to have everything connected under a target value. This teaches players about minimum spanning trees in graphs.
Harder difficulties add more edges.
This is a really simple and intuitive way to approach a much harder problem. I think that playing this game when I was younger has helped me pick up some of the concepts in my algorithms course easier.

Shrine Puzzle
The player must guide the character to four shrines then return to the start. Again, each edge is weighted, and the player must complete the puzzle with minimum weight. Again, this really helps with graph problems, and presents the Travelling Salesman in with a very small map.
Harder difficulties add more edges.
My analysis of this is again like the paddy puzzle.

Key Puzzle
This is a more complex version of the Mask Puzzle. Each robot now has its own string instead of a code, so they can move in unison. Some displaced blocks are now two-by-two and need both robots working together to move. A "wait" symbol has been added.
Higher difficulties again add special tiles and give fewer runs to complete the puzzle.
My analysis of this is the same as for the Mask Puzzle.

Logic Puzzle
My version is still buggy, so I can only play the first couple of difficulties.
The game presents two signs ("this door leads to a passage"; "this sign is not false") and a rule ("Both signs are true"; "Either both signs are true or both signs are false").
The player must first use the rule to decide if signs are true or false, and then click on the door with the passage.
I wish my copy wasn't buggy! This is a great mini-logic game.

Logic Puzzle 2
This is the same as Logic Puzzle, only now there are 3 doors. The signs are update to include more complex statements ("this door leads to a pit and door 2 leads to a pit"; "This door leads to a passage or door 1 leads to a pit")

Gears Puzzle
This game offers both a "playpen" part and a "challenge" part. There are two types gears, an outer gear and an inner gear. All of the outer gears are larger than the inner ones. The challenge presents a design and asks the player to find the gears that would make that design (if the inner gear was set inside the outer and made to spin around with a pencil on it).
I like that this game just lets you play with different sizes of gear. Again, my copy doesn't work very well -- it dies after the third game. I really like having the chance to experiment before you have to answer a question about the gears.

Stepping Stone Puzzle
The player must direct the character to stepping stones to get from one side of a river to the other. The stones all have relative positions with positive coordinates moving the character up or right on the grid and negative coordinates moving the character down or left. If the player takes too long, an alligator appears and swims after the player.
Harder difficulties remove the reference grid and add other stone types (like lily pads, which occasionally move around)

Strife
This is the final game. Throughout Phoenix Quest you can collect "Strife Cards" that are characters, equipment, or actions. Before the game you must pick 4 characters from your deck, and up to 40 cards from equipment and actions. Each character has their special action and two values, stamina and karma. Items and character actions are cost 1, and actions are cost 2 -- you have 3 points you can use in a round. The purpose of the game is to get all of your characters to max karma, or drop all of your opponents characters to below min stamina. When a character is below min stamina it is killed, and cannot be used to take actions.
Some actions can only be taken by characters in a certain karma/stamina range, this is shown on the card.
This is a very complex game, and probably of a different genre than we would want to make. It is still rather enjoyable, though.




Relevant link: http://www.cs.ubc.ca/nest/egems/phoenixquest.html

Periodic Table Game

The Periodic table game is more developed than the Element quiz game, with many different levels to choose form.

One tactic they used to present the technical terms : when the element chosen, the name would blow-up into larger text over the table. This was not as effective as it could have been, because the name of the element being blown-up was not clear. Because the larger, bold text just overlapped the other text on the screen, the spelling for the name was hard to make out. This would have been more effective if they blew-up the text in a different color bubble, that was opaque over the rest of the table.

We found that this game was a very good resource for students wanting to learn more about the elements, because of the extensive description given on the side. However, it did not seem to be an effective learning tool, because of it's lack of engagement capabilities.

Elementary Chemistry Quiz Games

This game presents the user with a periodic table, and some information about the elements on the side.
Element Group: Level L
Strong point:
I found that the way they chose to break this game up into a Learning level, and then level 1, 2, etc. was very effective in presenting the educational information. Implementing a 'tutorial level' first would give struggling students (or students who have not been introduced to the concept yet) a chance to review, or be introduced to the concept of pointers.

Level 1:
The game caters to students with difficulty in this subject. After the second time the user chose the wrong section of the periodic table to put a particular series, the correct blocks would flash so that they could place it correctly and continue. This would help students learn the correct place for the series, but without gaining any points from it. The game provides immediate feedback, so it is effective when in getting the information across.

Faults:
Contrary to the other games we have played, this game does not incorporate many of the entertaining components. What we have noticed is that having intriguing characters and a colorful interface is a key point in creating an entertaining game. This game had a very bland background with very simple images. The game was very successful in conveying the information, but it is not a very inviting game to a typical first or second year student.

Element Lab

Link: http://funschool.kaboose.com/formula-fusion/games/game_element_lab.html

A drag-and-drop game with three stages. I think this could be easily expanded into a harder game -- maybe give each stage a couple different levels to add in more elements and compounds.

Stage 1: Identify the Element Symbol with the Element Name
Stage 2: Identify the Compound Formula with the Compound Name
Stage 3: Complete the Compound by adding the correct Element

Later stages could includes building a compound from scratch, or actually putting a formula together (without them being given)

Can You Fill It?

Link: http://pbskids.org/cyberchase/games/liquidvolume/liquidvolume.html

You have a pot, and three different amounts you can choose to pour into one large container. You're trying to fill the container completely using the least number of pours possible.

I thought it was a neat sort of trial-and-error game...again it had colourful characters (which didn't change the game at all, but probably would make it more appealing to a younger player)

Lightning Librarian

Link: http://funschool.kaboose.com/fun-blaster/games/lightning-librarian.html

This was a fun memory game. There are 15 sets of coloured books, each with their own subject. You get about a minute to try to memorize the location of each subject. After that, a kid will come to the top of the screen thinking about a subject. You need to find the right book (the only penalty for an incorrect shelf is time) and return it to the kid. Unfortunately, the kid doesn't like waiting, and after some amount of time they'll get a thunderstorm over their head, then some fire, and then they'll leave. After five kids leave in a huff, you lose the game.

One of the really good things about this game was the difficulty level. After around 10 kids got their books, two children would come at the same time wanting different subjects. There was room for three kids, but I didn't extend playing it that far. I felt that the game waited long enough before requiring a better memory (you can't afford to take the time to check every shelf now) because I'm sure I could have continued.

The other thing I loved about this game was the characters -- the librarian and the kids. They were very cartoony, which probably makes the game more appealing to a younger audience.

For a memory-testing game, I think this was a very good one

Website

It seems we should have this website submitted by Thursday or Friday.
To satisfy the minimum requirements, we need to include description of our research project and goals, and allocate some space for our individual journals.
Here are some websites of some previous CDMP award recipients:
http://www.cra.org/Activities/craw/cdmp/awards/2007/2007.php
We could also include some other thing such as, a short description:
-of the objectives of the CDMP, and how we hope to further their goals.
-about ourselves (possibly upload a photo)
-about Amy and her work (photo)
-links to CSC department website, NSERC, etc.

Game Design Document

Here is the template we used in CSC212 for our game design document:
link:
http://www.gamasutra.com/features/19991019/ryan_pfv.htm