I would like to tell about the story of the creation of my first game called EasyPianoGame, how it, grew into a game in three incomplete years from a small program written during a couple of nights, and share statistics for the first month after the start of the game’s page in Steam.
About the game
This is a musical game in which you can play any song on the piano by notes, without special knowledge and work.
In the game you can fully play the piano using only 8 keys of the PC keyboard. Don’t be afraid of the appearance of notes in the game. Absolutely anyone can easily understand in a couple of minutes how to play by these notes.
To play, you just need to observe the rhythm and pace of the song by pressing the required number of any keys, and the computer will make sure that the necessary sounds ring after pressing the keys. This approach allows you to almost immediately start playing at a good level, because:
You don’t need a piano, just a PC keyboard
You don’t need to train your fingers for hours to correctly press the keys
You don't need to remember which keys to press
How did the idea appear
I always wanted to learn to play the piano, but as a child I had no possibility, and when I grew up, there was already little time because of studying at the university. Therefore, I sometimes looked for different piano simulation programs that could be played using the PC keyboard. For all the time, I haven’t found the program that I would like, and in which I would spend more than five minutes trying to learn how to play my favorite tunes.
The main problem and disadvantage of such programs is that the PC keyboard is simply not designed for comfortable and full-fledged playing the piano. The keys in the piano are arranged in a specific, repeating sequence, so that they can be easily found, pressed and their location can be remembered, which is much more convenient than on a PC keyboard.
Also, in many programs there was no good sound.
Of all the tested programs, I used the program from virtualpiano.net for some time.
On this site, they make special notes from the characters of the keyboard, pressing them you can play.
Here is an example of such a note:
e t y y – y u i i – i o u u – y t t y – e t y yy u i i – i o u u – y t y – e t y y – y i o o –o p P P – p o p y – y u i i – o p y – y i u u – i y u
In virtualpiano.net, I couldn’t play at a constant speed and without stopping. I constantly stopped to find the right key and it didn’t resemble the melody I wanted to play.
Somehow an idea came to me. What if, I’ll just press any key, and the computer will look at the notes and find the right sound?
I quickly made a program that received a text file with notes from the virtualpiano.net website, and when I pressed any key, it reproduced a terrible synthesized sound, not much like a piano one. I had to only press the necessary number of keys and observe pauses.
Afterwards, I constantly improved the program. I improved the sound, added the ability to change the notes “on the fly” and visualize them in a more convenient, readable form. Soon, I got bored with notes from virtualpiano.net. With my cheat, they became too easy for me. I came up with my own format for notes, manually translating real notes for the piano into it. It was very tiring, and I immediately gave up this venture when I learned about the MIDI standard.
What is MIDI? In a nutshell, these are the rules in the world of electronic musical instruments about the transfer and storage of musical data (such as, for example, pressing a piano key with certain force). MIDI files are very common. Today, in this format you can find any song you need. Such files store data about which note and at what time should sound. For example, you can record the performance of a pianist there – not the sounds themselves, but all the information that he made with the instrument during the performance.
I studied the MIDI standard and added its support to my program. Now, it can open any MIDI file and any musical instrument with a MIDI interface can be connected to it.
Standard music notation
I didn’t stop at that point, I had to visualize the data stored in a MIDI file, namely the durations that make up the rhythm. I didn’t invent a bicycle and turned to musical notation. The one with five lines that musicians use to record music on paper. At first glance, the appearance of the notes is confusing. If you describe everything in a nutshell, a note (sound) is characterized by two parameters: the pitch of the sound and its duration. Durations are shown with different signs.
There are only five main durations and they are easy to remember. The longest is a whole note, all the following are two times shorter, and they are called, respectively, half, fourth, etc.
The pitch of notes is a bit more complicated thing. The pitch of a note is determined by its position on five lines.
The piano has 88 keys, and each of them has its own position on the lines. Fortunately, we don’t need to continue the lecture about the pitch of the notes, because the computer takes care of this routine by determining the right key.
As a result, I borrowed five characters from the musical notation and added some details from myself.
I visualized durations to see measures relative to other notes. And, even if the user doesn’t know the signs of duration, he can understand how to play them.
2. I divided the measure into sections showing one beat of the metronome.
Although the height of the notes is not needed for the program, I left the lines to make them look like real musical notes. In the program, notes can be in seven different positions on four lines, depending on their pitch (do, re, mi, fa, salt, la, si, do).
I was improving the program for two years with interruptions, in the process I learned a lot. Eight months ago, I thought that the idea of the program could be interesting for others, and I decided to finish it to a full game and release it in Steam in early access.
Why early access? I have no experience in creating games, and I'm not even sure if I correctly call my program a game, because I didn’t find anything like it. I want to be in early access to look at the reaction and interest of the players and, if something happens, change, remove or add some things. Also, I have some ideas for other game modes, and ideas for improving sound quality and realism.
Now the game is stable, it can open any MIDI files, you can play through a MIDI keyboard, output sound to other MIDI instruments, and it has a fairly good sound. There are 10 simple classical pieces (in the future their number will increase). You can also find any song in MIDI at musescore.com.
Having entered the game, you can easily understand the principle of the game. Even if you don’t know how to read music, just by listening, you can repeat what you hear, observing the rhythm. There is a training mode, which takes 30 to 40 minutes, where you can learn how to play by the metronome and find out everything you need for the game.
Speaking of player interest
Exactly a month ago, I published a page in Steam and received the following results:
Since publication, the page has been visited 6,200 times, and the number of additions to the wish list is only 190. When compared with indicators from posts by other indie developers, it seems like an absolute failure. I must add that I was not involved in marketing at all, in this post I am talking about the game for the first time.
Is it possible to judge by these indicators the interest of players?
It seems to me that in vain I made the interface look like musical notes. Now, when potential buyers go to the page after seeing screenshots and musical notes on them, they immediately leave it without looking at the trailer. I wanted the player to be able to play the same piece with different intonations. So that he himself decides what speed to play, when to press and how long to pause, and if you play through a MIDI keyboard, then control the force of pressing. I think the interface had to be done in the style of Guitar Hero. This will be the first thing I add in early access, a game mode with falling notes.
The increase of visits in late August was due to the fact that I was not serious, setting the release date too early, and didn’t have time to prepare the build. Later, a couple of days later, I turned to support and set an exact release date on October 3rd.
Thank you for reading all this.
Finally, some links
Steam page: Store.steampowered.com
Gameplay video: Youtu.be