Thursday, June 30, 2011

Game 2: Dungeon Maze

Get our feature rich second game here.
Play through the levels.
Try making your own.
http://www.jmauriello.com/buildinggames/maze_game.zip

Monday, June 27, 2011

Creating an animation from a single image


One of the students in the class requested an explanation of how to create sprite animation from a single image.  I made a little screen cast explaining the process.  Find it here: http://screencast.com/t/E0gUDOu3

Thursday, June 23, 2011

Lecture 1 Summary: Four aspects of game design

Game building brings together a variety of disciplines. Most digital game building endeavors combine the trades of art, sound, design, user experience and programming. And yet, with the right tools a complete game can be made by a single person. Even if you are new to any of the skills listed above, it is possible to pull off a successful game. This course is intended as a jumping off point into the ocean of digital game building.

Like any piece of media, games need a certain something in order to stand out. The fact that games are becoming easier to create ensures that there is no shortage of new games. A perusal of yoyogames.com (the site associated with Game Maker) will prove that. In order to stand out a game has to engage it's players. There are several aspects to keep in mind when considering how to make an engaging game, I've broken them down into four categories: look and feel, core mechanic, playability and accessibility, and game system.

Look and feel
The theme and art style make up a game's look and feel. These lend a large part to a games appeal and certainly to it's pop. This is the first thing a potential player will use to judge whether or not they will play your game, it's you first impression and so I've listed it first.

It's not always the case that you will begin your game with these things well defined, and believe it or not, it doesn't necessarily have to have any impact on your core mechanic. Game design and game feel are often developed in their own separate bubbles.

Whatever theme and art style is chosen it's extremely important to be consistent and to make sure each detail that goes into the final release is measured against the overall art and theme goals that are chosen. Check out Angry Birds (If you haven't already added the app to your phone it!) for an example of how far look and feel can take you. Ravio, the games creator was recently valuated at $200 million based solely on this one property.

Core mechanic
A game's core mechanic is defined by the central task or activity the player is engaged in while playing. Are they collecting things? Are they matching colored gems? Are the navigating a set of platforms? Sometimes games invent entirely new mechanics - check out world of goo as an example of this . More often a game will borough aspects of other proven mechanics and riff on them (it's like jazz, man) see Cargo Bridge as an example of a creative variation on the physics based game play found in World of Goo.

In our first game "Clown Click," our core mechanic is a variation of tag. Each time the clown is clicked it speeds up for a short time, heightening the challenge of our core mechanic. A point multiplier was added to increase engagement, but this is apart from the core mechanic. More on this later.

Playability / Accessibility / Flow
I am lumping these three together not because they are the same thing but because I think they all play off of one another. How easy is the game to pick up and play? How relatable is the game's theme to it's intended audience? How does the game continue to engage the experienced player? These questions should be considered when a project is first undertaken and constantly re-evaluated.

Flow, proposed by Mihály Csíkszentmihályi in his book of the same title, describes a mind state where a person gains a single minded emersion in what they are doing. Sense of time is lost and one completely forgets the self. Flow is occurs when a person is engaged in preforming a task, where the task is challenging so as to stave off bordom but not to the point of causing anxiety. This happens commonly when playing games as long as the games difficulty ramps up as the player learns the game's system and improves performance. In order to get that initial engagement the game must be appealing, challenging, and understandable.

Game System
Game design and building is an exercise in systems design. A system is a set of components that make up the workings of a larger whole. Conceiving of and then tweaking and balancing a game's system is a game designers primary job. A game's system is it's rule set. These rules very often repeat until some condition is met. The rules define the components that make up the system, and how those components interact in relation to the game's core mechanic. Our system wasn't complete until we had an end condition. Without an end condition it's hard to call an interaction a game (feel free to debate me on this, I think I will win).

Our combo system - and scoring in general - are example components of Clown Click's game system. The high score board actually brings the game system outside of the boundaries of the game itself and encourages players to beat their best score or challenge their friends to attempt to beat their high score. This is referred to as the meta game.

With all of this talk of systems, it is vital to remember the purpose of the system, and that is to engage someone. The person is the actuator, they are the engine which keeps the loop going until the conclusion of the game is reached.

Making Games
Making games that people love to play is one of the most rewarding things I can think of doing. When you build a game you are crafting an experience for another human being to undertake, be challenged by and grow from. While making games does present challenges it also can be as more engaging then playing them. Let's make some games together!

Get Game Maker here...

Tools
Throughout the course our primary tool for building games will be Game Maker. A software developed by Mark Overmars, a Dutch Computer Scientist and professor of game programming. This software allows new users to build computer games without prior programming knowledge with it's drag and drop programming interface and more advanced users the option of using a flexible and powerful scripting engine.

Read more and get the software here:

Things to note:
  1. Currently the Mac and PC versions of this software are out of sync. The latest version of Game Maker is version 8.1, but this is only available for PC. asside from a few minor changes, the software in the same, and both use the same file extension. Course examples will be made on a Mac with Game Maker 7.
  2. Game Maker comes in two flavors: lite and full. We'll be using the lite version in the class. The full version adds a few convenience features but the lite version will more then fulfill our needs.

Game 1: Clown Click

Though simplistic, Clown Click is a complete game. It has a full play loop with title screen, ending screen and of course the game in between. The game has a clear objective, prevent the clown from leaving the game by clicking the trap doors, click the clown for points. It has feedback communicating what is happening in the game to the user. And, though short, the game provides enough variability to engage a user over multiple plays.

In addition this game is a great introduction to the Game Maker software. The game uses many of Game Makers major concepts by utilizing a variety of features including: mouse input, variables, object movement, random number generation, audio, sprite animation, sprite swapping, object swapping, scoring, external GML (Game Maker Language) scripts, and a local leaderboard. Once comfortable with the features used to create this game, you can do pretty much anything you might want to do with Game Maker, save some of the more advanced features.

Note that I have not included the executable in the download. To run this game you'll have to download Game Maker open the clown_click.gmk from the software's file menu. Once you do that, click the green play button at the top and the game will start.

I have included all of the assets used to create the game, so you don't have to worry about creating sprites and sounds and can just focus on using the software.

Get the package here:

http:www.jmauriello.com/buildinggames/clown_click.zip

Walkthrough notes from todays class

As promised. Here are my Clown Click walkthrough notes. We left off at the Fourth iteration, and I have only posted notes from that point on. Good luck, and feel free to email me if you have problems.

e background
fourth iteration
adding audio
add sounds
door closed
clown clicked
door clicked
music
Add to clown
on left pressed
play sound clownclicked
Add to GameManager
on create
play sound music
on Room end
stop sound music
Add to TrapDoor
on collision with clown
Play Sound doorClosed
on left press
play sound doorclicked
fifth iteration
adding complexity: combo system
Add to Clown
on Create
set variable combo_count to 1
on Left Press
set variable combo count to 1 and click relative
change set score to this:
combo_count*100
on Alarm 0
set Variable combo_count to 1 (don't click relative)
sixth iteration
adding feed back to the combo system
add to draw
add a check variable Clown.combo_count
add start block
add execute script.
add the same script as last time, but this time set like this:
string(Clown.combo_count)+"x COMBO!!"
400
10
add set vairable shaker to
(shaker*-1)
seventh iteration
make the combo indicator shake
add to game
add to create
create a variable called combo_shaker
add to draw
below the variable check add a start block and an end block after the script execution
set variable combo_shaker to
shaker*-1
DONE!