This is an interactive demo where the player controls a drummer on a concert stage. The player can interact with the drum set, allowing them to play basic drum grooves using the snare, hi-hat, and kick drum. When the player interacts with the guitarist, they play a guitar riff which the player can play along to on the drums.
Before compiling the demo, the following libraries must be installed:
- Assimp (Model Loading)
- OpenAL (Audio)
-
Player Controls
- WASD - Movement
- Mouse -Look
- E - Interact
-
Drum Controls:
- E - Exit Drums
- Q - Switch to overhead camera
- J / F - Snare Left / Right
- K / D - Hi-Hat Left / Right
- Space - Kick Drum
- AudioFile by adamstark (https://github.com/adamstark/AudioFile)
- Dummy (from past labs/projects)
- Modified in Blender to use wood texture
- Sphere (from past labs/projects)
- Drum Kit by Vaclav Marena (https://skfb.ly/6oKIn)
- Electric Guitar by the_dobrokot (https://www.turbosquid.com/3d-models/free-obj-mode-electric-guitar/901641)
- Amplifier by BrutalRender (https://www.cgtrader.com/free-3d-models/electronics/audio/guitar-amplifier-low-poly)
- Electric Piano by hazalabs (https://www.cgtrader.com/free-3d-models/sports/music/electric-piano-7b63c230-b51e-444c-970b-81427b7fc7ad)
- Spot Light by Photoant77 (https://skfb.ly/oAS8H)
- Steel Truss by katman1245 (https://www.turbosquid.com/3d-models/free-3ds-model-steel-truss/453746)
- Night Sky from NASA (https://svs.gsfc.nasa.gov/4856)
- Stage Floor from 3D Textures (https://3dtextures.me/2021/02/01/stage-floor-001/)
- Wood from Architextures (https://architextures.org/textures/1117)
- Drum Samples from wavbvkery (https://wavbvkery.com/acoustic-drum-samples/)
- Metal Guitar Riff by Minimal Prod (https://samplefocus.com/samples/metal-guitar-riff-f)
- OpenGL Reference (https://registry.khronos.org/OpenGL-Refpages/gl4/)
- LearnOpenGL (https://learnopengl.com/)
- OpenAL Programmer's Guide (https://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf)
- OpenAL Tutorial (https://indiegamedev.net/2020/02/15/the-complete-guide-to-openal-with-c-part-1-playing-a-sound/)
- OpenAL Example (https://ffainelli.github.io/openal-example/)