Creating Educational Gamelets. 1. Introduction. Clayton Lewis and Alexander Repenning University of Colorado at Boulder

Size: px
Start display at page:

Download "Creating Educational Gamelets. 1. Introduction. Clayton Lewis and Alexander Repenning University of Colorado at Boulder"

Transcription

1 Creating Educational Gamelets Clayton Lewis and Alexander Repenning University of Colorado at Boulder Abstract. Simple computer games, or gamelets, are within the reach of students and teachers to create. But how can they be made both educational and fun? This chapter offers advice from experience teaching game design for education to college students on supporting learning, making a game engaging, and implementing the game. 1. Introduction As Gee and others have argued (Gee, 2003; Squire and Jenkins, 2004), games offer some advantages as learning environments. Perhaps the strongest determinant of learning is time on task (Carroll, 1963; Bloom, 1974), the amount of time the learner spends processing the to-be-learned material. If this processing can be embedded in a game, and if the game is one that learners want to play, time on task is increased without extrinsic motivators, like rewards, punishments, or submission to authority. State-of-the-art commercial computer games are too difficult for amateurs to create. Much of the interest in games as learning vehicles has been focused on commercial computer games like Arcanum (Sierra Entertainment) or Deus Ex (Eidos Interactive). Proponents of the use of games of this kind point to successful deployments in military training applications (Macedonia, 2004). They also site the ability of these games to create a strong feeling of immersion in the world of the game, a phenomenon that may be very important when the to-be-learned material has cultural or linguistic aspects. Unfortunately commercial computer games require enormous effort to create, drawing on the skills of a large, multidisciplinary team. The commercial game Gears of War had a development budget of about $10M, and a staff of about 10 programmers and 20 artists for a two-year effort (Sweeney, 2006). While available tools are improving, and becoming easier to use (including tools for modding, or creating a new game by modifying an existing one), it is still not practical for a middle school math teacher, say, or a high school class, to create a game. Complex programming concepts and facility with 3D graphics are needed, along with artistic and narrative skills. Further, the sheer scale of commercial games, including the number of characters and the number of scenes, means that these games take a great deal of work to create. Gamelets are within reach of many amateurs, including teachers and students. Powerful as games like Arcanum and Deus Ex are, there are many much more modest games that have been and still are extremely popular. People invest countless hours in playing games with simple, 2D graphics and limited narrative scope, like Pacman, Mario Brothers, Tetris, Snood, or Sokoban ##cite publishers for all of these here##. We ll call

