This is the resource page for the course Experimental Game Design.


ASSIGNMENTS

0. Hello world - download

1. Breakin' breakout - download

2. Interactive narrative - download source - download powerpoint

3. The boring shooter - download source - virtual cam class

4. Alternative interfaces - motion tracking - color tracking - microphone

FLASH

The material I'm providing is based on the Flash platform.
Contrary to a common belief, Flash is something more than the application you find in the Adobe Suite. You can make flash games using other development environments. I'm going to introduce you to the following ones:

Adobe Flash CS5
I also refer to as Flash IDE (Integrated Development Environment). It's a graphical environment where you can write code, produce graphical assets, make animations, design levels and interfaces. This total integration might be convenient if you have a design or animation background but it might be horrifying if you are an experienced programmer. Also, the IDE sort of encourages you to make messy project files that are hard to share and unpractical in collaborative projects.
The computers in the school have it installed but getting a legitimate personal copy is quite expensive.

Adobe Flash Builder (formerly known as Flex)
It's a development environment more similar to what actual programmers use (it's based on Eclipse). It's code centered and it doesn't allow the production of assets within it. However, it's possible to use graphics and animations produced in CS5 with code written in Flash builder.
The best thing is that it's free for students, you just have to apply

Flash Develop
It's the open source (and thus free) alternative to Flash Builder. They work in a very similar way, although the way they organize projects is slightly different.
The only downside: It's Windows only. Link.

PROGRAMMING

Actionscript 3 (AS3) is the Flash programming language we are going to use in this class by default. The official adobe documentation is very bare-bone and technical and it might be useful only if you exactly know what you are looking for.

On the other hand, there is an ocean of manuals, tutorials and examples online. Pretty much whatever you need to implement has already been implemented before so it's just a matter of breaking down your problem and finding the right keywords for your google search.

Important: whenever you google for code-related issues put the word AS3 in the query. There are still a lot of documents referring to the previous version of actionscript (AS2) which is completely different and incompatible.

Here are some good resources:

AS3 elements
Variables
Conditionals
Loops
Functions

Getting Started with ActionScript 3.0
Reading this introductory manual is strongly recommended. It's online, it's free.

Introduction to Flex
Game development with Flash CS3
I personally can't stand video tutorials, but if you prefer to hear a nice voice and watch the process step by step you should check the material provided by Lynda.com. The school might have a premium subscription if you want to access paid content.

Free actionscript
A nice collection of script, mostly game-related:

Emanuele feronato
No, I don't know this guy but his website is full of good and accessible tutorials

Kirupa
It's one of the biggest flash online communities, it has a lot of tutorials and very active forums.

GRAPHICS

If you like vector aesthetics you should simply use the Flash IDE since the integration is straightforward. If you want to use bitmaps images you'll have to prepare your assets with an external program.

Photoshop
It might even be too advanced for what we do but it's installed on every computer in the CFA.

Gimp

Is the open source alternative to Photoshop, check it out if you don't want to buy an expensive license.

Graphics Gale
The best pixel-art-specific in my opinion. Unfortunately it's Windows only.

Pixen
It's supposed to be best pixel-art application for mac but I found it impossibly unstable on Snow Leopard.

PSD 2 Spritesheet
This is an useful tool to convert a photoshop animation into a spritesheet

MC 2 Spritesheet
This is a small application that converts a flash animation into a bitmap spritesheet

SOUNDS

For sound assets you'll probably require an audio editing program. Our MAC labs should be equipped with Logic.

Audacity
An open source option, available both for MAC and PC and installed on every CFA computers. I found it rather unstable but it should just be fine for small projects.

Cfxr (MAC) / Sfxr (PC)
A really fun tool that generates retro sound effects.

GXSCC
An application that converts midi files into chiptune music (8-bit nintendo sounding music). Windows only and still a little glitchy.

Magical 8 bit (PC / MAC)
If you compose music and you like the aforementioned chiptune style, you can use this VST/AU plugin to obtain 8-bit-like sounds.

Glitch Sequencer (PC / MAC)
Music is overrated, with this tool you can produce crazy harsh noise soundtracks.

FRAMEWORKS AND ENGINES

Here are some alternatives if you don't feel comfortable with the material I provide you or if you have different plans for your final project.

Flixel and FlashPunk
A framework is basically a collection of classes working together to perform the some common operations. Adopting a framework can save you a lot of time but consider that we are not talking about code you can easily copy and paste, you have to understand its structure and learn its APIs (framework specific commands and structures).

Flixel and Flashpunk are very popular actionscript 3 frameworks. You might want to consider them if:

. You don't want to use the Flash CS4 development environment but more coded centered environment such as FlashDevelop or Flash builder/Flex.

. You prefer to work with bitmap graphics instead of the typical flashy vectors

. You want develop a tile-based game e.g. a super mario-like platform or a zelda-like top-down game.

flashgamedojo
Resources and tutorials for both the frameworks

Ogmo Editor
Tile based games need level editors. This one is free and designed to work with Flixel / Flashpunk.

World Construction Kit
It's a terrific and user friendly physics engine based on the box2D library. It basically allows you to create levels governed by solid body physics using the Flash CS4 graphic environment. The set-up can be a little tricky but it's totally worth it if you are making a 2d physics game.

Unity
I discourage 3D environments because creating assets (models, textures) is generally more time consuming and the 3rd dimension adds a lot of complexity. But if you have a good idea that can only work in 3D, Unity is the best choice since it's free and relatively friendly.

Game Maker
If you really hate Flash and you are having problems with coding you might want to try gamemaker. With GM you can create pretty much every 2D bitmap based game you want. The downsides is: it's a kind of world in itself, meaning that the knowledge you acquire is probably hard to transfer to another, more flexible programming environment. Also available for MAC

Adventure game studio
AGS is a solid engine that allows you to develop a very specific kind of game: point-and-click graphic adventures similar to Lucasarts titles from the '90 (Monkey Island, Day of the Tentacle and so on). Unfortunately, it's windows only.

Stencyl
As I write stencyl is still in development but it might become available during the semester. It's a flash-based IDE that allows you to make games without writing code. It's similar to MIT's scratch.

INDIE GAMES

There are many indie games blogs and communities where you can look for inspirations and collaborations. Here are my favourite ones:

Indie games blog
Connected to the more industry-oriented website Gamasutra

Play this thing
Also covers tabletop games.

TIG source
Home of a very active community

The experimental gameplay project
Monthly experimental challenges. Started by Carnegie Mellon ETC students.

BOOKS
For this course installment I decided to focus on the practical aspects of game development so there is no mandatory reading assignment. However there are many great textbooks about game design in general (not limited to video games) and critical essays about game culture and history. Here are some suggestions:

K. Salen, E. Zimmerman - Rules of Play: Game Design Fundamentals (Game design)

J.C. Herz - Joystick Nation (a witty history of video games from the '60 to the mid '90s)

A. Galloway - Gaming: Essays on Algorithmic Culture (critical theory and art)

E. Halter - From Sun Tzu to Xbox (war and videogames)

M. Wark - Gamer Theory (games and philosophy)

I. Bogost - Persuasive Games: The Expressive Power of Videogames (games for activism and advertising)

N. Dyer-Witheford - Games of Empire: Global Capitalism and Video Games (a neo-marxist essay on games)