Perhaps one of the most important lessons that were learned during this project was knowing when to scale back - deciding to use simplistic face models rather than complex and realistic rigs was a good decision in the end. While I would still have liked to see complex face animations eventually, it was important that we got the basics done first if we were to go further with it.
One lesson that I learned throughout the project is the importance of cooperation and communication among team members, especially in this social distancing situation. At the first stage of the project, due to not fully understanding the task assignments, I repeatedly did the task for generation of grids. While at the later stage, due to better cooperation, problems such as the ones met when merging branches were solved more smoothly.
You should never underestimate something you have never done before: that was the case for me dealing with making a multiplayer game. I thought it would be something that I could set up initially and then shift my focus on what I like and know how to do better. Turned out that I almost worked on networking for the entirety of the project. Well, at least now I know how it is done!
The most important lesson I learned is to do detailed research on the techniques before making design choice and actual implementation. I started the work right after understanding how to build a face-tracking system through Python. However, due to the lack of more detailed research and experience. A lot of time was unnecessarily invested in connecting Python with Unity and making the expression change recognizable. The time can be saved from early stage if a more detailed comparative study on different techniques is carried out.
This course really taught me the importance of having a team leader and regular meetings. Once we stopped having regular meetings I quickly felt out of the loop and it got hard to understand what everyone else was doing. I also learned that good models are expensive.