Computer Graphics Final Project Report
By Elbert Christopher Larosa & Matthew Kharli
The final project, titled “Sniper Simulator Game” is a game where the player will act as a sniper recruit that is currently being tested by the academy, and that the recruit has to hit all the target practice placed at various positions and ranges. The player’s number of shots is limited and that the player must hit all the targets with the available bullets in order to pass. Although seemed like there is no obstacle, the player must fight against wind and gravity that could affect the shot, resulting in a miss.
Briefly, the list of features and interactivities of the game is shown below:
- Animation:
- A camera movement animation where the camera will move to approach the rifle scope, then changing the view into the rifle scope view.
- Target down animation, which is triggered when the target is successfully hit by the bullet.
- Controls:
- First person view controls (viewing without being able to move)
- Shooting controls, with the recoil effect when the player shoots.
- Zooming controls (zooming in and out to a certain zoom levels).
- User interface:
- Bullets Left UI, showing the number of bullets remaining before the player run out of any more chances.
- Target Remaining UI, showing the number of target(s) remaining.
- Wind Meter UI, showing the current wind’s direction (left or right) and intensity. The player must adjust the aim to match the current wind meter’s pointer, in order to compensate the wind effect.
- Distance UI, showing the distance from the rifle to a target. The distance UI will show a distance value when the crosshair is hovered toward a certain target. The player can then calculate the gravity effect from the given distance value.
- Winning UI, showing a winning condition statement and stopping the game controls. The player wins when the player is able to hit all targets with the available number of bullets.
- Losing UI, showing a losing condition statement and stopping the game controls. The player loses when the number of bullets available has run out but there are still target(s) remaining.
- Audio / Sounds:
- Target Hit audio, which is triggered when a target is hit.
- In-game BGM, which is triggered from the beginning of the game and is looped until the player wins / loses.
- Starting audio, which is a vocal sound recorded to indicate the start of the game.
- Winning BGM, which is triggered when the winning condition is achieved.
- Losing BGM, which is triggered when the losing condition is achieved.
- Rifle Shot audio, which is triggered when the mouse is clicked (the player shoots).
- Bullet’s movement calculations:
- Wind effect, which will cause the bullet to sway left or right (affecting the x-axis of the shot), depending on where the wind is currently heading. The direction and intensity of the wind are randomly generated (the values are still limited so that the bullet will not sway too far left or right), but there is a dynamic wind meter UI provided to help the player compensate for the wind effect.
- Gravity / Bullet drop, which will cause the bullet to drop down as it travels further distances in a parabolic matter. A quadratic formula is made to mimic the gravity effect and to fit the available targets’ distances. The resulting number from the calculation can then be used to measure how much higher should the player aim in order to compensate the bullet drop effect. There is the gravity effect value marker on the scope to help the player compensate the gravity effect.
Here are some screenshots of the game:
You can also watch the game’s demo here. (URL: https://youtu.be/y-RPu9e_eA4)