The game was created using the open-source Blender software. Blender has a wide variety of features, including 3D modelling, 3D rendering and video editing. It was, however, the game engine that attracted our attention. Blender has a large community on the internet, and when choosing an open software platform, the size of the community has a significant importance. A large community implies large numbers of users and developers. Our intention is for others to be able to modify and add new features to the game.
In the game, a mountain blue bird (Sialia currucoides) is flying near a mountain range, while collecting diamonds in the air. When collected, the colored diamond makes a sound. This sound is a kind of “reward”, even though no points are given in the game. If many diamonds are collected in sequence, the game will play a pentatonic melody. Pentatonic scales are common in children’s songs, so this type of melodic construction is considered suitable for children.
Screenshot from the game
In order to control the game with the respiratory belt, via the Arduino kit, a pySerial module is used. PySerial is open-source, written in Python 2.7 and allows reading the signal from the virtual serial port in the Arduino into a Python script. A minor problem, though, is that Blender uses Python 3.x as the scripting language, and there are some incompatibilities between Python 2.x and Python 3.x. For instance, Print and Except statements are written differently in the two versions. A patch was made for fixing the most severe incompatibilities. However, it was necessary to remove the Linux compatibility in order to avoid errors when running pySerial in Python 3.x. If this problem gets fixed, however, our game will be fully platform independent and can be used on Windows, Mac and Linux devices. More instructions in how to set up Blender and the Arduino kit with pySerial is can be found on this web page.