This week hasn’t been as productive as I’d hoped, only because I got yet another cold so shortly after the last one. However, I do think the group has been attempting to get as much work done as possible – I know Nikki was very ill and Marc also got sick off me, while Adam’s computer was still in the shop and actually came over to our place today to get some work done (while he has a cold, too)!
In any case, I had to semi return to the drawing board for the safe combination lock. The events system I was trying to use was firing off unpredictably and I wasn’t comfortable using it any more. Instead, I built up a script from scratch to work with the circular drive interaction script from SteamVR.
This doodle was done last week on my phone, but I used it to show what I meant when I thought about the lock. If we could treat it like a clock face, so it goes from 1 – 12 based on an angle, I could have a check happen when the player turns the dial and presses a button to confirm their selection.
This does feel a bit more “modern” than I’d have liked, but I think it will reduce the frustration a player could feel if the niggles of VR were to ruin the accuracy of their combination input. By having them interact with a button to verify the number they’ve put in, they will get audio and visual feedback before moving on to the next number.
I think I would like to revisit this script a third time if/when I have time during the stretch goal schedule. It feels like it could be cleaned up a lot more than it is and made to feel more natural.
The long story short, you can set the combination in the editor and there is a 15° margin of error (7.5° either side, although I think this is too big for actual gameplay and I just needed it for testing). The button is in a waiting state to check whether the player has interacted with it or not, so that you won’t accidentally press the button twice in succession until the check has been completed – and the button won’t move all over the place, like it was before I put that bool in!
I find using coroutines the best way to time things, especially when I wanted the button to change colour and waiting for the safe to unlock once the correct code has been put in. I threw in some sound effects just to have some extra feedback and set up an event system for enable interaction with the safe door once the correct combination has been entered. I had Marc check out this new safe combination set up and he said it works just fine and is far less easy to break, which is what I like to hear!
I’m hoping to get the door locks set up by the end of the week, depending on how I feel, but the minutes from our scrum earlier in the week are as follows:
If I don’t get more done this week, my Monday and Tuesday will be into production and I can comfortably continue working on my programming aspects while the others work on the art/models.