Rehabilitation Training Software

The Rehabilitation Training Software Team is creating additional training games/simulations for the Arm Assist rehab hardware from Tecnalia. This device is intended to help stroke patients regain motor control. There is a testing suite that evaluates the patients current status based on four criteria: range of motion, control of motion, range of force, and control of force. Tecnalia has asked us to develop an additional training game for the Arm Assist device. 
==Problem Definition==
Tecnalia has already developed a number of training games for use with the Arm Assist. Based on feedback from the patients (as well as their therapists), Tecnalia would like to add an additional game to their library with an emphasis on entertainment, rather than performance evaluation. 
===Deliverables===
At the end of Fall Semester 2014, Team Kaixo will deliver a playable demonstrations of the game, as well as designs and concept material for a final product. By the end of Spring Semester 2015, the game will be polished and fully integrated into the Arm Assist Software Suite. There will be documentation outlining the structure of the program and design process so that Tecnalia can easily adapt, alter, and update the software in the future, should the need arise.
===Specifications===
Tecnalia has requested a new training game that is both fun and therapeutic for the patients. The patient will be interacting with the game using the Arm Assist control which will need to be fully implemented in the software. The controls of the game need to focus on improving movement and control the patient has of their impaired appendage. The team has been informed that making the game fun and robust is of the highest priority.
In terms of hardware specifications, the only limitation is that the games need to run smoothly on a low-end, consumer grade machine.
==Project Learning==
The most important aspects of rehabilitation (in relation to training game designs) are the four main areas of range and control. Range of Motion, Control of Motion, Range of Force, and Control of Force. These areas are tested by a series of assessments (pictured below). They test the extent of possible motion for the patient, as well as precision with which they can make the motions.
For each of the assessments shown above, the patient extends themselves to the best of their ability. This allows the games to know the extent of patient movement, which will be crucial for making sure that the workspace is manageable and objectives are not placed outside the area that a patient is capable of moving. The range of motion assessment (Shown above as "b") is the most critical assessment for that purpose. Many of the current games rely on force to be used as a "click" in order to pick up puzzle pieces or cards. The Range of Force assessment determines whether that is a viable option or not. If the patient has little or no control over how much weight they are putting on the Arm Assist, then a timing method (hover for 2 seconds, etc) can be used in place of the force controls. 
Team Kaixo has done additional research in the areas of robotic and virtual assisted rehabilitation in addition to game design targeting the 50+ age demographic.
Following are links to some of the findings and summaries:
Virtual Reality Rehabilitation - Ben
Games To Keep You Young - Charles
Games for Neuro-Rehabilitation - Gleidson
Post Stroke Tele-Rehabilitation - Sean
==Implementation==
The language in use for this project is python using the pysfml graphics library. Team Kaixo chose this in an attempt to meet requirements and allow for rapid prototyping along the way which will benefit a "wide-open" project such as this by allowing all ideas to be explored and not just talked about.
Artificial Intelligence was requested as a means of "auto-play" where the player could watch the game play itself and get the hang of what is expected of them. This was also desired to play a role in active-assist technology where the arm assist would move itself to begin the muscle memory rebuild of patients. 
AI was implemented using an A* algorithm for decision making. This algorithm is based on the assignment of values to all directions and selection of best path through the obstacles. Additional information regarding the theory of A* pathfinding algorithms can be found here: http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html
Character movement has been designed around the concept of crossing thresholds. When a patient moves to the top from anywhere else on the arm assist pad, they will execute a jump, and the longer they stay in that upper area, the higher the jump and the longer they are airborne as a result. Power-ups will be used on collection for now, but Team Kaixo has attempted to have modularity such that any change to this will be a simple process in the future. Movement of the character has been simulated by mouse movements for the most part throughout the project. This has been sufficient to demonstrate the method of character movement and to try and refine the flow (and difficulty) of the game. 
==Project Evolution==
The following is a representation of our early graphics with the space man and alien theme. We will be designing levels for an infinite runner style game based on these sprites and will update the graphics and level design details as they become available. 
Early Concept	Final Assets
 	
 	
 	
==Team Information==
Picture 	Bio	Discipline
 	Ben Hofferber:
Ben is a 4th year Computer Science student with an emphasis on Computer Graphics. He spent the last two summers interning for Clearwater Analytics in Boise as a software developer and will be returning following his senior year as a full time developer.	Computer Science
center|150px	Sean Harris:
Sean is a Computer Science major in his senior year at University of Idaho.	Computer Science
 	Gleidson Mendes Costa:
Gleidson is a 3rd year in Computer Science focused on Game Development. He spent his two last years on Tutorial Education Program in Federal University of Maranhao, Brazil, as a Researcher and Instructor of Game Development.	Computer Science
 	Charles Miller:
Charles is a 4th year Computer Science student. He spent his sophomore year as an intern with Schweitzer Engineering Laboratories where he gained experience in software design and testing practices. He has enjoyed working for University of Idaho ITS for the duration of his time at UI and looks forward to finishing his Bachelor's and starting a career.	Computer Science
==Document Archive==
[https://www.dropbox.com/s/bs7s8mc27unatnk/TeamContract.pdf?dl=0/ Team Contract
[https://www.dropbox.com/s/b268ztp4rz5d7lg/Poster_002%20%282%29.png?dl=0 Expo Poster(1st Draft)
[https://www.dropbox.com/s/my0gdlbfz8u1gjn/Poster_003.png?dl=0 Final Expo Poster
[https://www.dropbox.com/s/ma46s0tzq5p1myq/ExpoTechPresentation.pptx?dl=0 Expo Tech Presentation