190 likes | 586 Views
Epic Paintball. Ryhan Hassan David Baker Sarat Tallamraju Scott Martin OSC SI Game Development Team ‘08. Why we chose this Project. Looked Challenging Can always continue improving, even after we leave Covers a broad range of topics. Software. Modeling. Mesh Creation. MakeHuman
E N D
Epic Paintball Ryhan Hassan David Baker Sarat Tallamraju Scott Martin OSC SI Game Development Team ‘08
Why we chose this Project • Looked Challenging • Can always continue improving, even after we leave • Covers a broad range of topics
Mesh Creation • MakeHuman • Fast Character Creation • Already Texture Mapped • Quick Exporting to Apps • Blender • Very Powerful & Flexible • Realistic with High Detail
Mesh Creation • Character • Generate Structure using MakeHuman • Reduce Polygon Count with Blender
Mesh Creation • Environment (Blender) • Buildings • Reduced Polygon Count by avoiding complex structures • Skydome • Keeps scale low for camera rendering, while giving a realistic panoramic view • Terrain • Changing Inclination for a more practical environment
Texturing • TurboSquid • Get Basic Texture • GIMP • Create/Modify Texture • Blender • Apply Texture
Animating • Blender • Forward Kinematics • Keyframing Animation • Interpolation • Export Chicken for “.Egg”s • Model File System
Physics • Collisions • Vector Node Pointing at Ground • Collision Detection Function • Jumping • Vt-1/2gt^2, g=9.8m/s/s • Iterated (looped over time)
Key Mapping W,A,S,D for Movement Mouse-Controlled Camera Movement Shift for Running, J for Jumping, Space for Shooting Calling Animations Controls
CTRL-C AND V Server/Client System Initialization Function Shutdown Function Transmission Control Protocol Packets Sending/Receiving User Datagram Protocol Client Side initNetwork(self) 2 startClient(self) csendMsgAutht(self) 1 adds readTask() and update World to taskManager client to server startServer(self) self.cWriter.send() adds readTask(), listenTask(), and update World to taskManager listenTask(self,task) readTask(self,task) listens for new connections NetDatagram, PyDatagram, msgtype nonblockingRead(cReader) PyDatagram, msgtype through readTask() datagramHandler() Server Side MSG_CPOS MSG_CQUIT updateClients() MSG_POS MSG_QUIT sets datagram to MSG_CPOS MSG_AUTH PyDatagram updateServer() quit() updateWorld() server sends to clients OR client sends to server Implemented as a Panda Task sets datagram to MSG_CPOS all the input controls from keyboard, mouse or other input devices Networking
3D World Multiple Players via Networking Implemented Animations Learned how to use Python & Blender (kinda) Solely used Freeware Crashed every Laptop in the workstation Accomplishments
Pete Carswell Prasad Calyam Elaine Pritchard Daniel Eyster Brianna Austin TurboSquid GIMP Blender Wings3d Python (IDLE) Panda3d MakeHuman Acknowledgements
Questions? None? Excellent