From March to September 2016 I had the chance of doing a six month long internship at WastedStudios. During this time we worked on three different Projects.
360° GearVR Project
Our first project was a continuation of “Zirkus Nachtmahr“. For this app the artists in our team rendered a 360° Video in 3DS Max. We then projected it on a sphere in Unity3D. Then we added a HUD with different information being fed over Wi-Fi. This way we had the possibility to have a very high quality 360° Video for the GearVR with real-time data.
As the project is still under development by our partner and therefore under NDA I can not provide more details.
This second project started around two months before the internship and has been continued for several months during the internship, the name of the game is “DareDino”, a 3D Action RPG similar to Diablo 3 but with dinosaurs and some unique mechanics. Key features of the game are endless randomly generated instances where enemies become increasingly difficult over time but therefore more rewarding. The player has to decide if he wants to exit the instance with what he has currently looted, or risk a longer run to receive more valuable items. DareDino has a complicated combo-based combat system in which timing and execution is the key for strong attacks.
What I did
The lead programmer of WastedStudios and myself coded the whole game together. While his main focus was the enemy AI, my main focus has been the random world generation algorithm, the online save & load system and most of the UI features. We both worked together on all the other smaller features.
Thanks to the online save & load system API (provided by Playfab) that I implemented in DareDino the players were able to play on one computer the first time and continue playing on another at any time, the idea behind this feature was to allow players to play the same account/characters on their pc, ps4 or xbox one unlike Diablo 3 where PC and console version do not share accounts.
What I learned
Since this was a huge project I was able to learn a lot in almost every aspect of game programming. While I worked on the world generation I learned a lot about optimizing algorithms both in compute time and resource cost. Implementing most of the UI features (which worked both for controllers and mouse/keyboard-combo) I also got to improve my skills with UI while using almost only custom programmed functions instead of those already implemented in Unity.
After realizing that the project became too complex for seven person in the short period of time, our producer decided to stop the production of DareDino in which we had put around five to six months of work (including the months before the internship).
The third project I got to work on while my internship at WastedStudios is a game created in the CryEngine V. Since the game was still in early development and under NDA I will not be able to provide any details about it.
I created a fully working prototype of the game in Unity3D in order to determine if the mechanics are fun to play and was able to learn a bit about how to use the new CryEngine V.
This last project taught me a bit about shaders and improved my C++ skills while using the new engine.
After having learned a bit about shaders I created a hologram effect in Unity:
Later on I managed to implement this shader in CryEngine.