cis 487 game design i chapter 6 and 7 n.
Skip this Video
Download Presentation
CIS 487 - Game Design I Chapter 6 and 7

Loading in 2 Seconds...

play fullscreen
1 / 21

CIS 487 - Game Design I Chapter 6 and 7 - PowerPoint PPT Presentation

  • Uploaded on

CIS 487 - Game Design I Chapter 6 and 7. Blake Farrugia 10/24/2011. Chapter 6 – No Tanks. The next game focuses on projectile shooting using tanks. You play a green tank, killing blue tanks and gaining treasure to complete the level.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'CIS 487 - Game Design I Chapter 6 and 7' - electra

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
chapter 6 no tanks
Chapter 6 – No Tanks
  • The next game focuses on projectile shooting using tanks.
  • You play a green tank, killing blue tanks and gaining treasure to complete the level.
  • This game incorporates everything the book has covered so far.
  • New changes include tiles, sprite sheets, maze logic, moving enemy AI
  • The last chapters talked about sprite sheets in general, but they implemented the assets in a separate image manner
  • This chapter uses an actual sprite sheet (one full picture) to animate the player, enemies, and explosions
  • Sprites are all 32x32 pixels; the map is set up as a 20x15 grid of tiles created using GIMP

tile set with id numbers
Tile Set with ID Numbers

0 1 2 3 4 5 6 7




25 26 27 28 29 30 31

map setup
Map Setup
  • Each tile ID is stored a 20x15 2D array of ints
  • The game uses this information to set each tile as needed to be in the map
  • No Tanks creators used a tile map editor called Mappy to make their map setup easier

  • Arrays for map setup are stored in the Level1 class derived from Level
map sprites and object sprites
Map Sprites and Object Sprites
  • The map itself is made of environment tiles, but object sprites are made of their own separate tiles
  • Some are in sets (idle sprite, animation sets)
  • Icons such as ammo upgrades and extra lives have their own sprites
  • Object sprites are stored in a 2D array within the Level1 class
using tile data
Using Tile Data
  • Mappy exports code usable by ActionScript, but some work has to be done to make that code functioning
  • Mappy creates 2D arrays for to use
map setup1
Map Setup

backGroundMap = [

















map setup2
Map Setup

spriteMap = [

















using tile data1
Using Tile Data
  • to store all tile data and some frame data from XML

package {

public class TilesheetDataXML {

public static varXMLData:XML=


<tile id="0" name="road" type="walkable"></tile>

<tile id="1" name="player" type="sprite"></tile>

<tile id="2" name="player" type="sprite"></tile>


<tile id="31" name="blueblock8" type="nonwalkable"></tile>

<smallexplode tiles="17,18,17"></smallexplode>

<largeexplode tiles="17,18,19,18,17"></largeexplode>


} // end class

}// end package

using tile data2
Using Tile Data
  • The GameDemo class parses and assigns tiles and creates all level properties
  • This class will be extended incrementally to build the complete game
  • Complete game is contained in
flash region drawing
Flash Region Drawing
  • The sprite blitting used in No Tanks combines bitmap redrawing with Sprite class screen invalidation techniques that Flash does so well
  • Want to see Screen Invalidation? Right click most Flash applications and click the option “Show Redraw Region”
  • Individual object sprites (tanks, upgrades) will redraw themselves separately rather than drawing to background constantly
new level creation
New Level Creation
  • New levels are hardcoded on top of a Level class.
  • This is due to the fact that the author wants to keep all resources within the SWF and not have any external resources
  • This changes as needed, but the first (and only) level is called Level1
chapter 7 game implementation
Chapter 7 – Game Implementation
  • This chapter focuses on:
    • AI Logic
      • Line-Of-Sight firing
      • Pathfinding
    • Individual Sprite Blitting
      • Rotation
      • Smooth Movement
tile movement
Tile Movement
  • Tile-By-Tile movement used to be the norm for tile-based games. It’s rickety and not too pleasant to view
  • Smooth tile movement will be used in No Tanks
  • Cornering will only work when sprites are in the center of a given tile
blitsprite as
  • A class that extends Sprite while adding frame animation functions
  • A reference of TileSheet is passed to it, and the held bitmap is redrawn individually using the copyPixels method
  • Rotation functionality is appended into this class and will be utilized by the next class,
tilebytileblitsprite as
  • A class extending BlitSprite, so BlitSprite functionality can be used for non-tile games
  • Holds additional direction, movement, and destination logic
  • Sprites that are not environment will use this class
game setup
Game Setup
  • The majority of the game is run through
  • A majority of the game’s setup is run through
  • NoTanks handles much of the event code after GameDemo’s initial setup
iteration testing
Iteration Testing
  • Within the project, there are several versions of the GameDemo class
  • Each class adds new functionality and incrementally builds the entire game
  • These were general tests for successful integration of all parts of this game:
    • Sprite Rendering/Collisions
    • AI Logic
    • Movement
    • Sounds
  • Iteration 1 – adds the player avatar coide
  • Iteration 2 – add key logic to move the player
  • Iteration 3 – updates states for player moves
  • Iteration 4 – Rendering player movement
  • Iteration 5 – Adding and moving enemy tanks also divides game platform into regions
  • Iteration 6 – Game AI added for enemy tanks (targeting, movement, collisions), sounds added to game
region tracking and chase objects
Region Tracking and Chase Objects
  • Regions are quadrants of the level that the game focuses calculations on
  • As the player moves, the contents of a given region begin to react
  • Chase Objects are managers which point a predator object towards the path of a prey object
  • Chase objects handle pathfinding/attacks for enemies