/EMG_Demo_Game

A demostration game made in Processing IDE following arm movements generated by EMG signals feedback

Primary LanguageProcessingOtherNOASSERTION

EMG Demonstration Game

A demostration game made in Processing and Arduino IDE following arm movements generated by EMG signals feedback.

This demostration was done by a group of three students of ‘Creative Electronics’, a BEng System Electronic Engineering 4th year module at the University of Malaga, School of Telecommunication (https://www.uma.es/etsi-de-telecomunicacion/).

This repository only contains the code, for prototype building steps visit our instructables article.

Introduction

The use of electromyography is often related to brain analysis, muscle analysis, use of robotic arms, therapies, etc. . But always within the field of medicine so it is often empathized with these terms with some fear. The ability to provide training games that are also fun is of vital importance [1] to begin to acquire a mentality in society more familiar and comfortable with electromyography because, after all, in the coming decades future developments and applications go in this direction, bio-robotics.

Unfortunately, EMG-operated prosthetics are perceived as difficult to operate, causing many potential users to choose to wear much simpler prosthetics or none at all. [2]

Game mechanics

The game will train some of the users' skills closing and opening the hands controlling the horizontal movement of a SpaceShip. Additionaly, the user can shoot a laser to destroy enemies (In this case it's trash freely moving though deep space). To add some kind of randomness and various degrees of difficulty, a static box area is displayed indicating the target object.

Graphical Interface

Static elements

  • Objective: Indicator of the objective, it can be any object that has been designed. If the player "hits" one of these moving targets, the score is increased.
  • Scoring: Increases or decreases depending on the "hit" items.
  • Game Background: Objects can appear at any point on the background, as they will move along the Z-axis, approaching the player.

Dynamic elements

  • The objects will appear at a certain distance and will get bigger and bigger from the point of view of the ship because of its approach to the object.
  • The objects may have a random speed with a very small magnitude (it should be borne in mind that the ship must be able to follow the objects sufficiently in advance).

User input movements

  • The user can rotate the ship horizontally (mainly limited by the final inputs of the prototype) by closing the left or right hand fist (depending on which side he wants to rotate)
  • At the moment of applying force (closing both fists at the same time) a laser beam will appear in the same direction as the ship at that moment. If the laser hits a satellite object, it destroys it. In addition, if it coincides with the objective to destroy, the score increases.

Michele La Malva Moreno (Author of Processing Code) - LinkedIn | Blogspot | Github