Donana (WRAP Project)
About the App
Ultimately this would become a VR game for the mobile devices like the Samsung Note 4, so people could hook it up with Samsung Gear VR and experience the park.
Unfortunately, I was unable to convert the project into a VR project as we did not have enough time to test out the VR bits. We did manage to create an environment and some navigation ideas for it. The project was more of a research project and see what's good and what isn't and hence it did not need to be a finished product.
Image 1
The game was created in Unity 5.1.2 for iOS and Android devices.
Development
We created a lot of wireframes, design ideas and navigation concepts. [Refer to Image 2] We were thinking a lot about if the game is being created for Samsung Gear, how will the user navigate though the game if the mobile device goes inside the Samsung Gear? The user has no means to interact with the device. We did consider adding a game pad controller as Samsung Gear come with a game pad. But were were not very keen on that.
Image 2
We also thought about recasting (a Unity functionality). What it does is it casts an invisible ray (a line) that goes to infinity and with it we could detect what was in front of the line. They way we would use it was that we would cast a ray between the eyes of the user in the game and if the user looks around and let's say if the user was looking up in the sky, we could detect if the user was looking up to the sky. So we would display the menu to the screen and the user will just have to look towards the menu they would like to select. The user would not need to use their hand and interact with the game as well.
Then we came up with another idea. We would display all the options/menus to the screen as 2D. At this point the user will be holding the device on their hands. The user selects all the options and navigates to the game bit and when it's time for the VR option, we switch the game from 2D to 3D VR. So the VR bit gets triggered where it needs to be for e.g. while viewing and exploring the Park. When the user wants to change the settings or change scene, they would take the phone out and navigate to wherever they would like to.
So first we decided to create a home screen. In the first screen we were thinking about displaying the map of Danana National Park along with some point of interest. I added a mini animation to it so when they appear they grow from small to. [Refer to Image 3] Then if you click on any of the POI, it would change the scene to display that section of the park for the user to explore. [Refer to Image 4]
In the menu where the map is displayed along with POIs, you will find an information button. The idea was that if the user taps on it they would see instruction or description of some sort etc. [Refer to Image 5]
Image 5
The user will be able to pan around the map, zoom in and zoom out of the map as well so the user has the option to explore the area from the map then. [Refer to Image 6] I also added a restriction to the camera movement so when the user is dragging and moving around, they don't go beyond the map. [Refer to Image 7]
When the user is I the game environment and exploring the park, we thought about adding both VR and non VR functionality. In the VR section (which we did not have enough time to create and wasn't the main focus), we would give user a 3D menu. So if the user would want to change the settings, they would just look around and look directly at the option they wish to choose. We also briefly thought about how the user would move around in the 3D park. We thought that if the user would like down to his feet, that would trigger the movement for the character so now wherever the user looks, they would move forward. If the user would look down again the movement would stop and other menu icons would appear to explore the area. This was just a theory.
In the non VR version, we would give the user a joystick on the left hand side and a touch pad on the right. The user would use the joystick to move around in the environment and use the touch pad to look around and rotate. [Refer to Image 8] We also made the joystick snap onto the user's finger as its more continent for the user. So if the user rests their finger anywhere inside the left box the joystick would snap onto their finger instead of the user taping on the joystick.
Image 8
In the 3D park there would 3D points of interest. We made them glowing to indicate the user that something is there. This was just a proof of concept as were thinking about about functionality rather than how it looks. [Refer to Image 9]
Image 9
When the user gets close enough to the POI, the sphere would shrink and a cube would appear. [Refer to Image 10] The cube is suppose to be showing a video for the user t watch. In the game we did not add the video file as this was proof of concept. We also added another functionally for the video to follow the user. If the user moves around the video the cube would rotate and follow user's movement if the user is within the range for the video to still show and not shrink back to the POI sphere. [Refer to Image 11]
Conclusion
I feel that the project didn't really push my coding skills however, it enabled me to think and research about my VR products. It made me think about the UX (user experience) for VR projects. This would help me when I am thinking about my VR game next time.
File Structure
Animations:
This folder contains all the animations for the POI movements to attract people to walk towards its direction.
CNControls:
This contains scriots and prefabs for the touch input, to edit the joysticks this is the folder where the settings are held.
Editor:
Cross platform support and settings for the CNController are held in this file.
Environment:
All assets for the environment, (trees, plants, grass, water) are held within.
Material:
All materials used for prefabs and GUI purposes are held within this folder to change colour and textures edit within.
Scene:
All scenes for the build are kept within, to navigate to another scene double click and it will load up. To add Scenes to the final build ,{ FILE
Scripts:
All scripts used within the DONANA app are held within this file they control player movement, player tracking with regards to POI's, onTouch input to navigate also camera zoom and pan in main menu scene.
Skybox:
This is the main controller for the skybox, the weather is able to be changed with the settings within, Clouds, Sun and Sky colour.
Standard Assets:
These are essential scripts that are provided by unity. They hold global settings for game actions and interactions with the user.
UI:
The User Interface is controlled from the scripts within allowing changes for colour and placement within the UI canvas. Along side an ability to change the text that is also outputted to the user
Video:
The video that is held within the POI's is contained in this folder to add or edit videos they have to be placed in this file directory.