Hi everyone! Welcome to my graduation portfolio.
In February of 2020 I started my graduation internship at The Tall Ones V.O.F., a small game studio located in Eindhoven, The Netherlands. During the internship I helped in the development of a new game The Tall Ones was creating for Rusty Lake. The game we were developing was of a similar concept as The Room from FireProof studios but set in the Rusty Lake universe. A game where the player has to uncover a mystery by solving numerous puzzles and challenges.
Context
The game in development at The Tall Ones would be targeted at multiple platforms. Such as Android, iOS and Steam for desktop, these platform all have some sort of built in functionalities that would be good to implement in the game like achievements, cloud saves and the usage of personalized data (usernames, profile pictures, etc.). The Tall Ones put me in charge of creating a system that could help their developers to add these functionalities to their game more easily.
The challenge
The challenge for this internship would be creating an independent system that enabled developers to add overarching platform native functionalities to their games, through one generic unified system.
“Creating a unified api that enables developers to more easily add platform native functionalities.”
CP Social
My solution to this challenge was a system I created called CP Social (short for CrossPlatform social). CP Social at a high level is a plugin for the Unity game engine that makes it easy for developers to implement platform native features like, managing userdata, achievements and cloudsaving. CP social makes use a unified api in combination with Unity’s capability for crossplatform compilation to achieve this level of compatibility.
Process
Developing CP Social started with analyzing the current situation at The Tall Ones, setting up the requirements and creating a concept…
Development
CP Social was developed using the Unity game engine, tested using a test project and eventually implemented in the current in development game at The Tall Ones…
Conclusion
At the end CP Social is a system that allows a developer to more easily add cross platform features to their Unity project. CP Social enables this by using a unified api that replaces the need for developers to implement platform specific implementations for functionalities like managing user data, achievements and cloud saving on gaming platforms such as Android, iOS and Steam.
Without CP Social, 4 unique implementations in game logic
With CP Social, 1 implementation in game logic
Further more CP Social automatically manages it’s dependencies by leveraging Unity’s crossplatform compilation capabilities. So developers don’t have to worry about incompatible implementations in supported platforms.
Recommendations
CP Social in it’s current form is quite limited in it’s capabilities, as it only supports user data management, achievements and cloudsaving.
Adding extra services like in-app purchasing, leaderboards and advertising (to monetize games), would make CP Social an even more powerful api.
Reflection
First of all I would like to thank everyone that helped me during my internship. When looking back on my internship, I have learned an awful lot of new things on a technical level. Besides learning a lot of technical things I feel like I have achieved, or at least greatly improved, my personal goals for this internship and have grown more confident in on a personal level.