AlphaKlang – The Experience of Sound is a 3D game and custom-build C++ framework which provides an abstract world which dynamicly changes to music.
Abstract World with dynamic objects
The game provides an abstract world, which identifies to the background-music and customizes itself to the music. For better gameplay, we integrate several 3D cubes to the world. These cubes have their own local sounds and does modifying and transforming itself to these sounds.
The whole environment is freely accessible and changes to music dynamicly in their forms, colors und sizes. Ground and skyboxes for example react to music frequency for changing there transformation. We also build a spectrum analyzer for clarification high, middle and low tones around the world.
This project AlphaKlang was programmed as a graphics framework with C++ programming language and graphics-library OpenGL. The difficulty was building it without usage of an external engine or framework for complete sound-recognition.
The framework was build from scratch with complete sound-recognition for giving the developer the power to create game objects and an world directly as simple as possible with frequency utilization. It was build as a tech-demo to show our skillset und as feasibility study for any further development.
Conclusion & Learnings
- Bad planing: We build a lot of unnecessary functionality (like sprite animation, collision, particle effects, flying objects, random movement) that we used only once. Instread we could build other existing feature better and more conplex.
- Not enouth prototyping: We used C++ with OpenGL for the first time. Also we choosed several libraries for image-loading until we came to an agreement which we want to use. This and the fact that we build our first prototype three weeks before finishing project bring us some problems with running outside the sandbox / debug build.
- Get better feedback: Build prototyping and let more friends, family and other players play your game. Than you know exactly how to priorize your further development tasks and what is feature you can leave off.
- More meetings: Start planing sourcecode-review meetings at least every week if you work with two or more programmer. Also check with sourcecode you use for more than one feature and optimize your programming-resources.