A video game based on the old arcade game 'Dig Dug' which exhibits inheritance, encapsulation, and complex shortest-path algorithms | C++
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets
Debug
irrKlang
Actor.cpp
Actor.h
FrackMan.vcxproj
FrackMan.vcxproj.filters
FrackMan.vcxproj.user
GameConstants.h
GameController.cpp
GameController.h
GameWorld.cpp
GameWorld.h
GraphObject.h
README.md
SoundFX.h
SpriteManager.h
StudentWorld.cpp
StudentWorld.h
freeglut.h
freeglut.lib
freeglut_ext.h
freeglut_std.h
irrKlang.lib
main.cpp

README.md

FrackMan

A video game based on the old arcade game 'Dig Dug', circa 1982

Description

‣ The object of the game is to find all hidden Oil Barrel objects and proceed to the next level without getting caught by the AI, also known as the Protesters

‣ The Regular Protesters (in dark blue) only follow the player when you, the Frackman (holding a pickaxe), are in their line of sight

‣ The Hardcore Protesters (in overalls) calculate your current location during every tick of the game and derive the shortest possible path towards you

‣ Everytime a Protester comes close to your location, you will lose health. Once your health drops to 0%, you lose the game

Design

‣ Implemented the game using C++, exhibiting concepts such as polymorphism, inheritance, and encapsulation

‣ Designed a method for the AI to follow the location of the player on the grid with a recursive, queue-based algorithm that performs a breadth-first search

‣ Devised a hierarchy of game objects to distinguish the different objects and store them in a single array under a universal superclass to prevent code duplication

‣ Developed an algorithm to raise the difficulty of each level by periodically increasing the number of Oil Barrels, Protesters, and Boulders on the grid