Learning unity

This week our team continued to work on learning unity. Victoria also made a small bowling game and Kaloyan tried doing the Unity Lego Microgame Tutorial:

Tingmao: Setting up Alexa test client

Because Brandon wasn’t able to get the Alexa skill to work via the offical Alexa API, we used a temporary test solution, which was a python script that communicates with chromium to extract the audio from Amazon’s Alexa test page. The Amazon page listens from the microphone and also allow text input, and the audio output is captured via python and sent to unity with websocket.

Brandon used flask and socket.io / engine.io to build the python script, but this has caused some problem for me and Victoria. The C# engine.io client running on unity sends a protocol version of 4, which python complains The client is using an unsupported version of the Socket.IO or Engine.IO protocols, since it only expects 2 or 3. We fixed that by patching the python library, and skipped the bit that checks the version. Everything still seems to work, and the whole thing is just a temproary solution anyway, so we settled with that.

Specifically, the following two lines are replaced with if False::

  • lib/python3.9/site-packages/engineio/asyncio_server.py:219
  • lib/python3.9/site-packages/engineio/server.py:354