Paws of Madness: Intro
  • Capstone at RIT, worked with a team of seven people
  • My main responsibilities were scheduling and production, but I assisted each group with different tasks.
Paws of Madness: Programming
  • Gameplay:
    • Meteors
    • Portals
  • Graphics:
    • Skeletal Animation
    • Deferred Rendering with Particles
  • Audio:
    • Lance modular engine
    • Creating an engine level service and a game object level component
Paws of Madness: Meteors Design

By having meteors knock the player away vs killing them outright, we allowed the player multiple ways to interact with this obstacle.

Paws of Madness: Meteors Code
// Direction
LEVector vForceVector = 
XMVectorSubtract(player->m_pAsset->GetLocation
(),GetActor()->GetLocation());
	
float forceLength = 
XMVectorGetX(XMVector3Length(vForceVector));
float explosionMagnitude = (m_fRadius - 
forceLength) * m_fExplosionForce;
	
if(explosionMagnitude < 0.0f)
	return VECTOR_ZERO;
if(explosionMagnitude < m_fExplosionForce)
	explosionMagnitude = m_fExplosionForce;
if(explosionMagnitude > m_fExplosionForce * 2.0f)
	explosionMagnitude = m_fExplosionForce * 2.0f;

if(forceLength < 0.5f)
{
	float randomValueX = 1.0f - (((float)rand() /
(float)RAND_MAX) * 2.0f);
	float randomValueZ = 1.0f - (((float)rand() / 
(float)RAND_MAX) * 2.0f);

	vForceVector = XMVectorSet(randomValueX,
XMVectorGetY(vForceVector), randomValueZ, 0.0f);
}

vForceVector = XMVector3Normalize(vForceVector)
* explosionMagnitude;
	
return vForceVector;
Paws of Madness: Demo