Technical Basement
The Team and some Project Restrictions
The team mainly consists out of the same members we had in the first-semester project, except that we have an additional designer this time. That sets us in the good condition of having two people per specialization track (Art, Design & Programming). The days before the project kickoff were demanding ones, because of all the exams, assignments and side project we all had, and it was feelable from the get-go. It took some afford to get into the mood of having another project, especially being creative and coming with all of the needed ideas. Adding a sixth member to the team has a huge impact on the way we communicate, there are just so many thoughts to talk about and that needs time as well as slows down the process. Even after the first pitch presentation, we hadn’t a clear vision of what we are going to create. We agreed on trying to include more of our personal needs into the project, like learning new skills or having something to showcase for the portfolio in the end, in view of the upcoming internship applications. All of that uncertainty is the reason why I delayed my blog entry thus far, as there wasn’t much to talk about from a technical perspective.
We, the programmers, would like to work with something other than Unity, preferable an environment that uses C++ to strengthen our knowledge in that area. We moved towards the Unreal Engine as for example Ubisoft recruiters at the DevCom this year told us to get in contact with more mature engines if we consider applying.
Rough Idea and Cross-Platform Multiplayer
From the current standpoint, we will work in an asymmetric local coop setting. That means that we will have a desktop PC functioning as a Server and a mobile device (potentially Android-based) will connect to that Server. We will have two players playing local on the Server/PC and another one playing something like a Game-Master on the mobile device. The outcome of a quick mentorship that we had with our Professor is to go with the cross-platform development & network-based setup. Alternatives were, for example, to install a 3rd party software on the mobile device to register it as a real second screen for the PC. But that option will potentially be not very convenient to the users and would add a dependency to that 3rd party company that we don’t have any control over.
We, the programmers, invested some time together to get into the Unreal Engine. I gave my collegue quick overview of the main differences between Unity and Unreal (as far as I know the Engine) and provided some useful links to valuable resources. Until now, I managed to have a working Unreal Engine Project that is already integrated into Git with Large-File-Support. The other programmer included his prototype into that project and I added a very simple network layer on it: a menu to host a Server and to join it by entering an IP-Address.
Next upcoming steps for me will be:
- spawning a separate object per player and posses it
- getting the mobile development pipeline to work
- testing the cross-platform network connectivity
- getting more control over the network session by creating in manually