si 2007 game programming presented by: xiaojing wu, greg condit, shawn wang, jeff graetz, richard...

14
SI 2007 Game SI 2007 Game Programming Programming Presented by: Xiaojing Wu, Presented by: Xiaojing Wu, Greg Condit, Shawn Wang, Jeff Greg Condit, Shawn Wang, Jeff Graetz, Richard Georgeoff, Graetz, Richard Georgeoff, Dom Labanowski Dom Labanowski The Panda Squad The Panda Squad Led By: Pete Carswell Led By: Pete Carswell

Upload: geraldine-sullivan

Post on 29-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

SI 2007 Game SI 2007 Game ProgrammingProgramming

Presented by: Xiaojing Wu, Greg Presented by: Xiaojing Wu, Greg Condit, Shawn Wang, Jeff Graetz, Condit, Shawn Wang, Jeff Graetz,

Richard Georgeoff, Dom Richard Georgeoff, Dom LabanowskiLabanowskiThe Panda SquadThe Panda Squad

Led By: Pete CarswellLed By: Pete Carswell

Goals of Our ProjectGoals of Our Project

• Create a networked multiplayer Create a networked multiplayer game using tools such as Python, game using tools such as Python, Panda3D, Maya, Gimp, and Wings3D.Panda3D, Maya, Gimp, and Wings3D.

• Learn about the logic of game Learn about the logic of game conditions ex: finite state machines.conditions ex: finite state machines.

• Learn about networking connections.Learn about networking connections.

PythonPython

• Python is a dynamic object-oriented Python is a dynamic object-oriented programming language that can be programming language that can be used for many kinds of software used for many kinds of software development. It offers strong support development. It offers strong support for integration with other languages for integration with other languages and tools, comes with extensive and tools, comes with extensive standard libraries, and can be standard libraries, and can be learned faster than most languages. learned faster than most languages.

Python cont.Python cont.

• Python is similar to Python is similar to Perl in that they’re Perl in that they’re both interpreted both interpreted languages.languages.

• Python was created Python was created by Guido van by Guido van Rossum who named Rossum who named this language after this language after Monty Python.Monty Python.

Panda3DPanda3D

• Panda3D is a Panda3D is a 3D engine3D engine: a library of : a library of subroutines for 3D rendering and game subroutines for 3D rendering and game development. The library is C++ with a development. The library is C++ with a set of Python bindings. Game set of Python bindings. Game development with Panda3D usually development with Panda3D usually consists of writing a Python program consists of writing a Python program that controls the Panda3D library.that controls the Panda3D library.

• Made by Disney, bought by Carnegie Made by Disney, bought by Carnegie MellonMellon

Wings3DWings3D

• Software used to Software used to design 3D modelsdesign 3D models

• Used to design our Used to design our terrainterrain

• Best of all its free Best of all its free …legally…legally

ProcedureProcedure

• Learn Python and PandaLearn Python and Panda

• Experiment with Roaming Ralph and Experiment with Roaming Ralph and the Panda from Panda3Dthe Panda from Panda3D

• Create a usable terrain on Wings and Create a usable terrain on Wings and Maya.Maya.

• Load terrain into Python as a sourceLoad terrain into Python as a source

• Edit codes and collision rays.Edit codes and collision rays.

Our GameOur Game

• Capture the FlagCapture the Flag

• 2 teams2 teams

• 2 flags (one on each side)2 flags (one on each side)

• Goal: to get the opponents flag, and Goal: to get the opponents flag, and bring it back to your territory without bring it back to your territory without being tagged.being tagged.

Programming EssentialsProgramming Essentials

• CollisionsCollisions– Collision sphereCollision sphere– Aids in taggingAids in tagging

• TerrainTerrain– Wings3DWings3D– MayaMaya

Problems with TerrainProblems with Terrain

• Too ComplexToo Complex

• Characters collide Characters collide with everythingwith everything

• Had no Gravity Had no Gravity

• Characters fall off Characters fall off the terrainthe terrain

Other ProblemsOther Problems

• Collision spheres were wrong and Collision spheres were wrong and characters ran through each other. characters ran through each other.

• Characters fall through the terrain Characters fall through the terrain randomly. randomly.

• Server kept crashing due to wireless Server kept crashing due to wireless connection. connection.

• When a player was tagged, the character When a player was tagged, the character would be sent to a land of eternal would be sent to a land of eternal darkness unless restarted.darkness unless restarted.

Final GameFinal Game

• Line divides red Line divides red and blue side. and blue side.

• Flag floats above Flag floats above the player when the player when capturedcaptured

• Players do not fall Players do not fall through the through the terrain.terrain.

Due to the lack of time…Due to the lack of time…

• Flag fails to drop from the character Flag fails to drop from the character if he/she is tagged.if he/she is tagged.

• Graphics are not as good as intendedGraphics are not as good as intended

• There are still tiny bugs with the There are still tiny bugs with the cameracamera

• There is only one usable terrain.There is only one usable terrain.

ConclusionConclusion

• Gaming is a fast growing industryGaming is a fast growing industry• Game programs can be educational. Game programs can be educational.

Ex: Military/MedicalEx: Military/Medical• Learn computer languages.Learn computer languages.• Applying our creativity.Applying our creativity.• Game programming includes many Game programming includes many

different skills such as art/design, different skills such as art/design, networking, and coding.networking, and coding.