BLAMetry!
WIP
March - April 2022
Background
BLAMetry! was created as a collaboritive project in the second half of DigiPen’s freshman first semester GAME 100 project course. Written entirely in C, this game was build on the school’s proprietary game engine framework called C-Processing. With the three person team comprised of only programmers, the artwork was designed to be lightweight and simple to render. This was the first time we’d had hands on experience with C language; most of the development time was spent becoming familiar with the basics such as arrays, structs, and pointers.
The game is played with a controller, with the left stick controlling the players’s position and the right orienting the ships weapon.
Object Management
All game objects were stored in structs and were then housed in static arrays. Most gameplay was based on timers that would allow
Physics
Audio
The audio for the game was my responsibility. Music tracks and sound effects were selected from the school’s library of royalty free assets. No bespoke effects were created but there was manipulation done to a few of the more repetitive sounds as to avoid listener fatigue during longer play sessions.
Pitch-Shift Randomization
An example of manipulating audio was with the player’s ship main weapon. The fire rate was set at a high rate to avoid situations where the player would be unable to hit enemies at a distance due to low volume of fire. C-Processing contained a function that could shift the pitch of an audio asset when triggered.
if (playerFire.x != 0 || playerFire.y != 0)
{
fireBullet();
if (!bulletSoundTimer)
{
CP_Sound_PlayAdvanced(shipCannon,
0.5f,
(float)CP_Random_RangeFloat(0.3f, 0.35f),
FALSE, CP_SOUND_GROUP_2);
bulletSoundTimer = 4;
}
else
bulletSoundTimer--;
}
When player shoots, the call to the engine for the sound event sends a randomized value between two values that I tweaked many times before it sounded just right (not overwhelming).