Group Brainstorm-Group:Group 4

From CS 160 Fall 2008

Jump to: navigation, search

Contents

Group Members

Brainstorm and Idea Selection

Idea Description
1. Government game teach kids how government works, check-and-balance systems, etc
2. English listening game for ESLers and children
3. Typing game 1 type the word before the balloons fall into water
4. Typing game 2 tetris typing game, type letters before moving the blocks
5. RPG of some sort Teach users (mostly kids) to deal with social situations
6. Spelling + Math game Help user practice spelling and math
7. Eye exercise game Close by and far away object rendered with 3D techniques to help users train and/or relax their eyes
8. Speed Reading Exercises Timed sentences displaying to help users practice and improve reading speed
9. Astronomy game Educational game to demonstrate the solar system
10. Health education game Teaches human body, its functions and how to take care of it and what's bad for it by showing and quizes
11. Memory game sound + picture; have more than 1 pic&sound combination to memorize; lv.1 one combination, lv2 sequence of 2; a couple pics and sound sequence; help people to learn music & muscian & music history; esp. for visual learners
12. Reading game Reading comprehension possibly with multiple choices
13. Music learning game Help user to learn music notes
14. Dance teaching game Similar to DDR but with blinking floor tiles
15. Reaction game Button flashes and players react to click on them. Different items pop up at different spots, so players also need to make decision quickly for chooseing the bonus items and ignoring the undesirable one.
16. Fitness game Similar to wii fitness
17. History learning game Game is played with video clips to help students visualize events, and it can be combined w/ matching games to test students memory
18. Math game A game that help learning algebra, or geometry, and/or calculus, differential equations
19. Military game Similar to FPS (First Person Shooting) games that help soldiers train their reflexes, hand-eye coordination
20. Recycling game tetris-like: buckets at the bottom and player has to match a correct recycle/trash item to a correct bucket (cans, paper, trash)
21. Acronym recognition game base on the context to decide the meaning of a given acronym; add pictures to associate with the acronym and definitions
22. Puzzles A collection of puzzles that can develop player's logical skills
23. Programming game Teach machine cycles using laundry analogy; visual programming, combine things --loop inside loop; animate the algorithms
24. Driving simulation This sounds to be overdone.
25. Observing driver game watch someone drive (simulation), and evaluate; sort like playing a police oficer
26. Physics game game that needs to be played with physics knowledge. Correct answers will gain points and wrong ones lose points.
27. Combination game A game that combines more than one element in this list, such as memory game can also incorporate with reaction game
28. Money management game given a certain amount of money each cycle to spend and invest to build a house or something else as the goal.
29. Time management game recognize priority to maximize output. For example, go around booths in themepark with a time constraint - more booths visited = more points earned; each booth is weighted
30. Marketing game Selling one of several predefined types of products by combining different sets of available selling methods. Highest selling records will be saved into a "Best Score List".
31. Music history learning game Matching composer to a music piece after listening to a few pieces of music

Idea Selection Process

First of all, we entered all of our ideas by inputing them on the Google Spreadsheet [1] together, and each team member voted for 5 ideas to make the first round elimination.

We selected ideas with the following criteria:

  • Current existance of games with the same subject or purpose
  • Usefulness to the game players.
  • Potential Entertainment value of the game

First Round

2. English listening game
4. Typing game 2
7. Eye exercise game
11. Memory game
15. Reaction game
20. Recycling game
21. Acronym Recognition game
23. Programming game
29. Time management game


Second Round

11. Memory game
15. Reaction game
23. Programming game
29. Time management game


The last round was really hard to choose; the most votes went to programming game because we suffered in the past! Other reasons of choosing this are: This type of games have not been over-developed, and there are still a lot of potential to explore. Also, even though this type of games cannot teach players everything about programming, it can be a teaching aid in Computer Science introductory classes such as CS 61 series. We also learned from the Deep Dive video that we will combine the attractive elements from ideas into our propose solution.


Caption: Our idea selection session

Target User

Technology has lucratively integrated itself into everyone’s life. It would be a safe assumption to make that everyone has heard of the Internet, or have used products like Microsoft Office to facilitate their everyday tasks. And the major reason responsible for that success is due to the nonstop breakthroughs in computer science. Nowadays, whether you are a student in school or a professional businessman, you are a part of the ever-evolving technology. Naturally, as the interaction with computer science enlarges, the desire to be able to control it intensifies. Computer programming is the art of making a computer do what you want it to do. Programming lets you work with your mind to free yourself to create things that are interesting or useful instead of being limited by the confines of what others have done before, and even when using those other things, you'll find that you can better appreciate and understand them. The objective of this game is to ease an average Joe’s way into computer programming. The game should provide a fun, interactive way for anyone who is interested in learning programming. The game hopes to serve as entry-point to people who would like to get a taste of what programming is.

