Skip to content

An interactive 3D scene using Bullet physics, OpenGL, and SDL

Notifications You must be signed in to change notification settings

joeaoregan/LIT-Yr4-GamePhysics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Game Physics

Joe O'Regan (K00203642)

Year 4 (2017/18), Semester 7

BSc Computing (Games Design and Development)

Limerick Institute of Technology
25/01/2018 Updated Screenshots & Readme

Description:

Scene demonstrating the use of game physics using the Bullet physics engine, OpenGL (3D graphics), and SDL (audio only)


Videos:

Game Physics CA Scene 1

Bullet Physics: Youtube Vid 1

Game Physics CA Scene 1

Bullet Physics: Youtube Vid 2

Screenshots:

Screenshot 1: Castle Castle, walls are box objects, towers are cylinder and cone objects


Screenshot 2: Arrow created using compound shape The arrow is created using compounds shapes, and fired right-clicking


Screenshot 3: Arrows destroy individual castle blocks Arrows destroy individual castle blocks, with sound effect


Screenshot 4: Exploding Ball The exploding balls are created using sphere objects. Fired using the middle mouse button, they explode on impact with castle triggering an explosion at the point of impact, with sound effect


Screenshot 5: Castle walls destroyed by exploding ball Castle walls destroyed by exploding ball


Screenshot 6: Bonus Letter compound shapes The letters are created using compound shapes, and have a different points value and effect to the castle blocks


Screenshot 7: Explosion Tower exploding after being hit by exploding sphere object


Book used in creating the game:

Learning Game Physics with Bullet Physics and OpenGL


Running:

Requires Visual Studio. Created with Visual Studio 2017, and SDL dll files


Files:

My Additions:
No. File Description
1 Audio.h Game sound effects and music manager header
2 Audio.cpp Game sound effects and music manager functions
3 JoeScene.h Scene header file
4 JoeScene.cpp Creates the actual scene used, and its game objects
5 JoeSceneV2.h Testing version of scene header file
6 JoeSceneV2.cpp Testing version of scene
7 SDLInit.h Initialise SDL Audio
8 Text.h Game text header file
9 Text.cpp Functions to add text to the game, with singleton to access
Files reused from example programs:
No. File Description
1 GLDebugFont.h Example Program text functions
2 GLDebugFont.cpp Example Program text functions
Original Tutorial Files (Some with slight modifications):
No. File Description
1 BasicDemo Example basic demo scene
2 BulletOpenGLApplication Application layer code
3 CollisionFilteringDemo Collision filtering demo scene
4 DebugDrawer Interface to render debug data
5 FreeGLUTCallbacks.h Header file
6 GameObject Objects used in the scene
7 Main.cpp Create a scene using JoeScene class
8 OpenGLMotionState Motion state class
9 SoftBodyDemo Tutorial example demonstrating the use of soft body objects