Generative Music Toy

Create great electronical music with ease, without knowing anything about music.

In my Bachelor thesis, I developped a musical toy that lets you intuitively create infinite unique music intuitivly. No music knowlegde required for players.

The game is only played with mouse and spacebar, no introduction needed. By clicking on one of the fields, you play a chord. Pressing space bar lets you record your notes, which will then come back as visual stripes and loop. You can then expand or „complete“ your loop by recording more or by switching your instrument. The goal is just to play around and make something that you like.

Project Information

Time

7 months

Tasks

Everything: Game Design, Programming, Audio Programming, Playtesting, UI

Tools

Unity, Visual Studio, Audio Helm, Davinci Resolve

Team

Just me

Context

Bachelor thesis in Game Design at HTW Berlin

Coaches

Prof. Thomas Bremer

Key Features

  • Musical toy, that encouriges you to freely play around
  • Press a key to generate new playable notes
  • Find your own play style: Create visual patterns, search for the „right“ tones, play fast notes, or follow your curiosity and try out new notes
  • Customizable: Switch instruments, change current notes, add layers, change the degree of rhythmic support, delete notes, start new loops

Unique Selling Points

  • Create great sounding music with ease
  • No musical knowledge required
  • Intuitive for a broad target group
  • Infinite unique results! As any playable notes are generated!
  • Broad range of musical outcomes

1-Minute Videos

My Contribution

  • Game Design: game concept, vision keeping, system design, UX, playtesting, feedback evaluation
  • Audio programming: conceptualizing, writing a library for midi note manipulation, writing logic for chord generation, using an external plugin for live audio synthesis and sequencing
  • Programming: code architecture, gameplay, controls, mesh generation
  • Shader programming: stencil buffer for masks, managing multiple shaders, simple Unity Shader Graph-shader, adjusting HLSL-shaders

Learnings

I became a better programmer as this project was the first I did completely by myself. I learned to take smarter decisions in the design process by looking more after holistic concepts. I learned a lot about generative and adaptive music and got faster at conceptualizing and implementing those.

Process

I chose for an iterative approach and a strong player driven design. The initial concept formed out of player feedback. After researching generative music in video games, I knew gaps in the market and had a taxonomy to determine my kind of wanted generative music. After a simple proof of concept prototype there were just lots of cycles of implementing and iterating based on player feedback. I stopped with a bigger playtesting to evaluate the end product.