Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

VR Hidden Objects

A topic by Kat Byers created Apr 01, 2020 Views: 845 Replies: 9
Viewing posts 1 to 10
(2 edits) (+1)

Hello!! I'm a student at UT, taking a Virtual Reality class where we are working on our final project - a full game in VR. Until this point, we've been making microgames on different hardware, particularly the Google Daydream to the HTC Vive and the Oculus Quest. Due to the recent complications from COVID-19, my team (Mary and Olivia) and I are developing for the Google Cardboard which was supplied to us by our university. With the limitations of the Cardboard in mind, we ended up deciding on creating a hidden object VR game, where the player has to search an environment and interact (or "find") with an item from a list. The overall theme currently is "medieval detective",  which also happens to be our working title as of now. 

We wanted to make something whimsical, while also retaining an aspect of our original plan - a dungeon crawler-esque game that we may still develop at a later date outside of class for funsies. This game will rely on its storyline more than it's gameplay to keep players engaged, and will also utilize as much of the Cardboard's capabilities as possible. We may not be able to make the dungeon epic we had wanted, but we will do our best to maximize the capabilities of the Cardboard and work to create a fun and interesting experience that players will enjoy regardless.


edit: We gotta include our trello board because we are getting graded on this so here's how it breaks down currently! We haven't broken down programming tasks yet, since we're still figuring out some of the logistics of it and haven't solidified the design


(+1)

Sounds cool.

First Playable Devlog

For our first submission, I worked on gathering asset links to compliment the theme of our game (medieval/spooky vibes). I found a nice low-poly dungeon assets pack and put those into our HelloVR base scene. I went ahead and put some objects in place of the whitebox gaze objects that disappear when looked at, arranging objects to look suspicious (knife in paper note, bones in cauldron). Once we start implementing a story, we'll probably change out what the hidden game objects are.

I also picked out some sounds: some ambiant dungeon background noise paired with fire (dungeon is lit with candles and torches), as well as a sound for when an object is discovered and reveals more space.

Screenshots:

(1 edit)

First Playable

I made a smoother fade in to replace instantiating/setting active objects. The default Unity transparent/fade material shaders look pretty bad for that, in that everything looks like glass even when you scale the opacity up to full, but luckily this very nice person made a shader that actually supports fading from transparent to opaque. So now you look around at suspicious objects and the room sort of comes into existence around you. There's no significance to any of the objects or their sequence yet.

Here's a video made in Unity. In this video the room's creation is triggered by pressing F, but in the Cardboard build it's done by actually looking at specific objects. I attempted to demonstrate this by manually moving the camera in the build.

First Playable -
I realize I totally forgot to update what I was working on during this time. I worked on getting the project set up to build to iOS and Android (since our team has both types of phone) and integrating the Google Cardboard SDK. I worked a little bit in the Hello VR scene in order to create some gaze based interactions, where if they player looks at an object for a set amount of time (~2 secs for now) the object will disappear. As well, I set it up so the object changes color based on if you're looking at it or not, and set up a base particle system that also activates when the object is being gazed at. I did this before we set up the smoother fade and setting objects active, so that they could have a base to work off of. Our professor provided this wonderful tutorial for gaze based teleporting (as well as setting up the SDK, but it's weird for iPhone so that took me down another path entirely) that I modified for our needs.

We might add the ability to move around the room in our MVP, but currently our next focus is on further refining the object mechanics and creating our storyline (either through voice-overs or UI elements). If we do add gaze based teleportation, it would be so that the player can get closer to the objects they're looking for so that they can feel a little more immersed in the game.

I will admit we haven't updated this as much as we should, but also we haven't added much since our last post. All we added to our MVP is the ability to teleport around the room, after much struggle (I accidentally put a UI object that blocked all raycasts whoops), as well as starting to create a way for the player screen to fade in and out when teleporting (the idea is like the player is blinking rather than just being forcefully moved). We also updated the object mechanics so the player cannot look at the same item twice (even though the second time doesn't do anything). The only feature we haven't included in this version is a UI story element - a small scroll detailing the hint to find the next object - alongside some voiced lines, but we already know the framework we want to take with this, and it shouldn't be too difficult to implement it. Truthfully, one of our members was being overwhelmed with another project, and this would rely heavily on their help, so we elected to add it later, when all of us would be better suited to working on it. Even if this member cannot help for another few days, the other two should be able to lay out the framework, so the other member can come in and do the minimal amount of work necessary to finish the feature.

We also worked a bit on creating the clues for each object to find, but this is proving much more difficult than originally planned because riddles are hard. It is coming along though, and we have a base story line to work off of. We'll continue working on these as we go, most likely editing the hints and clues until it makes the most sense to the player.

Minimum Viable Product Devlog:

Going off of what Kat said, I personally wasn't able to contribute much to this update due to external circumstances on my end. 

I was able to record some test lines for our voice over idea and did some editing in Audacity to give an echoey effect like the player is in a dungeon. 

Moving forward I'll work on better time management so I can fully contribute to the final project.  Previously I felt like working remote helped me to be more productive, but I've now also experienced the opposite since it's easy to lose track of time since we're not able to meet IRL for classes. 

(1 edit)

So originally, fade-ins were being done by setting objects to active, setting the material's alpha to transparent, and then slowly changing that to opaque. It was probably super super costly, particularly since there were frequently about twenty objects doing that at the same time and that meant lighting couldn't be kept constant, but we kept it in because we didn't know of any alternatives.

But those dark days are behind us. Now featuring: camera tricks!


two separate cameras + culling masks + one canvas set to overlay camera

I feel like a magician pulling rabbits out of a hat.

Update 5/5/20

I worked on recording my voice for our in-game voice-over lines. I've never really been into audio editing but it's quite simple with Audacity, I was able to quickly add a cool echoey affect to make it sound like I was talking from a dungeon - which of course is what we want in the game.

The decision to do voice over lines came with our desire to more clearly communicate the tasks and game narrative to the player, since in feedback we received comments that the goal of the game was not clear.

In-game, the voice over lines read off the clues from the note, as well as comment on their surroundings and situation, asking questions the player may be wondering themselves. 


Voiceover Lines

Screencap from Audacity
Voiceover Lines
Screencap from folder of most lines

It's done! The ending sequence, an abomination and affront to all things good and fluffy:

(I do feel like this is not what coroutines were meant for. I don't know if that's true, but it feels that way.)

In English terms, it's making some stuff invisible, turning off the player's movement ability, moving the player to a set location, and then making some other stuff visible. It's funny because most every other script in the project is generic enough to apply to any situation - all of the interactables function essentially the same way, with a couple of minor exceptions - except for this one giant monstrosity of a coroutine. I'm sure there's some way to make it generic as well, but it's a bit beyond me as things are.