Problem Description

- Computer use is increasing in almost every field. Computing costs have been decreasing dramatically due to rapid developments in both hardware and software technologies.

- Computers are controlled by instructions (softwares) written to command the computer to perform actions and make decisions. Knowing how to arrange instructions will help someone customize his/her computer to work best for himself or herself. Learning to program might be hard if he/she picks a wrong language to start with or doesn't know where to start. Therefore this programming game will provide beginners a good start with Java.

Problem Context

Remember your first experience with programming? Yeah, the one where perhaps you had to print a pyramid or some other shapes in ASCII art... And how did you debug your first program? You probably had to walk through it on a piece of paper or even worse, you finished it using trial and error approach (the educated or not so educated guess).

Learning programming basics and concepts can be very challenging, especially for people who know nothing about computers, the newbies, kids. And the learning curve is pretty steep, since even though there are many reference manuals, tutorials and books, they are all language specific. So, while the student needs to focus on learning the concept, he/she spends a big deal of time studying syntax.

To speed up this process, a visual language can be used, which would eliminate the need to type syntactically correct code and compile it. The lego-like language, consisting of only cartoonish pieces/blocks can be fun to play with while learning computer programming, since every block or combination of blocks would correspond to some computer language's construct.

With such a language, learning beginning computer science will not only become easy, but also tons of fun. Therefore, such a game can be used concurrently with a CS course as a supplement or exercise tool or as a self supportive course in computer science.

Why Serious Games are a Good Technology for the Problem

Why serious game is a good technology for the problem? The targeted user groups:

  1. Students in elementary through secondary schools: Programming fundamental classes are scarce in pre-secondary and secondary education while many students hope to started early into the field. Most importantly, the majority of them would rather play than read books.
  2. Students in colleges: They want to equip themselves with the most basic skills in programming before taking off to the professional world with as little time as possible, but most of them do not major or minor in Computer Science to prepare themselves to work with software.
  3. Researchers and professions in any industry: Programming skills are demanded for processing mass data from their research and product development. This user group typically does not have time to dedicate a fix block of day time in learning general programming concepts in academic setting.

First, learners may want to repeatedly practice in order to fully understand programming concepts. Secondly, a serious game can be played at any time on their computers to have fun and learn at the same time. Such a game turns the tedious task of studying abstract concepts to an interesting game as entertainment while learning. Our targeted users are usually busy with work and family so that they would prefer something more entertaining than serious.

Solution Sketch

Click on images for larger view

  • Learning computer science involves learning the terminology, syntax, data types, data abstraction, and data structures. Using various game methods will encourate and facilitate this learning process and ease the user into computer science with the popular Java language.
  • Single Player
  • There are various levels, subdivided into different stages, each with increasing difficulty. Future levels are locked to invoke curiosity of future level types as well as restricts the player to a course of learning.
  • Memory games, such as card matching will be employed on levels designed to teach the player various terminology. Terms will have associated sounds and images to utilize senses that will help the player understand and remember the terms.
  • Code fixing: lines of code have fallen out of place and the player's goal is to put them back in the right order.
  • Patterns such as puzzle pieces can be used as backgrounds to various code fragments to help hint at where they should be placed.
  • Container matching/catching: e.g. Buckets with data types like byte, int, long, float, etc and falling numbers where the player has to sort the numbers into a right sized bucket that can hold the number - a number that's the size of an int will not fit into a byte container. Maybe the player can get bonus points for using the smallest container that can hold a particular number.
  • Machine part graphics can be associated with code fragments to show the correct building sequence of program lines.
  • Raw materials with a value can represent input variables passing through the machine with the product being the output of the program.
  • Multiplayer
  • All games utilized in the single player mode can be used in a multiplayer setting. Players can play against their friends in a time trial - whoever completes a particular level first wins.
  • The multiplayer setting encourages friendly competition and practice amongst peers.
  • Extras
  • Information about the game and how to use it.
  • Any additional games that we couldn't find a place for.
  • Player profile management and settings.
Personal tools