IC HealthHack 2017

IChealthhack

IC HealthHack is a hackathon organized by Imperial College London combining bioengineering and computing to produce “serious games in the public health sector taking advantage of biomedical technologies”. This was the first year this kind of hackathon was organised by Imperial and it was great fun! Teams got together to build cool stuff such as a program giving the user alerts when they’re slouching in front of a computer, various games utilising Microsoft Fizzyo device to help make physiotherapy of cystic fibrosis patients more enjoyable, and analysis of large samples of data to see how likely patients are to turn up late to appointments. Read on to see what our team built and skip to the end to see the project links!

Our team consisted of a 2nd year Computing student, two 1st year Bioeng students and me. Before coming to the hackathon, I didn’t know any of these people and my idea of what I wanted to work on was completely different from what we actually built, using an engine I’ve never used before — therefore, if you’re thinking of joining a hackathon, it’s perfectly fine if you don’t know what to work on or don’t have a team formed, as long as you’re excited about programming and are willing to learn!

The hackathon lasted for 2 days with break in between, i.e. something like 10am-10pm on Saturday and 10am-3.30pm on Sunday. The first day had many talks given by the sponsors including Microsoft and McKinsey as well as introductory talks by medical experts, and an evening talk on using git for version control. The second day was mostly programming and then presentation and results in the afternoon. One of the talks was focused on using the Microsoft Fizzyo device which is a medical device used for treatment of patients suffering from cystic fibrosis. It can be connected to a computer via USB and pressure data from the device (indicating breathing in/out cycles) and pushes of a button can be read out. This can then be used to control the game.

Our team has decided to use this Fizzyo device in conjunction with the Unity game engine programmed in C# to make a variation of the popular Space Invaders game. In the game, the player moves periodically up and down on the left side of the screen while enemy aliens are generated on right side of the screen and move to the left. The player can then shoot the enemies by pressing a mouse button and every time an enemy is killed the player’s score increases. This is all we have managed to implement within the hackathon’s time limit because of difficulties with interfacing the Fizzyo device with computer.

The original plan was, however, to use the breathing cycle frequency calculated from input of the Fizzyo device to set the amount of ammunition the player can use, where the closer the breathing pattern is to the ideal breathing frequency, the more ammunition the player should get to shoot down the enemies. Also, the press of the button on the device was supposed to fire the shots at enemies instead of the press of a mouse button. Because our team has already developed the algorithm to calculate the score from the pressure data from the Fizzyo device and also written some corresponding code, with some more work the original idea could be implemented hopefully with not too much difficulty.

chromosome7-screenshot2

Just for my own bookkeeping, my work on the project involved coming up with the approximate idea of creating a Space Invaders variation (where others obviously contributed as well), and working on the Unity C# code for making the spaceship move periodically up/down, the code for controlling the spawning and movement of aliens, and the controller code for collisions between missiles and aliens. Attending the hackathon was a really great experience where besides meeting some very interesting people I learned how to collaborate with others both in real life by splitting the project tasks and also by working on the same repository using git and GitHub (most of my projects so far are done just by me, so I didn’t have to use the ‘pull’ command very much). I also basically learned how the Unity game engine works from scratch and how to write code for it in C#.

All in all, I would definitely recommend attending similar events to anyone, regardless of your programming experience!

If you’re interested, here are some links to the project: