Alex’s Status Update for October 3
This week I finished the UDP Connection socket and Mock Muscle Controller
The development and testing was done in 4 parts:
- Made both UDP Streamer and Receiver in Python.
- Rewrote the Receiver in C# and tested its functionality.
- Integrated the Receiver in the Unity game.
- Wrote a Mock Muscle Controller that sends data from keyboard inputs using Streamer full testing.
This intermediate step of (2) was necessary because (3) has more complicated process, generally taking longer time to debug, so I did (2) to test the UDP functionality before dealing with Unity. (3) Integration with Unity was a longer process because the main thread was running the game scene, so I had to figure out getting the Receiver process into another thread. (4) Lastly, to do final testing I made a Mock Muscle Controller that uses keyboard arrows on top of the Streamer to send a mock data to the Receiver.
The Mock Muscle Controller is nice because it decouples the dependency with hardware, allowing us to work in parallel. This also can be used to decouple time measurements, such as measuring latency from UDP + Unity only.
In between I also had to rearrange our model diagram by reversing Server Client UDP model. Because the Streamer just streams data and does not need message back from Receiver, I changed the Receiver to be the UDP Server who binds to the address port and just listens for data from the Client.
I also finished up step by step README sections in Github so that the project is easy to understand and reproducible.
Over the next week I hope to finish a basic setup of a MyoRun game, with basic endless runner functionality, random generation of maps, moving a character and avoiding obstacles.