Download presentation
Presentation is loading. Please wait.
Published byApril French Modified over 9 years ago
1
CIS 300 Spring 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
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 –Dijkstra’s 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
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 –It’s actually PHP on a web server
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- ServerConsoleVariable maxPlayerSpeed(“player_speed”, 1000.0); Can then change this in game player_speed 1500 # Make the player faster
17
Can call game functions through console commands void screenshot(void) { static int screenshotNumber = 1; Screenshot(retprintf(“screen%i.bmp”, screenshotNumber++).c_str()); } -vs- CLIENT_CONSOLE_COMMAND(screenshot) { static int screenshotNumber = 1; Screenshot(retprintf(“screen%i.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 Scripting cont.
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
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
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.