12/8 Update

What each individual in the group worked on over the last week:


  • Added codes to prevent overturn: No rotation in any direction should go cross the down direction. This is crucial for our physics model and is a reasonable assumption in sky diving. Otherwise, the force direction will be messed up and the flight will be uncontrollable and could be fatal in reality.
  • Implemented algorithm to convert iPhone RYP data into model transformation.
  • Added variables to store calibrated RYP data.
  • Added codes to compute a global fanSpeed variable, which will be used by Wasim’s module to control fan speed.
  • Merged my codes with Li’s work.
  • Tried to improve the feeling of speed, but not much success.

Li: Added the calibration screen and codes. Added rock texture to the mountain.

Mel:I added a collider to my plane so it no longer runs into objects such as the mountains or the lake. I added a runway with some road assets so it looks nicer, too. I also messed around with a new environment scene asset which will make my island look more realistic. I messed around with grass but I did not like this. I thought it looked the opposite of realistic. For some reason it took me forever to figure out how to paint grass onto my screen. My painter tool was not working. I also messed around with having the cockpit the main view again, and I honestly wasn’t a huge fan. You couldn’t see the wings that well. I don’t think it is as realistic, but I like it that way better. I think I can maybe start the game in the cockpit and fly out essentially. I also changed my starting point of the game to be at the runway. Now I just need to take off and add the audio files to give directions for people to do things. For my problem of decided to crash when I get close to a mountain, I am going to add an audio file and if they maybe touch the mountain, then I will start the plane simulation over again.


  • Testing of FAN speed controller circulatory end to end.
  • Writing C# application to talk to arduino.

Accomplishments made: 

Danny: More robust physics model. iPhone control. Merged project in Github


Mel: I no longer run into the assets and collide into them, I created a runway, I made a more realistic environment, I found some nice audio assets for what I want to do in the scene and created my plane at a nicer starting point at the beginning of the runway. (Just need to take off now).


  • FAN speed controller circuitry is is working fine. Arduino is able to generate gate firing pulses for exact intervals.
  • Wrote a C# application to send and receive commands to/from arduino. Tested it, its working fine.

Problems Encountered:


  1. Detecting overturn is tricky in a moving frame. I eventually used a inner product to defined a cone around the absolute down direction, and reject any update if the updating result of head direction and arms direction fall in the cone.
  2. Version control of Unity project is a nightmare. Many auto-generated codes and binary files. I ended up made a new branch.
  3. Following the real world physics is making the game super difficult. It is very hard to go through the tunnel if the starting position is not chosen carefully. This is the case in real world. The wingsuit route has to be chosen carefully with computations.


  • Main problem was understanding Arduino serial interface. Specifically, I started writing serial comm code for arduino using a standard library provided by someone on the internet. Turns out it has some issues and it works only on specific arduino boards, Arduino Uno, Arduino Yun ATmega etc.
  • Had to write serial interface without any libraries. Understanding of DR (Data Ready), CTS (Clear to send), RTS (Request to send) took some time. It turns out, the main problem why it wasn’t working initially was because I forgot to use RTS.
  • C# application was freezing because I did not use Timeout Exception.


  • Haven’t fixed audio yet, this shouldn’t be a huge problem. Need to also fix the collider for taking off the runway. I just need to get rid of my sphere that is surrounding the object as an entire collider and make it more individualized to the certain parts on the plane and I think I should be fine.

Plans for the upcoming week:

Put things together.

Integrating C# serial interface with Unity code for our project.

Developing a protocol for the packet communicated to arduino from Unity.

Mel: Add audio. Lots of audio. Fix collider. Make better starting point of game.

. screen-shot-2016-12-08-at-9-12-10-am screen-shot-2016-12-08-at-9-12-15-am