Introduction
This lesson is designed for a Computer Science course and uses ActionScript 2.0 in Adobe (or Macromedia) Flash as the programming language. This lesson will teach students the basic principles needed to design a tile based platform game. Once the model is developed students can take their game in any direction they like. The tiles, character, and storyline are completely interchangeable and allow for a wide range of student projects.Prerequisite Experience
Students should have experience with Flash and coding with ActionScript 2.0.Teacher Prep Time
Teachers should prepare their own game to experience the process that studens will go through in this lesson.
Project
Students will create a multi-level tile based platform game.Assessment/Grading
Peer Evaluation - Workiing Final ProductTime Management Tips
Set due dates periodically for each stage of the lesson.Lesson Plan Details
Engage
This lesson will introduce creating a tile based platform game? What is a tile based platform game? Well take a look at this game by Armor Games called "This is the only level."
Web Resource 1: http://armorgames.com/play/4309/this-is-the-only-level
I chose this game as a sample game for a few specific reasons. I could have easily chosen Super Mario Brothers or Metroid, but this game reflects a little better on what it is we'll be able to create in class. The artwork is fairly comparable to what we can create given our current resources. The fact that they can take a simple concept and make it challenging across 30 stages using simple tweaks of the code is admirable. This game presents the entire stage on one screen, which is the concept we will be using in development of this game. Don't worry though...our next lesson will incorporate scrolling backgrounds!
I've taken our project and made level one of a soon to be Internet sensation "Virginia Jim". This will give you an idea of what's possible and a direction you might want to take your game.
Web Resource 2: http://bit.ly/caZ5kx
How can we make a tile based platform game that is challenging yet entertaining? What would the graphics look like? Who is your character? What are they after? Start brainstorming your ideas...we have a little programming to do before we start putting our own creative touches on our games.
Explore
Emanuele Feronato is a blogger that teaches about tile based platform game development in a series on his blog. You can use his code as a reference as you begin exploring the task at hand.
Web Resource 3: http://www.emanueleferonato.com/2008/09/14/new-tile-based-platform-engine-part-1/
You should be aware that as EF progresses through his tutorials he make many changes to the code in order to make it all work together in the end. In order to better explain your code you should follow each part of his tutorial if you choose to use it.
If you need some ideas about how to take a tutorial and make your own game from it, you should check out this blog post.
Web Resource 4: http://www.emanueleferonato.com/2008/06/04/how-to-use-a-flash-game-tutorial-to-make-your-own-game/
There are many other tutorials on the web for help with code. Please use as many resources as you can find to help you develop your game.
Here is an exmaple of another tutorial series on tile based games you could reference:
Web Resource 5: http://www.tonypa.pri.ee/tbw/index.html
We have a few tasks that we have to complete before we can start in on customizing our own game. Create a coding group that will tackle each of the following tasks:
Object Development
Dynamic Level Creation and Design
Player Creation
Player Controls
Player Colllisions
Environmental Interaction
Assign each person in your group a task. In the end you will be combining your code so you can take control of your own individual game and start making customizations on your own.
Explain
Bring all of your code together at this point. If you need to tap into other groups to get a working project together, please do so.
It is important that you understand what your code is doing. At every significant statement in your code comment that line describing what it's purpose is. If there are variables introduced be sure to explain how they are used. When finished you should have a working engine from the consumers point of view and well documented code that any programmer could pick up and understand.
If you need help understanding the code you put together try to find it's creator and work with them to get a detailed explanation of how it works.
Elaborate
In this section you will demonstrate you understand how your code works by starting the process of developing your own game using the engine.
Your focus areas are:
Create a storyline
Developing Artwork
Creating unique tiles (ground, ice, treadmills, lethal spikes, trampolines)
Create starting and endpoint to your game
You will be making your own unique game, but I encourage you to continue working together. You may want to recruit someone to help with your artwork in exchange for helping with a storyline. As you will be adding code to handle unique tiles you may want to trade off creation of treadmills for creation of spikes.
Evaluate
It's time to post your first level to the course website for evaluation. From here on, you will be grouped in to play testing groups where you will all evaluate and comment on everyone's game in the group. After you have reviewed comments from all of your peers you can go back and implement changes before your final submission is due.Extend
There are many web sites you can post your game to for public feedback.
I have researched and decided Kongregate (http://www.kongregate.com) will be our course site for publishing games. Before you publish your game you should review the terms of service and make sure you agree with how this site operates. You also need to be aware of settings within the site to manage commenting, ratings, and direct messaging. Bad things can come through these venues, so if you choose to leave them on you should be prepared for the possibility of inappropriate or offensive material. Of course, being your game you will be able to filter these type of things and most would be violations of the terms of service, but Kongregate does not monitor all the comments of all the thousands of games they have on their site. Managing those comments will be up to you.
There are many other places you can share your games...here are two more I found. You are not required to share your games on these sites and if you choose to do so, please review the terms of service to ensure you agree with how each site operates.
Web Resource 6: http://mostplays.com/upload/flash
Web Resource 7: http://www.pictogame.com/upload/
