A little under a year ago I agreed to be the lead (and only) developer of a VR game as a senior project. I had no prior experience with developing video games, and I wasn’t going to be a senior. Looking back on it now, I’m definitely crazy for agreeing to do this in the first place, but I’m also both proud and amazed of what we accomplished in only three short terms.
Throughout all of this, I think my largest strength was my ability to learn quickly and to adapt. At the start of the project I spent as much time as I could learning how to use Unity and creating prototypes to get a feel for what I’d need to do. It took several weeks, but eventually I learned when I should Google a problem, and when I should simply ask Sydney or Erin. I once was debugging our game for several hours and finally asked Erin for help, when she told me to check if the object was marked ‘Static’. To which, of course, my reply was “You can mark things ‘Static’?”. Despite my Unity shortcomings, I was quickly self sufficient and able to work through my assigned tasks as efficiently as I could manage. As we started play testing more, I also had to figure out how to adapt the current state of the game to the changes we wanted to make, in order to make it a better user experience. Erin and I definitely wrote a lot of code that ended up being thrown out, but we were also able to reuse a lot of it and solve the same problem in several places with one solution.
Where I believe I struggled the most with this project was time management and, in this past term, communication. At the beginning of the project I was smarter about when I started my weekly work, to give myself enough time to accomplish everything without having to rush. As the project continued on, I started my work later and later in the week, until I was finishing all of it at the last minute. I always made sure to get it done, but I created unnecessarily stressful long work sessions for myself where there didn’t have to be. I also started being less proactive about doing additional work, and only focused on my assigned tasks for the week, even if it only took me 4 hours to do them.
Finally, this past term I started having issues with notifications on my phone, which made it difficult for the other members of the team to communicate with me. There were many instances where someone tried to ask me a question that I just didn’t see until several days later. I took many steps in an attempt to mitigate this issue, but I’m still having problems with it. It definitely wasted some of my team members’ time, and I wish that I had taken more time to fix the problem when it first started occurring.
Overall, I’m proud of what I accomplished in this project – and now I can say that I have some experience developing video games.
Finish Voice Line Entry: 45m
Database Value Entry & Related Bug Fixes: 1h15m
Fix Snapgrabbable Gravity: 45m (timeless)
Total Hours: 2h45m
I didn’t have a lot to do this week, but I got all of my outstanding tasks done. Syd and I finished adding the final voice lines in, including the introduction and end game ones.
I fixed some relationship value issues we had with our database in order to prep for when we have all the completed tracks for our dynamic soundtrack. You can see in the bottom left-hand corner of this gif (it’s difficult I know) that the value increases as the player talks to the NPC.
I also finally fixed our code that snaps objects to specific places, so now those objects can also have gravity. Which means the player can now throw the DNA lamp, which is obviously the most important part of the game.
Honestly, this week went pretty smoothly.
Bug Fixing as Needed
Add Safety Net: 1h30m
Minor Accusation/Conversation Fixes: 1h15m
Make More Things Throwable: 1h
Stop Player Reaching Through Machine Door: 20m
Door Close Bug: 20m
Total Time: 4h25m
I finished all the bug fixes I was assigned to this week, including some that were previously giving me headaches. Briefly, I’ll go over what each fix entailed:
Add Safety Net – I made it so that if the player (or objects) fall out of the scene accidentally, they are teleported back to either the hall (pre-door puzzle solve) or the middle of the room (post-door puzzle solve).
Minor Accusation/Conversation Fixes – Victor was displaying that he had an available conversation when he didn’t. Mavis has a post-accusation conversation that still needed to be added in. The verbiage of the accusation has been updated to be made more clear.
Make More Things Throwable – People naturally want to throw stuff in our game, we made that more possible.
Stop Player Reaching Through Machine Door – We included a setup recipe in the machine to help the players with how the machine works. The problem was that players could reach through the machine and grab the objects we placed there before the machine turned on. To fix it I simply turned off those game objects until the machine becomes active.
Door Close Bug – The threshold for the door closing after everyone entered the scene was too close to the doorway, so the player could get locked in the hallway accidentally.
Syd and I didn’t get to finish inputting the voice lines this week as we still don’t have everything we need to input. Luckily, once we get everything, it shouldn’t take too long.
Bug Fixing as Needed
Finish Inputting Voice Lines
Make Teleportation Able to be Cancelled: 1h
Update teleportation controls: 5m
Fix Conversation Bugs: 1h35m
Make Door Close Behind Player: 1h15m
Fix Archive Receiver Door: 45m
Delay Events to Give Player Time to Look: 15m
Total Hours: 4h55m
I got a lot done this week in a short amount of time, including some things that I wasn’t confident I would be able to do (cancel teleportation and fix the conversation bugs). I made a fairly large dent in the bug list Erin gave to me, and although I’m sure we’ll find more, I think that it’s good progress overall.
I didn’t spend as much time on the project this week as I normally do, due to poor time management on my part. I plan on doing my work earlier on in the upcoming week, to make sure this doesn’t happen again.
Adding Final Voice Lines
Conversation Helper Scripts: 1h
Finish Voice Line Entry: 5h
Add Evidence/Discovery: 1h
Accusation Dialogue Fixes: 2h
Play Test: 4h
Disable Machine Bug Fix: 30m
Disable Conversation Prompt Bug Fix: 30m
Total Hours: 14h
We got most of the conversations and the evidence discovery in! Now you can have almost all the conversations, minus a post-accusation one for Mavis. The conversations will update and become active/inactive depending on where in the puzzle sequence the player is, and who they’ve already talked to. I also updated the accusation logic to allow for a pre-accusation conversation, which appears before the player must select their evidence.
The video below shows conversations between Madeline and Victor. If you have the conversation with Victor before the conversation with Madeline, you can ask Madeline about what Victor talked about. It also shows one of the updated pre-accusation conversations.
I also fixed a couple small bugs. The machine used to be interactive before it should be in the puzzle flow. I updated it so that it only becomes active after the player solves the hand scanner puzzle.
The conversation prompt used to pop up regardless of whether the character actually had something to say or not. I updated it so that it only appears if the character has something to talk to the player about.
Finally, a bunch of my coworkers came over Friday for a play test. They played our game for a long time, and gave us valuable feedback. While I do wish we were in a better position to show off the game to them, it gave us a good indicator of what to adjust/fix for tomorrow’s play test.
There’s still a lot to do, and a lot that didn’t work nearly as well as we planned. In particular, the accusation changes gave me a lot of trouble, and I’m hoping to get them finished and finalized within the next week.
More Bug Fixes
Finish Up Accusation Dialogue Fixes
Add in Machine Key Dialogue/Evidence