Project description

Dungeon Chronicles was a DX10 3D game that I worked on with a 7-person group in my last quarter at RIT. It's a third-person action-oriented RPG that allows you to pick between several classes to adventure through the dungeon. Our project plan had a few scope issues compounded with the complications of making an engine from scratch, but by the end of the quarter we had a project to present that we felt satisfied with.

Building the project

Prior to building, you may have to edit the solution's Additional Include Directories under Configuration Properties>C/C++>General, to include the DirectX SDK's include directories. Also, under Configuration Properties>Linker, set Additional Library Directories to include the DirectX SDK's lib directory.

My contributions
This project was created in tandem with a group of 6 other people. We were given seperate sections of code to work on individually. My goals were oriented around the game's physics systems. The primary code files and classes I worked on are:

OBB.h
Stands for Oriented Bounding Box; gives information on a rotated bounding box in the environment, as well as its position. Contains methods to rotate it in a certain direction, find the bounding box's forward vector, and find a sphere that encompasses the entire box. (for fast collision detection in certain scenarios)

AABB.h
A simplified version of the Oriented Bounding Box, the Axis-Aligned Bounding Box has no rotation, and is easier to work with for most collisions. Given the nature of the game, it was not used very often, except as a temporary object.

SphereBB.h
A collision format used for circular objects; primarily spell abilities.

OctNode.h
An Octree that divides the game's area into 8 quadrants recursively, to make collision detection take less time. Entities have themselves updated in the octree anytime they are moved.

PhysicsManager.h
PhysicsManager.cpp
These files were essentially a static class filled with methods relating to hit detection and resolution for the shapes involved in the game. It's worth noting that this game had no form of gravity, and little vertical movement, since the player character was unable to jump and the terrain format was very flat.

Some minor additions to...

Entity.h
Entity.cpp
The basic level entity class for our game; refers to obstacles, players, enemies, and mid-air abilities. Subclassed for more specific functionality.


Created by David Keyworth