CIS 300 Spring 2005 - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

CIS 300 Spring 2005

Description:

Music. 3 songs, all created in Reason: Mastrix Fanfare. Space Rock. Ether. Most sounds are public domain downloaded. Except for the shot sound, created in Reason ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 25
Provided by: mastrixJi
Category:
Tags: cis | spring

less

Transcript and Presenter's Notes

Title: CIS 300 Spring 2005


1
CIS 300Spring 2005
2
Introductions
  • The Mastrix team
  • Jim Babcock
  • Eric Hayes
  • Christian Montoya
  • Yi Xu

3
Story
HELP!
4
Goals
  • Fast paced space shooter
  • First person shooter feel
  • Variety of levels
  • Unique weapons
  • Challenging AI

5
Game Play
  • 16 thrilling missions
  • Each has specific tasks
  • Get to a specific location
  • Destroy enemy fighters
  • Collect resources
  • Levels are arranged into campaigns that develop
    the story
  • Lots of power-ups
  • Lasers
  • Missiles
  • Nuclear launchers
  • Temporary invincibility shields
  • Damage repair

6
Game Play continued
  • Heads-up-display
  • Shield meter
  • Engine indicator
  • Radar / mini-map
  • Weapon selector
  • Fun stuff
  • Some areas have high gravity
  • Orbiting planets
  • Drifting asteroids

7
(No Transcript)
8
(No Transcript)
9
Physics
  • Initially, simple asteroids / space war physics
  • Hard to aim and slow
  • Update ship always faces cursor
  • Inspired by Wasteroids
  • Faster pace and allows strafing
  • Update camera follows the cursor
  • Inspired by Alien Swarm
  • Solves view problems
  • Adds FPS feel
  • Update afterburners
  • You get an initial kick when you start thrusting
  • End result Completely different from asteroids!

10
AI
  • Implementation
  • Waypoint graph
  • Dijkstras algorithm
  • State machine for decision making and steering
  • Overall principles
  • Beatable
  • Slower movement and shot speed, lower health
  • Competent
  • Lead their shots, avoid obstacles
  • Fully implemented
  • Modified physics
  • No friendly fire

11
(No Transcript)
12
Music
  • 3 songs, all created in Reason
  • Mastrix Fanfare
  • Space Rock
  • Ether
  • Most sounds are public domain downloaded
  • Except for the shot sound, created in Reason
  • All songs are available on the website

13
Multiplayer
  • Our game is networked multiplayer!
  • Death match was our first game objective
  • Was playable before single player levels
  • Multiplayer is a very different experience
  • Weapons are balanced for deathmatch
  • Extremely fast paced
  • Number of players is limited only by bandwidth
  • Powerups appear randomly

14
Networking
  • Based around simple message-passing
  • For example
  • SendMessage msg(message_updatehealth)
  • msg.putFloat(health/maxHealth)
  • msg.sendToClient(clientID)
  • Biggest challenge was setting it up initially
  • Not very efficient
  • Uses TCP/IP
  • Too much bandwidth
  • Vulnerable to lag and jitter
  • But great on a LAN!
  • Server finder
  • Central server tracks games
  • Its actually PHP on a web server

15
(No Transcript)
16
Scripting
  • Easy to interact scripting with main program
  • Bad syntax, no control flow or arithmetic
  • Very easy to add commands
  • Can tweak game parameters through console
    variables
  • float maxPlayerSpeed 1000.0
  • -vs-
  • ServerConsoleVariableltfloatgt maxPlayerSpeed(playe
    r_speed, 1000.0)
  • Can then change this in game
  • player_speed 1500 Make the player faster

17
Scripting cont.
  • Can call game functions through console commands
  • void screenshot(void)
  • static int screenshotNumber 1
  • Screenshot(retprintf(screeni.bmp,
  • screenshotNumber).c_str())
  • -vs-
  • CLIENT_CONSOLE_COMMAND(screenshot)
  • static int screenshotNumber 1
  • Screenshot(retprintf(screeni.bmp,
    screenshotNumber).c_str())
  • Can then call this in-game
  • bind f3 screenshot make F3 take screenshots
  • All of the controls work though the scripting
    system

18
(No Transcript)
19
Level Editing
  • Implemented through scripting with menus
  • Menu options
  • Add planets, spawn points, waypoints, regions,
    and power-ups at mouse cursor
  • Set flags like collision type
  • Console commands
  • Save current level
  • Specify boundaries
  • Set gravity
  • Level files
  • Add triggers, functions, and timers
  • Set advanced entity properties, such as initial
    motion

20
(No Transcript)
21
Art
  • No artist in the group, so we had to be creative
  • Most art drawn by Jim (mines by Eric)
  • Heads-up-display done through code by Eric,
    except for shield orb and icons
  • Star field uses parallax scrolling, continuous
    depths, and relative brightness
  • Plain shots have a cool jitter effect added
  • PARTICLE EFFECTS! LOTS OF PARTICLE EFFECTS!
  • Easy way to make game look good without drawing
    everything used for engines, explosions, weapon
    draw effects
  • But, to get them running smoothly, we dropped
    GameX for SDL/OpenGL

22
(No Transcript)
23
(No Transcript)
24
Summary
  • Thrilling single player mode with unique levels,
    innovative physics, variety of objectives, and
    challenging AI
  • Exciting multiplayer mode that makes great LAN
    parties
  • Useful level editor for endless fun
Write a Comment
User Comments (0)
About PowerShow.com