2 games in this class gamelets, to distinguish them from their more ambitious, and more complex, relatives. Good programming tools reduce the programming knowledge needed to create gamelets. The programming skills required to create gamelets are not difficult to master. There are a number of software systems that support this kind of programming, and ease the learning curve for gamelet creation. Examples include Pygames ( and Scrolling Game Development Kit ( In our own teaching of game design for education we ve had good luck with Agentsheets, a visual programming language developed by one of us (AR). While Agentsheets (see is not limited to gamelet programming, it is a good match to this task. It has also proved to be quite easy to learn: middle school students can make a good start on a gamelet in a workshop lasting a few hours. A program in Agentsheets consists of a grid of squares, in which play takes place; a gallery of characters and scene elements that can be placed in the grid, and that can be made to move around in it; and a collection of rules that define the behavior of the characters. For example, a character can be made to move to the right when the right arrow key is pressed, up when the up arrow is pressed, and so on. The rules that specify this behavior can be qualified to prevent the character from moving through an obstacle. Rules can be added to make a character delete another character when it moves next to it, and so on. A simple form of Pacman can be created with just a few rules like these. But creating a good educational gamelet adds significant further requirements. Tools like Agentsheets simplify the programming needed to create gamelets within reach of teachers and their students in the upper elementary grades and above. But this does not mean that it s easy to create a gamelet that players will learn from, and that they will want to play. There are three challenges in reaching this elusive goal: supporting learning; making the gamelet engaging; and creating the behaviors needed in the game. Only the last of these is supported by software tools like Agentsheets. To support learning a gamelet has to require players to process to-be-learned material during play. Depending on the nature of this material, it may be very difficult to embed it in a gamelet. As already mentioned, learning a language, or how to interact effectively in an unfamiliar cultural setting are candidates for more ambitious learning games, not for gamelets. For some other kinds of material, it may be possible to embed them in a gamelet, but not in a way that promotes deep processing of the material. For example, gamelets that work like flash cards, quizzing the learner on facts, can be created in many domains, and may be effective in motivating extensive practice with the quizzed materials as learners strive to score well on the quiz. But here the gamelet is just a framework in which material can be presented; playing the gamelet does not require the learner to think deeply about the material, or develop an understanding of it.

3 We have found that there are two approaches to creating engaging educational games to which our students, and other designers, are drawn. Both are problematic. Education-first Design: Here the initial focus is on learning. This design process starts with learning but gradually adds elements of engagement. A popular design approach used in education is backward design (Wiggins and McTighe, 2000). The backward design process starts with the identification of learning goals, then designs assessments and, finally, plans activities in support of the learning goals. But making these activities engaging is often difficult. Game-first Design Here the design is highly focused initially on motivational aspects such as engagement and fun (Koster, 2004). Most games have clever scaffolding mechanisms built in (Gee, 2004) allowing their users to gradually solve more complex problems. However, these mechanisms are typically used to learn about using the game itself and not about some educational topic. Adding educational value is often difficult. Figure 1 shows these two approaches starting from opposite foci, on engagement or on learning, and seeking an acceptable combination of the two in the middle ground. This is where successful designs must end up, offering both educational value and engagement. Figure 1. The Engagement / Learning Continuum. Educational Games should balance engagement and learning by combining game design with backward design The need to combine concerns of engagement and learning, as well as the requirement to build the gamelet, lead us to three fundamental design and implementation challenges discussed in this chapter: Challenge I: Supporting Learning Challenge II: Supporting Engagement Challenge III: Supporting Implementation The chapter offers advice in meeting these three challenges, distilled from our experience in teaching a course in gamelet design for education at the University of Colorado over the past five years. While we cannot guarantee success, we do believe that our advice will make it much more likely that new designers will have happy outcomes.

4 2. Challenge I: Supporting learning Creating a gamelet from which players will learn some specified material is not easy. An inventory of available educational games will confirm this: nearly all are quiz games in which answering questions or solving problems are embedded in a game structure. For example, a player may need to answer a question at each junction in a maze. If they want to complete the maze, they have to answer the questions. But notice that the questions or problems have nothing to do with the maze, and vice versa. Game play and learning are separate, not integrated. For example, thinking about strategies for getting through the maze more quickly will not help promote learning the associated material. ##this section to be revised by ralex and digi around digi s idea of a different diagram## Thinking of the intrinsic discrepancy between game play and learning we used the notion of the learning game angle as indicator of a mapping, or lack thereof, between a learning domain and a game domain. In Figure 2 below learning and game domain are represented as vectors. A small angle between the two domains indicates a high degree of a match (cos (alpha)!1). Simulation games tend to have small learning game angles. For instance, a car racing game, especially when enhanced with force feedback steering wheel & pedal controllers, can closely resemble the experience of driving a real car. Figure 2. learning game angle between game and education domain. Conversely, a learning game angle of 90 (cos (alpha) = 0) suggest conceptual orthogonality of learning and game domain. In other words the game domain and the learning game have nothing in common. In our gamelet design classes the term cheesy game has emerged to describe this kind of gamelet in which learning and game play are not integrated. It is a challenge to push oneself past the easy option of a cheesy game, but necessary if one wants to explore the potential of the computer to support learning in a deeper way than flashcards. An easy way to fall into the cheesy game trap, in our experience, is to start your design by basing it on an existing, popular game, like (say) Pacman. You almost certainly will not find that the material you want players to learn is naturally embedded in the play of Pacman, and to put it there you are very likely to end up with a cheesy game, for example by having the player answer a question to avoid being eaten by a ghost. If what you need is a quiz game, without deeper processing, fine... but go into this with your eyes open. If

5 the gameplay is entirely superfluous to the educational domain it may be preferable to employ a simple game concept involving a social dimension. For instance, an educational game based on knowing specific but unrelated facts about an educational domain may be more adequately mapped onto a social quiz game such as TV s Jeopardy (NBC). Learning is integrated with game play in simulation-based gamelets. Most gamelets create a simulated environment with which the player must interact. The player has certain controls, and must learn to operate them, and deal with the events that happen in the simulated environment, in such a way as to accomplish whatever goal is specified for winning the game. For example, in Pacman the player has to learn how to move about the maze, collecting food items, while evading the ghosts. Learning about the various food items and their value, and learning how the ghosts behave, is necessary to successful play. Learning about the Pacman environment is integrated into the play of the game. The more you play, the more you learn (though the rate of learning new concepts will taper off with extended play.) This is a happy educational situation, except that there is very little value of understanding the Pacman environment outside the game itself. The design direction we recommend is to replace the meaningless Pacman environment with an environment whose rules have educational value. In this way, the more you play, the more you learn about something worth knowing. For example, in the Bridge Buildergamelet (a screen shot is included in Table 1, below) players have to remove as many bricks as possible from a bridge, without the bridge collapsing. The structural behavior of the bridge is simulated, so that the effects of removing bricks are appropriately modeled. As students play the game, they are learning about how structures behave, not what Pacman and the ghosts do. Design starts with a simulation of a domain of interest. Given an educational goal, such as understanding how current flows through a circuit, the first step is to design a simulation in which the relevant objects, circuit elements in this case, and their behaviors, how current flows through them, is represented. You also need to consider whether you can implement the simulation, using the software tools you command. The AgentSheets tool is good for simulating the behavior of discrete things that can be placed in a grid, interact with nearby things, change state, and move in simple ways. The circuit example can be handled easily, as can many other simulations, as illustrated by the examples listed in Table 1. On the other hand, simulations that depend on the details of movement or changes in shape, for example of a pendulum, or a mechanical linkage, would require techniques we don t consider here, and a programming tool different from AgentSheets.

6 Table 1. AgentSheets Simulations Interactive Illustrations K-12 Education: High School How does a TV work? This simulation illustrates how a picture is scanned in by a camera (left), transmitted to a TV set and converted back in to a picture (right). Users can paint their own pictures and play with TV signal processing parameters. Deconstruction Kits Interactive Story Telling: History students create interactive stories of historical events such as the Montgomery bus boycott. Scientific Modelling Learning by taking apart: What makes a bridge stable? The goal presented to the users of this simulation is to remove as many elements of the bridge as possible without making the bridge collapse. A number of connected issues are revealed including forces, architecture, and geometric perspective. This simulation was featured on the PBS Mathline. Educational Games Learning by visualization and modeling: The effects of microgravity onto E.coli bacteria are modelled by NASA. This is a simulation of an experiment that was aboard the Space Shuttle with John Glenn. This simulaton requires several thousand agents. Non-Educational Games Learning through simulation use: This simple voting simulation explains concepts such as clustering, migration and stability of two party systems. Can it predict the outcome of the election in 2008? Learning through design: Even if the finished simulation/game is not directly related to educational goals, the process of building the simulation may be very educational. The Ultimate Pacman is a complete game based on complex Artificial Intelligence algorithms and the non-trivial math of diffusion processes. If the topic you want players to learn can t be easily embedded in a simulation that you can implement, a gamelet may not be your best choice of pedagogical vehicle. If you really want the time on task that gamelets can offer, you may need to consider using a cheesy gamelet. Converting a simulation to a gamelet requires controls for the learner, and a goal structure. The educational aim of a simulation-based gamelet is to reward players for developing more understanding of the domain being simulated. This happens when their understanding of the simulation lets them choose control actions so as to accomplish a

7 designated goal. If the simulation, the controls, and the structure of goals are appropriate, it won t be possible for a player to accomplish the goal without understanding the domain. For example, in a circuit simulation, we can set up a circuit in which the player controls the settings of a collection of switches, and a lamp will light for some settings of the switches but not for others. If we make lighting the lamp the goal, learners who understand more about how switches work in a network will more easily be able to make the lamp light than players who do not. Consider the example switch network shown in Figure 1. The lamp will light if the switch to the left is closed. But notice that the lamp will also light if all the switches are closed. A player who learns to win the game in this way doesn t have to understand very much about how switching networks operate, thus defeating the educational aim of the gamelet. Alexander Repenning! 7/12/07 2:29 PM Comment: Use this to edit image: pplet01_01/index.html Figure 3. Three switches to control bulb. A modification to the gamelet that avoids this problem is to elaborate the goal. Rather than winning by finding any setting of the switches that lights the lamp, we can require players to find the settings that require changing the smallest number of switches. For instance if the circuit starts with all the switches open then operating the switch to the left will be the unique solution. Now it becomes nearly impossible for a player to win without understanding fully how current flows through the network. This example illustrates a general principle. Very often, the learning demands of successful play are increased if the criterion for success is tightened from finding any sequence of control actions that realizes some goal, to finding a sequence that is optimal in some sense, in this case, a sequence that requires as few moves as possible. A second example of this principle is the AgentSheets Bridge Builder mentioned earlier. Users of this gamelet build a bridge from individual bricks. Just playing around with the simulation is not likely to result in much learning. However, adding the criterion of finding the smallest number of bricks usually radically alters the behavior of the users.

8 The users will try to interpret the bridge force visualization feedback of the simulation to design the optimal bridge. Nothing changes about the simulation itself but the criterion makes the difference between playing around with a toy and engaging in an educational process. Encouraging players to reflect on the gamelet, and to communicate about it, can also enhance its educational value. Skills learned in a game will not transfer to other situations as well as declarative knowledge, knowledge the player can articulate, about the game (Singley and Anderson, 1989). So promoting the formulation of declarative knowledge is very important. Embedding your gamelet in an activity that requires this may therefore be a good idea. For example, you could ask learners to participate in a team competition, made up of series of pairwise contests. Players in later contests would have no access to the gamelet before their turn to play, but earlier players would be allowed to brief them on best play. In this way players are rewarded for being able to formulate and articulate insights into the gamelet (which, in turn, one intends to be insights into the domain of the simulation.) 2.1 Example: A simulation for learning about circuits. As already discussed, the simulation shown in Figure 3 can be made the basis of a gamelet. We can add more switches, and perhaps more lamps, creating a situation that is more challenging for learners to analyze. The control actions will be opening and closing switches, and the goal will relate to making bulbs light or not light. What we ask of the simulation is that it faithfully reflect the effects of player actions, by making simulated bulbs light or not, as they would in a real circuit, for each setting of the switches. 3. Challenge II: Supporting Engagement The educational effectiveness of gamelets comes from time on task: given that people are learning while playing, you want them to play a lot. Now that you have a simulation, user controls, and a goal, how can you make it likely that players will want to play your game, and keep playing? Because we ve started with a simulation, and not with some existing game idea (we don t want to fall into the cheesy game trap) it s up to us to make our game something people want to play... we can t just copy a popular game. Rather, we have to understand what makes popular games popular. The desire to play is usually connected with pleasure (see game designer Marc LeBlanc (quoted in Salen and Zimmerman, Rules of Play: Game Design Fundamentals, MIT Press, 2004, p334). But pleasure may not actually be the key concept in motivating game play. Many people play solitaire card games that they would not describe as very stimulating, yet play can be sustained, and even addictive, in the sense that some players have trouble limiting their playing time. We will use the broader term engagement to refer to those aspects of a game that make people keep playing, whether the game is fun, enjoyable, pleasurable, or not.

9 Here are features that seem to be responsible for sustained engagement in many games, and that can be incorporated in gamelets. We ve compiled this list from our own analysis of engaging games, and from analyses our students have contributed of games they find engaging. Competition. For some people, competing against someone face to face, or against a highest score list, or against a personal best, promotes engagement. Goals with tuned difficulty level. If a gamelet's goal is too easy to attain the game will be boring; if too difficult, it will be frustrating. Since people get better with practice, especially in an educational gamelet, there has to be some way to escalate the difficulty to compensate. Many games do this with explicit levels; some do it with automatic difficulty changes based on player performance. The main difficulty appears to be able to balance skills and challenges similar to the notion of flow suggested by Csikszentmihalyi (Csikszentmihalyi 1991). Partial reinforcement. Though it violates common sense, it is very clear from a great deal of data that rewarding someone for their behavior occasionally creates much more dedication to a task than rewarding them consistently. This is related to difficulty level: if you win every time the game is too easy; if you never win you can get discouraged, but if you win occasionally you may stay with game for a long time. This is an old, robust finding in psychology, going back to Skinner (1938). Progress toward the goal. Engagement seems to be increased if you can identify clear progress towards the goal, even if you don't ultimately win. Like the goal itself, progress should be neither too easy nor too hard. In baseball, getting on base is progress, and scoring a run is more progress, but neither one in itself constitutes winning. In a solitaire game, exposing a buried card constitutes progress. One analysis of the progress effect is that since it takes work to make progress, you don't want to waste the effort you have invested by quitting the game before the end, if you have made some progress. Another analysis is that you feel rewarded for making progress, so you feel good about the game even if you don't win. Emergent events. In many games, every now and then something interesting, and favorable, emerges: it just happens, more or less automatically, when the player does the right things. In the gamelet Snood, every now and then a hit causes a bunch of snoods to be released, not just the one you hit, if you have hit the right things to set this up. In many solitaire games you may be able to play off a bunch at cards on one play, also if you have set things up right. In Tetris a block falling in the right place can produce a kind if cascade of level clearing. Having these things happen may act as intermediate rewards during play, and help to sustain your interest. (Again, the partial reinforcement idea says these things will be more effective if they don't happen too often.) We ve noted some other gamelet attributes that seem to influence engagement. You may want to consider these, but that have not been as important in the designs in our classes as

10 those we ve presented. Balance of chance and skill: Injection of luck into a game can make it less repetitive, and reduce the stress associated with failure. Collecting: In some games in you collect things; the drive to complete a collection can promote engagement. Narrative and character attachment are illustrated in the Zoombini ##I d prefer to give the reference, not the publisher, here, because the publisher wasn t the actual developer## games (Hancock and Osterweil, 1996). These games embed a bunch of logic puzzles in a narrative frame in which the Zoombinis, little pygmy-like creatures, need to escape from their island, and the puzzles are set as challenges they have to figure out to cross rivers, etc. There's some reason to think that the narrative frame helps to sustain interest (but see Cukier, 2006). Observation of Zoombini players revealed a further aspect of engagement. The Zoombinis are built from combinations of separate attributes (what kind of hair, what kind of shoes, what kind of glasses, and the like.) They are really just tokens in various logic puzzles that hinge on discovering what combination of attributes pass some test. But, unexpectedly for the designers, play testing showed that some players chose favorite Zoombinis and paid special attention to the fate of their favorite character, a source of engagement. Social engagement: Some games are fun because of the interactions players have with one another while playing. Social forces may also act to encourage continued play rather than quitting. 3.1 Applying the principles of engagement to the electric circuit gamelet. Returning to our circuit game, we can develop it as follows. Progress toward the goal. Introduce a clock that runs when a certain bulb lights. Change the goal from making the bulb light, to making the clock register a given total time. By watching the clock advance, the player can tell when they are making progress toward the goal. Competition. Introduce a (robot) opponent who goes around the circuit changing switches so as to keep the player s lamp from lighting. Goals with tuned difficulty level. Two ideas here: the robot opponent can be given different degrees of smarts, and the circuit can be made more or less complex. Adjustments in difficulty can also be made by changing how far the player s clock has to run. Partial reinforcement. This can be achieved by adjusting the difficulty level, as above, so that it is neither too hard nor too easy to win. Emergent events. This is a weakness of the design so far. One idea for improvement would be to introduce relays, which are switches controlled by current in other parts of the circuit. It might be possible to arrange circuits such that if you got current to a certain place, a whole series of relays would be triggered, opening a path for current toward your clock. A way to arrange this without a clutter of wires would be to assign colors to the

11 switches, and to place actuators with corresponding colors in various places in the network. The behavior would be that when current reaches an actuator, all switches of that color close. Since these changes could affect other actuators, there would sometimes be a cascade of changes. Narrative. Associate your clock with a rocket launch. You are trying to launch the rocket, and the robot opponent is trying to prevent the launch. 4. Challenge III: Implementing the gamelet As we mentioned earlier, using appropriate programming tools brings game creation within reach of people with little or no programming experience. This aspect of creating an educational gamelet can actually be easier than people often think it is, unlike making the gamelet educational, and making it engaging. ##oops... forgot that Chris was going to edit this section... anyway, here s me go at it ## The right tools will allow designers to very quickly sketch out and create working prototypes. We found that students created the best educational games when they had the time and opportunity through the semester to develop, playtest, and if necessary abandon their educational game ideas. It works against this result that many computer science students start a game design course with the hope of creating sophisticated 3D games. But the right tools are not yet available to support this, within the time available in a one-semester course. Building games from low-level APIs such as OpenGL or Direct-X requires a lot of experience. Using high level game engines is not trivial either and also requires a lot of experience. As a result, students don t have the time they need to shape their game concept. Rather, their time is spent implementing ideas that really don t work out. The result is a game that may look nice, but is neither educational nor engaging. We ve gotten the best results when using our own AgentSheets tool. It allows students to very quickly prototype game ideas, while at the same time forcing them to keep content simple. We ask the students to build their first working prototype in just two weeks. They then go to a middle school to test their game for engagement and learning. Middle school students are merciless reviewers. This project timetable allows the students to abandon game concepts that don t work out, with time to develop a superior alternative. If there is a tradeoff between a sophisticated look in a game, and educational effectiveness, we lean heavily towards effectiveness. It is much easier to improve the look of an effective game than it is to salvage a flawed game concept, however polished the implementation looks. As time goes on, better tools will reshape the tradeoff. It will become easier to produce a polished look faster, so that necessary changes can still be made. For example, new tools may make it possible to create some 3D games with the sample level of effort now required for 2D (Repenning, AgentCubes 2006).

12 Game Pattern But before plunging into implementing a gamelet, it s very helpful to have a way of organizing the work. Knowing how behaviors that often come up in gamelets can be programmed, and basing your work on these techniques, is a good approach. We ve organized this knowledge into patterns: descriptions of common behaviors, together with recommended ways of programming them. We concentrate on patterns that (in our experience) are a little tricky for people new to programming. The patterns we describe here assume that your gamelet program has a collection of entities called agents that exist in a space, can change their appearance and state, and move around. These agents are typically organized in a grid. At each grid location there is a stack of agents. We also assume that agents communicate by sending messages to one another, and that an agent responds to a message by executing a sequence of actions called a method. For more advanced patterns we ll also assume that agents can have numerical attributes. These concepts and terminology fit the Agentsheets system, but can be used to organize programs in any object-oriented framework. Although we use concepts appropriate to Agentsheets here, we will not present a complete introduction to that system. Tutorial materials can be found on the Web at Basic Behavior Patterns The basic patterns can be conceptualized as interactions between stacks of agents organized in a grid. The agents may move around, representing objects in the game world. Collision happens. An example of the collision pattern occurs in the gamelet Frogger ##fill in publisher##, where it can happen that a moving truck hits a frog. The truck wants to continue driving to the right but the frog is in the way. The live frog needs to be replaced by a dead frog when this One way to program this effect is to make the truck agent check for a frog agent directly ahead, and, if it finds one, operate on it so as to replace the live frog with a dead one. Instead of using language or system specific representations to capture this behavior we employ a UML ##do we want to keep this pointed to UML? if so, presumably need a reference, and some explanation for readers who haven t heard of it## sequence diagram to illustrate the interaction between the truck and the frog. In this approach (Figure 4) the truck does everything: it detects the frog and determines what is done with it. If there are many different things the truck can hit, with different effects (for example if the truck hits

13 a car, the car probably doesn t turn into a dead frog), all of this has to be specified in the behavior for the truck. ##note: Chris wants a time arrow like that in Fig 5 added to Fig 4## ##also we have to decide whether to keep play sound in the example or remove it from the diagrams## Figure 4. Truck perspective: truck looks for frog It seems more natural to make the frog deal with the consequences of being hit. A second approach (Figure 5), that implements this idea, is for the frog to detect the approaching truck, and, if it detects one, to take the appropriate action, in this case turning itself into a dead frog. Now it s the frog that s doing everything: detecting the truck and taking action. If there are different things that can hit the frog, for example cars and buses as well as trucks, the frog has to be programmed to detect all of them. Figure 5. Frog perspective: frog looks for truck The recommended approach is a kind of blending of the truck-centered and frog-centered approaches. It looks a little more complicated at first, but deals more naturally with situations in which several kinds of things may collide with several kinds of things. The idea is that collision behavior is divided between the truck and the frog. The truck detects the frog (or anything else it may collide with) and sends a message (say,

14 impact ) to the frog. The frog then responds to this message by changing itself to a dead frog. This diagram shows the sequence of events: trucks sees frog, truck sends impact message to frog. The frog reacts by changing its look to dead frog, and erases itself. Figure 6. Using a method. Truck looks for frog and sends a impact message if it sees one. Push Another common behavior is pushing. In the game of Sokoban a person is supposed to push boxes around a maze onto targets. The box should only move if there is a space to move into. If the box is blocked because it is facing a wall in the direction of the push then neither it not the person pushing it should move. A simple solution pattern distributes the responsibility of checking for walls and moving between the person and the box agent (Figure 7). Our situation from left to right is a person, a box and a target. The user tries to push the box via the person agent to the right. First the person checks if it sees a box to the right. If so it sends a push_right message to the box. The box reacts by checking to its right if to see if there is room to move. There is room to the right. The box moves itself to the right and sends a move_right message to the person, making the person move to the right as well. ##change wording in diagram from target to room to move ##

15 Figure 7. UML Diagram of Pushing a Box in Sokoban Game A simple modification will allow the person to move more boxes. When a box receives the push_right message it could check for another box to the right. If there is another box then it would send the push right message to that (which would send it on to any box on its right, and so on). When a box receives the push right message and has room to move, it would move itself, and send a move right message to the box or person to its left. The scheme can be further refined to limit the number of boxes that can be pushed. A numerical attribute called strength defined by the person can be propagated and decremented from left to right. If strength reaches zero in a line of boxes the propagation of messages is blocked, and nothing moves. Transport Suppose one agent needs to carry another agent as it moves. After moving right, say, the transporting agent should send a move right message to the transported agent on top of it (if there is one). The transported agent moves right when it receives that message. An example would be the logs in Frogger ##publisher filled in earlier##. Say there is a log floating on top of water, with a frog on top of it. The log moves to the right but should transport anything on top of it. Before the log moves, it checks if there is a frog on top of it. If there is, the log moves to right and then sends a message to make the frog move to the right as well. The log needs to move before the frog to preserve the order of the stack of agents: if the frog moves before the log it would be covered by the log. Generate In many gamelet situations one agent needs to generate a stream of other agents that move away, for example vehicles coming out of a tunnel, or electrons coming from an electron gun. The recommended approach is to make the generator agent create a generated agent next to itself (say to the right), with some probability. The generated agents, once created, move away to the right. Absorb This is the opposite of the generate pattern. Here something needs to absorb a stream of agents, for example a tunnel mouth absorbing vehicles, or a target absorbing electrons.

16 The recommended approach is that the to-be-absorbed agents look for the absorber jus ahead as they move. If the detect it, they erase themselves. Choreography Sometimes a whole collection of agents need to perform the same sequence of actions. For example, the whole fleet of space ships in the gamelet shown in Figure 8 need to move in unison, to the left, right, and down. The recommended approach to this problem is to create a master agent (the mother ship shown at the top of the figure, in the Space Invaders example), and make the master agent broadcast messages that indicate the required actions. These messages will be sent to all agents of a certain kind, in our case the spaceship agents. Figure 8. Space Invaders ##publisher## Polling Suppose some action needs to be triggered by information gathered from many places in your gamelet. For example, there may be a number of monsters roving around the gamelet, and the gamelet should end when no monsters survive. How can you tell when none are left? Create a polling agent, and a variable that all agents can access (a global variable in Agentsheets.) The polling agent sets the variable to zero, broadcasts a sign in message, and sends itself a check message. Each monster agent responds to the sign in message by setting the variable to 1. The polling agent responds to the check message by testing the global variable: if its value is zero, there can t be any monsters left, and the game should end. (For this to work, your program has to make sure that all agents have a chance to respond to the sign in message before the polling agent makes its check.)

17 4.2 More Complex Patterns The patterns above, along with basic programming ideas that are easy for beginners to pick up, are adequate for building many simple gamelets. Here we present some more sophisticated patterns that take more effort to understand and implement, but pay big dividends in power. They can produce effects that are beyond the reach of most commercial gamelets. Diffusion In the circuit game we need a way to tell when an uninterrupted path exists from the power source to a lamp, given that switches along the way can be open or closed, and given that the current can flow along many alternative paths. How can our program determine this? Each wire segment, represented as agent, has a number of attributes including a voltage. Segments that are connected to either the + or lead of the battery will assume the voltage of the lead that they are connected to, e.g., 12 volt or 0 volt. Wires connected to resistors, including lamps, will compute their voltage based on all the resistor values and voltages of other wires that they are connected to through these resistors. Specifically, the voltage u of a wire segment connected to n other wire segments with voltages u i through resistors r i will be computed by Equation 1. Equation 1. Voltage u of a wire segment connected to n other segments, according to Kirchhoff s Laws. u = n " i=1 n " u i r i 1 i=1 r i These equations, relating the voltages in all the wire segments in a circuit, could be solved using a approach like Gaussian elimination. But in a distributed simulation based on autonomous agents there is an easier method. The Kirchhoff equation can be employed as part of what is called a diffusion process. Each wire segment will continuously recompute the above Kirchhoff equation to update its own voltage, given the current voltages computed by its neighbors. Over time, each wire segment s calculated voltage will converge to the correct value. If the resistances between wire segments are all the same, Equation 1 becomes simpler: the value of u becomes simply the average of the u values for the neighboring nodes. When each cell in a grid calculates the value of some attribute by averaging the attributes of its neighbors, the attribute values diffuse through the grid.

18 In the circuit simulation, a switch blocks diffusion (it tells the wires connected to it that it has voltage 0). A closed switch acts like a piece of wire, and participates normally in the diffusion. As a result the diffusion pattern responds in the right way to changes in switch settings. If the player closes an open switch, or opens a closed switch, the diffusion values representing voltage converge quickly to their new values. Seeking The diffusion pattern can be extended to allow an agent to move towards some objective in a complex environment like a maze. For example, the ghosts in Pacman can easily be made to chase the Pacman character more effectively than is seen in common versions of that gamelet. To implement this behavior, floor of the maze is made up of agents; think of these as floor tiles. The tiles have an attribute, called (say) Pacman-scent as called for in the diffusion pattern, set initially to zero. The Pacman character sets the Pacman-scent attribute of whatever tile it is on top of to a large value. As the program runs, each tile resets its Pacman-scent attribute to the average of any neighboring tiles. Adjacent barriers have no Pacman-scent attribute, and contribute zero to this average. Now higher values of Pacman-scent diffuse out through the maze from the current location of the Pacman, and change as the Pacman moves around. The seeking behavior of a ghost can be guided by these Pacman-scent values. The ghost should compare the scent values of the tiles it could move onto, and choose the tile that with the highest Pacman-scent. This hill climbing behavior, moving up the gradient of Pacman-scent, moves the ghost closer to the Pacman, no matter how complex the maze is between the ghost and the Pacman. For example, the ghost will actually move away from the Pacman, if this is needed to go around obstacles between it and the Pacman. Ghosts in common Pacman implementations aren t this clever. This approach to programming seeking behavior is an example of the antiobjects idea see Rather than being located in the active seeker agent, seeking behavior is largely implemented in the programming for the seemingly passive floor tiles: it s the diffusion carried on by the floor tiles that guides what the seeker does. Collaborative Diffusion Diffusion and seeking can support remarkable cooperative behaviors of agents, with just a little elaboration. Suppose that there are multiple ghosts pursuing the same Pacman. If the ghosts are given the extra behavior that they set Pacman-scent attribute of the tiles they are on to zero, each ghost now blocks the diffusion on its way to other ghosts. This has the effect of redirecting the other ghosts to follow paths toward the Pacman, that this

19 ghost is not covering. For example, if there is an obstacle between the Pacman and the ghosts, and one ghost is going around the left side of the obstacle, the other ghosts will tend to go around the right side, because the diffusion of Pacman-scent around the left side is suppressed by the first ghost. This cooperation among the ghosts is so good as to seem unfair! As described in Repenning (2006), collaborative diffusion can be used to create even more sophisticated interactions among agents. For example, in a soccer simulation, diffusions from the ball, from the two goals, and from players on the two teams can produce remarkable coordination among the movements of the simulated players. Multiple Needs Diffusion patterns can be combined to produce complex behaviors like that seen in the Sims games ##publisher##, where characters pursue a variety of needs, like food, entertainment, and social interaction. Agents that support these needs, like a refrigerator (for food), a TV (for entertainment), and other characters (for social stimulation), diffuse different kinds of scent through the environment. To do this, the floor tiles have multiple attributes, corresponding to the various needs, and they diffuse all of them as the program runs.

20 Figure 9. Collaborative Diffusion with Multiple Needs Agents representing characters now move up the gradients created by these diffusions, deciding which gradient to climb depending on their current needs. A character can have an attribute representing the level of each need, set to a low value when a need is satisfied, and then increasing as time passes. The character decides which gradient to climb by comparing the levels of its needs. For example, when a character reaches the refrigerator, its food need attribute would be set to a low level. This would make it move away from the refrigerator, driven by some other need, say entertainment, climbing a gradient that might take it to a TV (Figure 9). ##need explanation of what is being diffused in the figure## The choice of which gradient to climb can be made more complicated. Hierarchical goal structures can help to prioritize goals for program agents in a way that is perceived as rational behavior. 4.3 Patterns in the circuit gamelet.

21 An implementation of the circtui gamelet we ve sketched as our design example would use several of these patterns. As already suggested, it would use diffusion to determine the voltages in the network, in such a way that the voltages change in the right way when switches are opened or closed. To show an animation of current flow, the generate pattern would be used at the input to the network, to provide a supply of electrons. The electrons would use the seeking pattern to determine where to go, following the pattern of voltages. When (if) electrons reach a lamp the absorb pattern would get rid of them (unless the simulation is meant to show electrons returning via a ground connection.) A simple form of robot opponent would move randomly over the network, changing switches when it comes to them. A more intelligent robot could use seeking, following a gradient set up by diffusion from switches that are carrying current to the lamp the player is trying to light. The robot can then be attracted to such switches, using the seeking pattern, and can open such a switch when it finds it. The colored actuators, proposed as a way of introducing emergent events in the game, would be implemented using the choreography pattern. When an electron reaches an actuator the actuator would broadcast a message specific to its color. Switches would respond to that message, or not, depending on their color. 5. Discussion As we mentioned earlier, the challenges we ve described here, and the advice we ve offered for dealing with them, are distilled from our experience in teaching a university course in game design for education. We think that the ideas we ve presented are helpful in creating effective educational gamelets, but even with the benefit of these ideas our students are not successful one hundred percent of the time. Here are some of the remaining difficulties to worry about. For some topics it s difficult to develop an appropriate simulation. One of our students wanted to teach wilderness survival skills. Another wanted to teach facts about the religion of ancient Egypt. Neither of these students was able to imbed this knowledge in a simulation that embodied the range of ideas they wanted to convey. We think it wouldn t be impossible to develop simulations for these domains, but it would require a great deal of work. For example, for the survival skills simulation one would need to represent a range of weather conditions, a variety of objects and behaviors involved in making fire, the properties of different kinds of shelter, some human physiology for representing hunger, thirst, and hypothermia, and more. To embed the mythology of Egypt in a simulation would require representing the behaviors of a variety of deities, which in turn requires modeling the various aspects of the world with which the deities are concerned. Given an appropriate simulation, the to-be-learned ideas may not be apparent to learners. Suppose we do the work to create a survival simulation in which it is possible to build a fire. It may not be obvious to someone working with the simulation how to build one, even if the need for a fire is apparent in some situation in the game. Thus a game can

22 create motivation for solving a problem that is built into the game structure, without actually helping the player learn how to solve the problem. A related difficulty shows up in the game Electric Field Hockey, created by Ruth Chabay and colleagues at Carnegie Mellon University. In this game players are supposed to learn about the action of electric fields on charged particles by shooting a charged puck into a goal, under the influence of the field produced by fixed charges placed in the playing area. As careful studies by Miller et al. (1999) showed, players can learn to play the game quite well, without learning the ideas about fields they were intended to learn. Here a gap has opened between the ideas needed to play the game, and the ideas players are meant to learn, even though the game is built on a simulation. Careful adjustment of players goals was needed to increase learning. ##chris suggested a connection w cheesy here, but I suggest that this would get complicated: what makes a game cheesy is that the stuff to be learned is just stuck into the game with no real connection; in EFH the stuff to be learned wasn t actually there at all, in some sense, since you could play the game without encountering it## Hmelo and Guzdial s (1996) distinction between black box and glass box simulations is useful here. In Electric Field Hockey one can t see how the field works : no mechanism is shown (and, despite Maxwell s efforts to construct mechanical models of the field [Maxwell, ], it s not clear what mechanism could be shown.) So the simulation is a black box model: you can t see what s inside, and so some ways of learning from the simulation are foreclosed. This suggests that glass box simulations, in which learners can see and reason about mechanisms, may have pedagogical advantages. For example, showing current flow in the switch network game might help players see how the switches work. Forbus (2001) has called for the creation of articulate software to help build understandable simulations. Another way learning goals can be missed is that the behavior of a simulation may be too complex to be understood. One of our students built a simulation of a production line, in which inputs were consumed and converted into outputs. Because inputs were consumed at different rates, the player needed to balance the production line to achieve maximum output, by making sure that the various inputs were supplied in the correct ratios. The simulation accurately represented these relationships, yet players rarely learned them. The animated activity of the production line was complex, and rapid, and players couldn t easily follow how their actions were influencing the rate of production. So they didn t learn the intended generalization. Some ideas are better stated than demonstrated. One of our students wanted to teach the value of interest-based, rather than position-based negotiations (Fisher and Ury, 1981), in which parties seek to expose the ways in which different aspects of a situation affect them, rather than arguing for some particular decision. The idea is that parties may find that the things they want in a situation are compatible, where the decisions they might initially propose are incompatible. The student was unable to construct a simulation of a situation in which this idea can be illustrated, where working through the simulation made the idea clearer than just stating it, and describing examples. As work by Reder

Gamelet Design for Education

Gamelet Design for Education Gamelet Design for Education Engagement Analysis One of the potential benefits of games as learning tools is that people want to play them, and (often) keep playing them, over and over. As we'll see soon,

More information

Seaman Risk List. Seaman Risk Mitigation. Miles Von Schriltz. Risk # 2: We may not be able to get the game to recognize voice commands accurately.

Seaman Risk List. Seaman Risk Mitigation. Miles Von Schriltz. Risk # 2: We may not be able to get the game to recognize voice commands accurately. Seaman Risk List Risk # 1: Taking care of Seaman may not be as fun as we think. Risk # 2: We may not be able to get the game to recognize voice commands accurately. Risk # 3: We might not have enough time

More information

Creating Journey In AgentCubes

Creating Journey In AgentCubes DRAFT 3-D Journey Creating Journey In AgentCubes Student Version No AgentCubes Experience You are a traveler on a journey to find a treasure. You travel on the ground amid walls, chased by one or more

More information

Creating Journey With AgentCubes Online

Creating Journey With AgentCubes Online 3-D Journey Creating Journey With AgentCubes Online You are a traveler on a journey to find a treasure. You travel on the ground amid walls, chased by one or more chasers. The chasers at first move randomly

More information

School Based Projects

School Based Projects Welcome to the Week One lesson. School Based Projects Who is this lesson for? If you're a high school, university or college student, or you're taking a well defined course, maybe you're going to your

More information

Creating 3D-Frogger. Created by: Susan Miller, University of Colorado, School of Education. Adaptations using AgentCubes made by Cathy Brand

Creating 3D-Frogger. Created by: Susan Miller, University of Colorado, School of Education. Adaptations using AgentCubes made by Cathy Brand Creating 3D-Frogger You are a frog. Your task is simple: hop across a busy highway, dodging cars and trucks, until you get to the edge of a river, where you must keep yourself from drowning by crossing

More information

Tutorial: Creating maze games

Tutorial: Creating maze games Tutorial: Creating maze games Copyright 2003, Mark Overmars Last changed: March 22, 2003 (finished) Uses: version 5.0, advanced mode Level: Beginner Even though Game Maker is really simple to use and creating

More information

Created by: Susan Miller, University of Colorado, School of Education

Created by: Susan Miller, University of Colorado, School of Education You are a warehouse keeper (Sokoban) who is in a maze. You must push boxes around the maze while trying to put them in the designated locations. Only one box may be pushed at a time, and boxes cannot be

More information

Game Maker Tutorial Creating Maze Games Written by Mark Overmars

Game Maker Tutorial Creating Maze Games Written by Mark Overmars Game Maker Tutorial Creating Maze Games Written by Mark Overmars Copyright 2007 YoYo Games Ltd Last changed: February 21, 2007 Uses: Game Maker7.0, Lite or Pro Edition, Advanced Mode Level: Beginner Maze

More information

Competition Manual. 11 th Annual Oregon Game Project Challenge

Competition Manual. 11 th Annual Oregon Game Project Challenge 2017-2018 Competition Manual 11 th Annual Oregon Game Project Challenge www.ogpc.info 2 We live in a very connected world. We can collaborate and communicate with people all across the planet in seconds

More information

IMGD 1001: Fun and Games

IMGD 1001: Fun and Games IMGD 1001: Fun and Games by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline What is a Game? Genres What Makes a Good Game? Claypool and Lindeman, WPI, CS and IMGD 2 1 What

More information

Hierarchical Controller for Robotic Soccer

Hierarchical Controller for Robotic Soccer Hierarchical Controller for Robotic Soccer Byron Knoll Cognitive Systems 402 April 13, 2008 ABSTRACT RoboCup is an initiative aimed at advancing Artificial Intelligence (AI) and robotics research. This

More information

Creating PacMan With AgentCubes Online

Creating PacMan With AgentCubes Online Creating PacMan With AgentCubes Online Create the quintessential arcade game of the 80 s! Wind your way through a maze while eating pellets. Watch out for the ghosts! Created by: Jeffrey Bush and Cathy

More information

CMS.608 / CMS.864 Game Design Spring 2008

CMS.608 / CMS.864 Game Design Spring 2008 MIT OpenCourseWare http://ocw.mit.edu CMS.608 / CMS.864 Game Design Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. CMS.608 Spring 2008 Neil

More information

AgentCubes Online Troubleshooting Session Solutions

AgentCubes Online Troubleshooting Session Solutions AgentCubes Online Troubleshooting Session Solutions Overview: This document provides analysis and suggested solutions to the problems posed in the AgentCubes Online Troubleshooting Session Guide document

More information

IMGD 1001: Fun and Games

IMGD 1001: Fun and Games IMGD 1001: Fun and Games Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Outline What is a Game? Genres What Makes a Good Game? 2 What

More information

Analyzing Games.

Analyzing Games. Analyzing Games staffan.bjork@chalmers.se Structure of today s lecture Motives for analyzing games With a structural focus General components of games Example from course book Example from Rules of Play

More information

Objectives. Game AI: Collaborative Diffusion. Project: The Sims. Advance from simple game to very sophisticated games

Objectives. Game AI: Collaborative Diffusion. Project: The Sims. Advance from simple game to very sophisticated games welcome to Objectives Game AI: Collaborative Diffusion Advance from simple game to very sophisticated games Project: The Sims game AI single Agent ALife: agent acts intelligent: develops goals based on

More information

A Lego-Based Soccer-Playing Robot Competition For Teaching Design

A Lego-Based Soccer-Playing Robot Competition For Teaching Design Session 2620 A Lego-Based Soccer-Playing Robot Competition For Teaching Design Ronald A. Lessard Norwich University Abstract Course Objectives in the ME382 Instrumentation Laboratory at Norwich University

More information

No Cost Online Marketing

No Cost Online Marketing No Cost Online Marketing No matter what type of Internet business you have, you need to be promoting it at all times. If you don t make the effort to tell the right people about it (i.e. those people who

More information

Developing Frogger Player Intelligence Using NEAT and a Score Driven Fitness Function

Developing Frogger Player Intelligence Using NEAT and a Score Driven Fitness Function Developing Frogger Player Intelligence Using NEAT and a Score Driven Fitness Function Davis Ancona and Jake Weiner Abstract In this report, we examine the plausibility of implementing a NEAT-based solution

More information

Created by: Susan Miller, University of Colorado, School of Education

Created by: Susan Miller, University of Colorado, School of Education You are a traveler on a journey to reach a goal. You travel on the ground amid walls, chased by one or more chasers. The chasers at first move randomly on the ground, and later, begin to chase based on

More information

Terms and Conditions

Terms and Conditions 1 Terms and Conditions LEGAL NOTICE The Publisher has strived to be as accurate and complete as possible in the creation of this report, notwithstanding the fact that he does not warrant or represent at

More information

CMS.608 / CMS.864 Game Design Spring 2008

CMS.608 / CMS.864 Game Design Spring 2008 MIT OpenCourseWare http://ocw.mit.edu CMS.608 / CMS.864 Game Design Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 1 Sharat Bhat, Joshua

More information

Webinar Module Eight: Companion Guide Putting Referrals Into Action

Webinar Module Eight: Companion Guide Putting Referrals Into Action Webinar Putting Referrals Into Action Welcome back to No More Cold Calling OnDemand TM. Thank you for investing in yourself and building a referral business. This is the companion guide to Module #8. Take

More information

Multi-Robot Coordination. Chapter 11

Multi-Robot Coordination. Chapter 11 Multi-Robot Coordination Chapter 11 Objectives To understand some of the problems being studied with multiple robots To understand the challenges involved with coordinating robots To investigate a simple

More information

Trainyard: A level design post-mortem

Trainyard: A level design post-mortem Trainyard: A level design post-mortem Matt Rix Magicule Inc. - I m Matt Rix, the creator of Trainyard - This talking is going to be partly a post-mortem - And partly just me talking about my philosophy

More information

Teach Your Students Game Design in One Week

Teach Your Students Game Design in One Week Teach Your Students Game Design in One Week Prof. Dr. Alexander Repenning University of Colorado Computer Science AgentSheets University of Colorado School of Education Boulder, Colorado today 1.Theory

More information

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name

Design Document for: Name of Game. One Liner, i.e. The Ultimate Racing Game. Something funny here! All work Copyright 1999 by Your Company Name Design Document for: Name of Game One Liner, i.e. The Ultimate Racing Game Something funny here! All work Copyright 1999 by Your Company Name Written by Chris Taylor Version # 1.00 Thursday, September

More information

Sensible Chuckle SuperTuxKart Concrete Architecture Report

Sensible Chuckle SuperTuxKart Concrete Architecture Report Sensible Chuckle SuperTuxKart Concrete Architecture Report Sam Strike - 10152402 Ben Mitchell - 10151495 Alex Mersereau - 10152885 Will Gervais - 10056247 David Cho - 10056519 Michael Spiering Table of

More information

Coaching Questions From Coaching Skills Camp 2017

Coaching Questions From Coaching Skills Camp 2017 Coaching Questions From Coaching Skills Camp 2017 1) Assumptive Questions: These questions assume something a. Why are your listings selling so fast? b. What makes you a great recruiter? 2) Indirect Questions:

More information

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers Email: tim@fowers.net 1) Introduction Basics of Game Design: definition of a game, terminology and basic design categories.

More information

Arranging Rectangles. Problem of the Week Teacher Packet. Answer Check

Arranging Rectangles. Problem of the Week Teacher Packet. Answer Check Problem of the Week Teacher Packet Arranging Rectangles Give the coordinates of the vertices of a triangle that s similar to the one shown and which has a perimeter three times that of the given triangle.

More information

Competition Manual. 12 th Annual Oregon Game Project Challenge

Competition Manual. 12 th Annual Oregon Game Project Challenge 2018-2019 Competition Manual 12 th Annual Oregon Game Project Challenge www.ogpc.info 2 There are millions of people around the world that lack things many of us take for granted. In some countries, the

More information

HOW TO CREATE A SERIOUS GAME?

HOW TO CREATE A SERIOUS GAME? 3 HOW TO CREATE A SERIOUS GAME? ERASMUS+ COOPERATION FOR INNOVATION WRITING A SCENARIO In video games, narration generally occupies a much smaller place than in a film or a book. It is limited to the hero,

More information

Managing upwards. Bob Dick (2003) Managing upwards: a workbook. Chapel Hill: Interchange (mimeo).

Managing upwards. Bob Dick (2003) Managing upwards: a workbook. Chapel Hill: Interchange (mimeo). Paper 28-1 PAPER 28 Managing upwards Bob Dick (2003) Managing upwards: a workbook. Chapel Hill: Interchange (mimeo). Originally written in 1992 as part of a communication skills workbook and revised several

More information

Creating Projects for Practical Skills

Creating Projects for Practical Skills Welcome to the lesson. Practical Learning If you re self educating, meaning you're not in a formal program to learn whatever you're trying to learn, often what you want to learn is a practical skill. Maybe

More information

How hard are computer games? Graham Cormode, DIMACS

How hard are computer games? Graham Cormode, DIMACS How hard are computer games? Graham Cormode, DIMACS graham@dimacs.rutgers.edu 1 Introduction Computer scientists have been playing computer games for a long time Think of a game as a sequence of Levels,

More information

Not-Too-Silly Stories

Not-Too-Silly Stories Not-Too-Silly Stories by Jens Alfke ~ January 2, 2010 is is a free-form, story-oriented, rules-lite, GM-less roleplaying game. It s a bit like a highly simplified version of Universalis. I designed it

More information

CS188: Artificial Intelligence, Fall 2011 Written 2: Games and MDP s

CS188: Artificial Intelligence, Fall 2011 Written 2: Games and MDP s CS88: Artificial Intelligence, Fall 20 Written 2: Games and MDP s Due: 0/5 submitted electronically by :59pm (no slip days) Policy: Can be solved in groups (acknowledge collaborators) but must be written

More information

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti Basic Information Project Name Supervisor Kung-fu Plants Jakub Gemrot Annotation Kung-fu plants is a game where you can create your characters, train them and fight against the other chemical plants which

More information

Creating PacMan With AgentCubes Online

Creating PacMan With AgentCubes Online Creating PacMan With AgentCubes Online Create the quintessential arcade game of the 80 s! Wind your way through a maze while eating pellets. Watch out for the ghosts! Created by: Jeffrey Bush and Cathy

More information

Visual Arts What Every Child Should Know

Visual Arts What Every Child Should Know 3rd Grade The arts have always served as the distinctive vehicle for discovering who we are. Providing ways of thinking as disciplined as science or math and as disparate as philosophy or literature, the

More information

Bridge BG User Manual ABSTRACT. Sven Eriksen My Bridge Tools

Bridge BG User Manual ABSTRACT. Sven Eriksen My Bridge Tools This user manual doubles up as a Tutorial. Print it, if you can, so you can run Bridge BG alongside the Tutorial (for assistance with printing from ipad, see https://support.apple.com/en-au/ht201387) If

More information

Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution

Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution Eiji Uchibe, Masateru Nakamura, Minoru Asada Dept. of Adaptive Machine Systems, Graduate School of Eng., Osaka University,

More information

6 Sources of Acting Career Information

6 Sources of Acting Career Information 6 Sources of Acting Career Information 1 The 6 Sources of Acting Career Information Unfortunately at times it can seem like some actors don't want to share with you what they have done to get an agent

More information

Signaling Crossing Tracks and Double Track Junctions

Signaling Crossing Tracks and Double Track Junctions Signaling Crossing Tracks and Double Track Junctions Welcome. In this tutorial, we ll discuss tracks that cross each other and how to keep trains from colliding when they reach the crossing at the same

More information

G54GAM Coursework 2 & 3

G54GAM Coursework 2 & 3 G54GAM Coursework 2 & 3 Summary You are required to design and prototype a computer game. This coursework consists of two parts describing and documenting the design of your game (coursework 2) and developing

More information

JROTCDL.com CADET 105 Time Management 1

JROTCDL.com CADET 105 Time Management 1 JROTCDL.com CADET 105 Time Management 1 JROTCDL.com CADET 105 Time Management 2 TABLE OF CONTENTS Defining Goals... 5 Types of Goals... 6 Types of Time Management... 7 Problems and Solutions... 8 Stop

More information

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd

More information

Created by: Susan Miller, University of Colorado, School of Education

Created by: Susan Miller, University of Colorado, School of Education You are a traveler on a journey to reach a goal. You travel on the ground amid walls, chased by one or more chasers. The chasers at first move randomly on the ground, and later, begin to chase based on

More information

Acing Math (One Deck At A Time!): A Collection of Math Games. Table of Contents

Acing Math (One Deck At A Time!): A Collection of Math Games. Table of Contents Table of Contents Introduction to Acing Math page 5 Card Sort (Grades K - 3) page 8 Greater or Less Than (Grades K - 3) page 9 Number Battle (Grades K - 3) page 10 Place Value Number Battle (Grades 1-6)

More information

Leadership: Getting and Giving the Call for Action

Leadership: Getting and Giving the Call for Action Leadership: Getting and Giving the Call for Action Introduction In working with many different companies in all types of industries during the past year or so, I believe I ve noticed some new trends among

More information

Discovering Your Values

Discovering Your Values Discovering Your Values Discovering Your Authentic, Real Self That Will Drive Women Wild! Written By: Marni The Wing Girl Method http://www.winggirlmethod.com DISCLAIMER: No responsibility can be accepted

More information

LESSON 6. Finding Key Cards. General Concepts. General Introduction. Group Activities. Sample Deals

LESSON 6. Finding Key Cards. General Concepts. General Introduction. Group Activities. Sample Deals LESSON 6 Finding Key Cards General Concepts General Introduction Group Activities Sample Deals 282 More Commonly Used Conventions in the 21st Century General Concepts Finding Key Cards This is the second

More information

Programming Project 2

Programming Project 2 Programming Project 2 Design Due: 30 April, in class Program Due: 9 May, 4pm (late days cannot be used on either part) Handout 13 CSCI 134: Spring, 2008 23 April Space Invaders Space Invaders has a long

More information

MITOCW MITCMS_608S14_ses03_2

MITOCW MITCMS_608S14_ses03_2 MITOCW MITCMS_608S14_ses03_2 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free.

More information

While there are lots of different kinds of pitches, there are two that are especially useful for young designers:

While there are lots of different kinds of pitches, there are two that are especially useful for young designers: Pitching Your Game Ideas Think you ve got a great idea for the next console blockbuster? Or the next mobile hit that will take the app store by storm? Maybe you ve got an innovative idea for a game that

More information

CISC 1600, Lab 2.2: More games in Scratch

CISC 1600, Lab 2.2: More games in Scratch CISC 1600, Lab 2.2: More games in Scratch Prof Michael Mandel Introduction Today we will be starting to make a game in Scratch, which ultimately will become your submission for Project 3. This lab contains

More information

Game Design 2. Table of Contents

Game Design 2. Table of Contents Course Syllabus Course Code: EDL082 Required Materials 1. Computer with: OS: Windows 7 SP1+, 8, 10; Mac OS X 10.8+. Windows XP & Vista are not supported; and server versions of Windows & OS X are not tested.

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Introduction to Game AI Fall 2018 What does the A stand for? 2 What is AI? AI is the control of every non-human entity in a game The other cars in a car game The opponents

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology http://www.cs.utexas.edu/~theshark/courses/cs354r/ Fall 2017 Instructor and TAs Instructor: Sarah Abraham theshark@cs.utexas.edu GDC 5.420 Office Hours: MW4:00-6:00pm

More information

Behaviors That Revolve Around Working Effectively with Others Behaviors That Revolve Around Work Quality

Behaviors That Revolve Around Working Effectively with Others Behaviors That Revolve Around Work Quality Behaviors That Revolve Around Working Effectively with Others 1. Give me an example that would show that you ve been able to develop and maintain productive relations with others, thought there were differing

More information

CONTENTS. i: INTRODUCTION 1: WHY MANAGE YOUR MONEY? 2: IDENTIFY 3: UNDERSTAND 4: EXECUTE 5: MANAGING YOUR CALENDAR 6: BUILDING YOUR EMERGENCY FUND

CONTENTS. i: INTRODUCTION 1: WHY MANAGE YOUR MONEY? 2: IDENTIFY 3: UNDERSTAND 4: EXECUTE 5: MANAGING YOUR CALENDAR 6: BUILDING YOUR EMERGENCY FUND C O N T E N T S CONTENTS i: INTRODUCTION 1: WHY MANAGE YOUR MONEY? 2: IDENTIFY 3: UNDERSTAND 4: EXECUTE 5: MANAGING YOUR CALENDAR 6: BUILDING YOUR EMERGENCY FUND 7: UNDERSTANDING DEBT 8: INVESTMENTS 9:

More information

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading)

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading) The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? [Note: This lab isn t as complete as the others we have done in this class. There are no self-assessment questions and no post-lab

More information

Chapter 1. Robots and Programs

Chapter 1. Robots and Programs Chapter 1 Robots and Programs 1 2 Chapter 1 Robots and Programs Introduction Without a program, a robot is just an assembly of electronic and mechanical components. This book shows you how to give it a

More information

GOAL SETTING NOTES. How can YOU expect to hit a target you that don t even have?

GOAL SETTING NOTES. How can YOU expect to hit a target you that don t even have? GOAL SETTING NOTES You gotta have goals! How can YOU expect to hit a target you that don t even have? I ve concluded that setting and achieving goals comes down to 3 basic steps, and here they are: 1.

More information

Print and Play Instructions: 1. Print Swamped Print and Play.pdf on 6 pages front and back. Cut all odd-numbered pages.

Print and Play Instructions: 1. Print Swamped Print and Play.pdf on 6 pages front and back. Cut all odd-numbered pages. SWAMPED Print and Play Rules Game Design by Ben Gerber Development by Bellwether Games LLC & Lumné You ve only just met your team a motley assemblage of characters from different parts of the world. Each

More information

Table of Contents. Creating Your First Project 4. Enhancing Your Slides 8. Adding Interactivity 12. Recording a Software Simulation 19

Table of Contents. Creating Your First Project 4. Enhancing Your Slides 8. Adding Interactivity 12. Recording a Software Simulation 19 Table of Contents Creating Your First Project 4 Enhancing Your Slides 8 Adding Interactivity 12 Recording a Software Simulation 19 Inserting a Quiz 24 Publishing Your Course 32 More Great Features to Learn

More information

CSSE220 BomberMan programming assignment Team Project

CSSE220 BomberMan programming assignment Team Project CSSE220 BomberMan programming assignment Team Project You will write a game that is patterned off the 1980 s BomberMan game. You can find a description of the game, and much more information here: http://strategywiki.org/wiki/bomberman

More information

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( )

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( ) COMP3211 Project Artificial Intelligence for Tron game Group 7 Chiu Ka Wa (20369737) Chun Wai Wong (20265022) Ku Chun Kit (20123470) Abstract Tron is an old and popular game based on a movie of the same

More information

GAME DESIGN 101. David J Gagnon University of Wisconsin - Madison ENGAGE Program & Games, Learning and Society Research Community

GAME DESIGN 101. David J Gagnon University of Wisconsin - Madison ENGAGE Program & Games, Learning and Society Research Community GAME DESIGN 101 David J Gagnon University of Wisconsin - Madison ENGAGE Program & Games, Learning and Society Research Community I manage the design and production of: Presentation card games, ARIS, Bacteria,

More information

An Idea for a Project A Universe for the Evolution of Consciousness

An Idea for a Project A Universe for the Evolution of Consciousness An Idea for a Project A Universe for the Evolution of Consciousness J. D. Horton May 28, 2010 To the reader. This document is mainly for myself. It is for the most part a record of some of my musings over

More information

LESSON INTRODUCTION. Reading Comprehension Modules Page 1. Joanne Durham, Interviewer (I); Apryl Whitman, Teacher (T)

LESSON INTRODUCTION. Reading Comprehension Modules   Page 1. Joanne Durham, Interviewer (I); Apryl Whitman, Teacher (T) Teacher Commentary Strategy: Synthesize Sample Lesson: Synthesizing Our Thinking in Fiction Grade 2, Apryl Whitman, Teacher, Arden Elementary School, Richland One School District, Columbia, SC Joanne Durham,

More information

Chapter 4 Summary Working with Dramatic Elements

Chapter 4 Summary Working with Dramatic Elements Chapter 4 Summary Working with Dramatic Elements There are two basic elements to a successful game. These are the game formal elements (player, procedures, rules, etc) and the game dramatic elements. The

More information

How Representation of Game Information Affects Player Performance

How Representation of Game Information Affects Player Performance How Representation of Game Information Affects Player Performance Matthew Paul Bryan June 2018 Senior Project Computer Science Department California Polytechnic State University Table of Contents Abstract

More information

CPS331 Lecture: Search in Games last revised 2/16/10

CPS331 Lecture: Search in Games last revised 2/16/10 CPS331 Lecture: Search in Games last revised 2/16/10 Objectives: 1. To introduce mini-max search 2. To introduce the use of static evaluation functions 3. To introduce alpha-beta pruning Materials: 1.

More information

Candidate Interview Preparation

Candidate Interview Preparation Candidate Interview Preparation A little preparation before the interview will help take the edge off the event. Here are some simple ways to get ready for your meeting. 1. Research the company and learn

More information

GMAT Timing Strategy Guide

GMAT Timing Strategy Guide GMAT Timing Strategy Guide Don t Let Timing Issues Keep You from Scoring 700+ on the GMAT! By GMAT tutor Jeff Yin, Ph.D. Why Focus on Timing Strategy? Have you already put a ton of hours into your GMAT

More information

How to Quit NAIL-BITING Once and for All

How to Quit NAIL-BITING Once and for All How to Quit NAIL-BITING Once and for All WHAT DOES IT MEAN TO HAVE A NAIL-BITING HABIT? Do you feel like you have no control over your nail-biting? Have you tried in the past to stop, but find yourself

More information

Maze Solving Algorithms for Micro Mouse

Maze Solving Algorithms for Micro Mouse Maze Solving Algorithms for Micro Mouse Surojit Guha Sonender Kumar surojitguha1989@gmail.com sonenderkumar@gmail.com Abstract The problem of micro-mouse is 30 years old but its importance in the field

More information

What is a Game? See also references at end of slides (if any)

What is a Game? See also references at end of slides (if any) What is a Game? Brent M. Dingle, Ph.D. 2015 Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout See also references at end of slides (if any)

More information

FreeCiv Learner: A Machine Learning Project Utilizing Genetic Algorithms

FreeCiv Learner: A Machine Learning Project Utilizing Genetic Algorithms FreeCiv Learner: A Machine Learning Project Utilizing Genetic Algorithms Felix Arnold, Bryan Horvat, Albert Sacks Department of Computer Science Georgia Institute of Technology Atlanta, GA 30318 farnold3@gatech.edu

More information

Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings. Amos Gellert, Nataly Kats

Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings. Amos Gellert, Nataly Kats Mr. Amos Gellert Technological aspects of level crossing facilities Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings Deputy General Manager

More information

The purpose of this document is to help users create their own TimeSplitters Future Perfect maps. It is designed as a brief overview for beginners.

The purpose of this document is to help users create their own TimeSplitters Future Perfect maps. It is designed as a brief overview for beginners. MAP MAKER GUIDE 2005 Free Radical Design Ltd. "TimeSplitters", "TimeSplitters Future Perfect", "Free Radical Design" and all associated logos are trademarks of Free Radical Design Ltd. All rights reserved.

More information

What You Need to Learn

What You Need to Learn Welcome to the Week One lesson. What You Need to Learn Nearly all self education learning endeavors start with materials. An exception to this which is something I'm going to be covering later is the pure

More information

Mind Ninja The Game of Boundless Forms

Mind Ninja The Game of Boundless Forms Mind Ninja The Game of Boundless Forms Nick Bentley 2007-2008. email: nickobento@gmail.com Overview Mind Ninja is a deep board game for two players. It is 2007 winner of the prestigious international board

More information

Analysis of Game Balance

Analysis of Game Balance Balance Type #1: Fairness Analysis of Game Balance 1. Give an example of a mostly symmetrical game. If this game is not universally known, make sure to explain the mechanics in question. What elements

More information

Pevans Board games reviews and articles by Paul Evans Coal, Iron and Railroads

Pevans Board games reviews and articles by Paul Evans  Coal, Iron and Railroads Pevans Coal, Iron and Railroads Age of Industry reviewed by Pevans Astute readers will have noticed that I m something of a fan of Martin Wallace s games. Age of Industry is his latest. It s a business

More information

Levels of Description: A Role for Robots in Cognitive Science Education

Levels of Description: A Role for Robots in Cognitive Science Education Levels of Description: A Role for Robots in Cognitive Science Education Terry Stewart 1 and Robert West 2 1 Department of Cognitive Science 2 Department of Psychology Carleton University In this paper,

More information

Virtual Model Validation for Economics

Virtual Model Validation for Economics Virtual Model Validation for Economics David K. Levine, www.dklevine.com, September 12, 2010 White Paper prepared for the National Science Foundation, Released under a Creative Commons Attribution Non-Commercial

More information

All The Key Points From Busting Loose From The Money Game

All The Key Points From Busting Loose From The Money Game All The Key Points From Busting Loose From The Money Game Following are all the Key Points listed in the book for your reference and convenience. To make Phase 1 of the Human Game work, all Truth must

More information

Procedural Level Generation for a 2D Platformer

Procedural Level Generation for a 2D Platformer Procedural Level Generation for a 2D Platformer Brian Egana California Polytechnic State University, San Luis Obispo Computer Science Department June 2018 2018 Brian Egana 2 Introduction Procedural Content

More information

38. Looking back to now from a year ahead, what will you wish you d have done now? 39. Who are you trying to please? 40. What assumptions or beliefs

38. Looking back to now from a year ahead, what will you wish you d have done now? 39. Who are you trying to please? 40. What assumptions or beliefs A bundle of MDQs 1. What s the biggest lie you have told yourself recently? 2. What s the biggest lie you have told to someone else recently? 3. What don t you know you don t know? 4. What don t you know

More information

Lu 1. Game Theory of 2048

Lu 1. Game Theory of 2048 Lu 1 Game Theory of 2048 Kevin Lu Professor Bray Math 89s: Game Theory and Democracy 24 November 2014 Lu 2 I: Introduction and Background The game 2048 is a strategic block sliding game designed by Italian

More information

How to get more quality clients to your law firm

How to get more quality clients to your law firm How to get more quality clients to your law firm Colin Ritchie, Business Coach for Law Firms Tory Ishigaki: Hi and welcome to the InfoTrack Podcast, I m your host Tory Ishigaki and today I m sitting down

More information

Design and Technology Subject Outline Stage 1 and Stage 2

Design and Technology Subject Outline Stage 1 and Stage 2 Design and Technology 2019 Subject Outline Stage 1 and Stage 2 Published by the SACE Board of South Australia, 60 Greenhill Road, Wayville, South Australia 5034 Copyright SACE Board of South Australia

More information

Physical Gameplay in Half-Life 2. presented by Jay Stelly Valve Corporation. All Rights Reserved.

Physical Gameplay in Half-Life 2. presented by Jay Stelly Valve Corporation. All Rights Reserved. Physical Gameplay in Half-Life 2 presented by Jay Stelly Physical Gameplay in Half-Life 2 New technology that hadn t been successfully integrated into our genre Technical solutions not very well understood

More information

DiscovererFutureThinker esencerelatingachieving CaringCompetingConfiden pendabilitydiscovererfuture

DiscovererFutureThinker esencerelatingachieving CaringCompetingConfiden pendabilitydiscovererfuture AchievingCaringCompetin encedependabilitydiscove turethinkerorganizerpresen RelatingAchievingCaring ompetingconfidencedepen DiscovererFutureThinker esencerelatingachieving CaringCompetingConfiden pendabilitydiscovererfuture

More information

introduction to the course course structure topics

introduction to the course course structure topics topics: introduction to the course brief overview of game programming how to learn a programming language sample environment: scratch to do instructor: cisc1110 introduction to computing using c++ gaming

More information