Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 300 Spring 2005. Introductions The Mastrix team: –Jim Babcock –Eric Hayes –Christian Montoya –Yi Xu.

Similar presentations


Presentation on theme: "CIS 300 Spring 2005. Introductions The Mastrix team: –Jim Babcock –Eric Hayes –Christian Montoya –Yi Xu."— Presentation transcript:

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

7

8

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

11

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

15

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.

18

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

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

23

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


Download ppt "CIS 300 Spring 2005. Introductions The Mastrix team: –Jim Babcock –Eric Hayes –Christian Montoya –Yi Xu."

Similar presentations


Ads by Google