A few years ago I played for the first time Guitar Hero on a PS3 console, and I found it quite addictive. I later played the PC version, but I was not pleasantly impressed with the lag it had.
I discovered then Frets-on-Fire, an open-source game which did about the same thing, but without all the fancy graphics and worked reasonably well on my computer. It even had some mods which offered multiplayer support, but some of the features were not all that well implemented. It missed the whammy and in multiplayer there was no left-right separation between the players.
I found many versions of the game, but all of them were written in Python, which I was not familiar with, and furthermore it was one of the causes for the missing features (library support in python is really good, fonts and loading of images come out-of-the-box, but implementing non-standard features is a hassle and being an interpreted language it was also a bit slow)
Searching on the internet I found people who, like me, were not entirely satisfied with the result and wanted to reimplement it in C/C++. Some projects were started but they seemed to go nowhere. I decided then to start my own version.