At the beginning of 2018, I participated in the Global Game Jam once again . The theme of this years jam was transmission. Our 6-person team decided to try implementing a multiplayer game. The basic idea of our game was inspired by phone companies of the sixties. The main mechanic was that a player would be called by a random character. After hearing his voiceline the player had to draw his face which would then be send to the other players. The other players had to choose a character which was best fit to the drawn face. The whole game should take place in a local network and should be implemented in the Unity3D engine.
During the first one and a half days of the project, I tried to implement network code with a teammate. Unfortunately we did not succeed in creating a working prototype. Since we only had little time left, we decided to change the gameplay into a singleplayer version. In this singleplayer the player had to match a random voiceline to a fitting character.
After changing the concept to a single player I had to implement the game logic. First I wrote a class that represented a character. Within this ‚Caller‘ class a reference for a sound clip and a string was saved. The string served as a unique identification number for a character.
The next step was the organisation of the characters as couples. I solved this issue by a creating a class called ‚Callerpair‘. Within this class 4 caller references were stored. The references ‚m_activeCaller‘ and ‚m_passiveCaller‘ were randomly set to one of the two characters on creation.
After the game was started all resources were loaded and converted into callerpairs. After that, prefabs were loaded and positioned. Each prefab was a button for a character. These buttons could be pressed to score points. If a wrong button was pressed the player lost time for his round.
Working out the logic of the game in one night was very challenging but fun. In retrospect, I would implement the callers and callerpairs as scriptable objects. That should make their organization easier.