Onboarding and Networking
This week the team started the process of onboarding! The first week was planned to mostly let the new team members look around the build and make sure that they were familiar with it. We were also told to look at the documentation as this would help all of us out quite a bit. As our team was creating our backlog, the programmers agreed that we needed to get networking in the build as soon as possible
The challenge for this week was trying to get networking to work. Since I studied abroad last semester, I didn't have the chance to take the networking course at my college (I will be taking it my senior year). The other two programmers had taken this course but didn't really know how to go about implementing it in Unity. Something that the programmers decided on was to get a plugin to help us with the network programming. The plugin that we decided to go with was called "Photon." This helped a lot with our VR game and let us add a stable network in our game.
One issue that we did face with this plugin was that it didn't handle physics very well. For some reason, if the host wanted to pick up an object, the client would be able to see an object moving around but it would keep bouncing between its starting place and where the other player was holding it. To fix this issue, we used a plugin called SmoothSync which greatly improved the networked objects.
Now I know what you might be thinking, "Gee Kelly, you are using quite a few plugins for this game." I can 100% understand this statement, however, since we do have a limited amount of time to produce a game, our team wanted to take the fastest methods to get a solid foundation to work off of. We wanted to make sure that everything was working so that we could continue in the production of our game. If we had more time, the programmers on the team would love to create our own networking system but due to the fact that we only have about 8 more weeks left of school, we decided against this in order to implement more mechanics into the game.