Design and implementation of a 3d video game using OpenGL

trexpeeverSoftware and s/w Development

Dec 13, 2013 (3 years and 5 months ago)

87 views

Design and implementation of a
3d video game using OpenGL

Antonio Ortells

Luis Portillo

Antonio Ortells and Luis Portillo

Introduction: A videogame


What does it involve?


Extra libraries


Tones of programming


Design and 3D theory


Fast Computation


I/O management skills


Plot


Fun!

Antonio Ortells and Luis Portillo

Index


Decissions


MilkShape 3D


Skeletal Animations


Enlightenment algorithm


The “click” of the mouse


Game overview


Credits

Antonio Ortells and Luis Portillo

Decissions: Platform


Windows


Ease of distribution


Everything is implemented


LINUX


Open source


OpenGL


Works in both platforms (and even more)

Antonio Ortells and Luis Portillo

Decissions: 3D Graphics and
models


OpenGL (
www.opengl.org
)


MilkShape3D


Skeletal Animation


Bounding Box

Antonio Ortells and Luis Portillo

Decissions: Sound


Standard C++ sound directives



FMOD library


Channels, Streams…


Big functionality


For free*!

*If you don’t go commercial with your works

Antonio Ortells and Luis Portillo

Decissions: Controls and AI



Standard C++ I/O


Ease and no need for more



“Dumb” enemies


Flow control

Antonio Ortells and Luis Portillo

MilkShape 3D


Easy, functional and convenient


Free*!


Trial period of 30 days / $25 a license


Imports/exports over 30 3Dformats


Implements great tools for design


Implements skeletal animation


Easy as 1
-
2
-
3

Antonio Ortells and Luis Portillo

Skeletal Animation


The most natural way of animating 3D
models


Define joints and bones


Tie vertices and “muscles” to them


Start moving them around


Generate transition matrices


Start the fun!

Antonio Ortells and Luis Portillo

Enlightenment algorithm I


Tens of rooms in the world


Tens of 3D models in each room


Thousands of points in each model


The problem:

Very slow execution of


the program

The
solution
:

Enlightenment algorithm

Antonio Ortells and Luis Portillo

Enlightenment algorithm I
I

How does the algorithm work?

Antonio Ortells and Luis Portillo

Enlightenment algorithm I
II

What do we need to implement the algorithm?

A new
world format

This will make the execution of the
program faster as we will see in a
few minutes.

Antonio Ortells and Luis Portillo

Mouse click

Buffer:


Antonio Ortells and Luis Portillo

Acknowledgements

We would like to thank:


The University of Miami, in special


Dr. C. Duncan


Dr. B. Djokic


Friends, in special the ones that are here ;)


Home universities


Polytechnic University of Valencia, Spain


University of Granada, Spain



Antonio Ortells and Luis Portillo

Credits


Milkshape 3D
(
www.swissquake.ch/chumbalum
-
soft
)


OpenGL (
www.openGL.org
)


Some models from:


Plan
-
it3D (
www.planit3d.com
)


Entidad 3D (
www.entidad
-
3d.com
)