So Shared House was a game that we produced in assigned groups. We had one designer and there was two other programmers with me in our group. Our designer said we were going to make a VR game and we did exactly that...
You can find the game on Itch here...
The description of the game is as follows... Shared House is a game that was created with the intention of conveying the lead designer's personal concept of home to the audience. It's not far fetched to say that everyone wants their own space, a place in which they can overcome their obstacles and confide in themselves. Are you capable of invading someone else's?
Now back to the game, the design was mostly already thought out and our designer had a clear understanding of what they want and especially how they wanted it done. So that left us to mainly focus on the technical side of the game which was really helpful.
So here's What went right:
Virtual Reality Tool Kit
So this is something that was not only completely new to myself but the other programmers as well. After spending a good amount of time getting an idea on how it worked and how object interactions behaved with each other, we tried to use that to our advantage and slightly exploit some of its features.
This sorta worked but we didn't dig deeper into VRTK because we actually had to make a game with it, we were able to inherit from the
ObjectInteractable script and override it's on grab and add our own custom handler...
The lock was a roller coaster from the beginning, it started from not working at all, to being really buggy and flipping it's own shit out because you pulled it too far away from its original position, to then sorta behaving but clunky controls. And finally simply working the way we intended, only after 4 weeks of this continuous roller coaster.
I feel like we didn't have a solid plan for it, it was one of the team member's pet project and could have maybe been easier to implement with more than just one person solely working on it. We provided advice and in the end, got it working and works somewhat intuitively with the touchpad controls on the Vive's controllers.
And What went wrong:
Dialogue Tooltip handler
The Dialogue system was meant to extend the handwriting that was on the objects by providing the player a way of easily reading the writing. At the press of a button, a worldspace UI would appear and have the text on it printed in a font like Arial, so the player can easily read it.
This didn't really go to plan because of the way it was handled in VR, it would have been fine for a shooter or something similar where it displayed a UI Canvas rather than a worldspace version. But since the player can manipulate the object, rotate it, move it and the such. It was hard to get a robust system in place, especially when I had little time to a VR headset myself to get it working.
There was a JSON serialization method behind it where it loaded in a config file with all the text and which objects to display them on that was built with a tool I created for the designer to operate. That worked fine after a small hiccup with Unity not knowing what the hell an
Editor is when it was built. But maybe in the future I'll be able to revive the system and implement a better operation into it for ease of use and robustness...
I get it, FMOD's cool and all. But we had a funky time setting it up, that revolved around it not working originally in the repo. Then removing it and re-adding it another 2 or 3 times, the problem with this was it took multiple commits and we lacked communication on when this was happening. So the morning of getting a build ready, we suddenly have 3 commits of FMOD being re-added into the scene which totals in at around 150MB. All the while we've been in the same scene tinkering with different variables and fixing any bugs or ill behaving objects.
So here it would have been great to add FMOD at a different time, like on a weekend or when commit activity was low. So there would be less conflicts, since I had to work some git command line magic to fix the current working space after FMOD got committed and pushed.