A downloadable game for Android

v2 prior to play testing i thought it a good idea to have enemies approach player from all four directions, after 10 seconds I realised its not ideal. Changing v2.1 to have enemies approach from a 90 degree arc. 


Made in 3 days in Unity, for use with the  Google Cardboard VR system.

A procedurally generated wave of enemies moves towards the player, tap the screen to shoot them. Some have special effects when shot which may help or harm the player.

Achieve 10x the wave number in enemy kills to stop enemies spawning, finish all remaining enemies to complete the wave, receive a 10 second break and start a new wave.


UPDATE - release-2.0

When making this project the brief was to design an Android VR app where the only controls were looking around, and being able to shoot by tapping the screen.

Given that this is a Cardboard VR app, and is provides the best experience when mounted in a VR headset I wanted to explore various methods of allowing remote control tapping the screen.

The first and most simple idea I had was to make a stylus, mount the stylus in the headset. The mount would be securely attached to the headset, near the screen.
There would be a cable, similar to old fashioned mechanical camera triggers. There is a handheld part with a button, the button is attached to a metal cable within a larger metal tube.
On pressing the button the cable extends and that extension move a mechanism on the stylus mount that is is tethered to and will push the stylus forward to tap the screen.

This method would work however it is likely a the parts need to made from a 3D printer, or a mechanics toy set like Lego, Kinex, Mechano. I did not have either as I would be ordering something to get this done, I skipped on to the next idea.

Electronic buttons would provide a much more reliable solution, the only issue was how I would connect a button to my phone, and have the android Unity game respond to the button.
I chose an Arduino to complete this task. I had ordered an m5stack-ESP32 seeing as they are Wifi/Bluetooth/IR enabled, and have built in buttons and sensors. I also owned an Arduino Uno.

First experimenting with the Uno, I used Ardity, and managed to use multiple digital outputs for button presses. The only issue was that Ardity was only working with PC builds. Experimenting with Uduino, I found this to be a slightly more complex system.
However it is very capable at managing analogue outputs which Ardity needs some extra scripts added for this. Still I had issues with Android builds reading Arduino serial data.

I next looked at how I would get my Android to recoginse the Arduino and register the button presses. 
I spent a few days reading the extensive information online about getting arduinos to comminicate with unity, and to communicate on android.
The connection was going through two USB-C ports, and this requires an USB OTG host cable. Once plugged in you can find and read serial data from your Arduino, if you have an Android app for it.
I found several free apps, as well and lots of guides on making your own, on android USB managers, and serial terminals. I was at the stage where I now was attempting to modify a working USB serial terminal in Android studio to get it to run a new service and send unity a message.
All of this was rather novel and quite confusing, in the end I couldnt get my new Android app with modified java to work properly. 

After searching through all the forums I found an app with only a few reviews. It didnt have a video or much description but all the comments described exactly what I needed.
I bought it, and after reading through all the code, which didnt have much direction in the comments. After an hour or so I managed to get the system working on PC in a fashion that I was sure would work on Android, so I built it and took a break.

Coming back to try the app on Android for the first time, I was rather annoyed that it seemed I had gone back to the beginning, which was about 2 days at this point.
What I didnt realise, even though it was the first thing I tried, was that the USB OTG Host cable must plugin to the phone.

So of course the last thing to do was to: turn it off, unplug it, (insert USB-c from OTG into phone...), turn it on again.

From this project I have managed to create a mobile VR FPS game/experience, with some immersion for the user. 
This VR game is affordable and accessable and shows that you dont need a high end PC, expensive VR gear and an electricity budget to play VR. 

Total cost of CPVR: £26 - (Requires Android Phone)

ESP-32 'MiniPC' - £17

Cardboard Headset - £5

USB OTG Host cable - £4
 


Download

Download
u9-v002.apk 123 MB
Download
u9-v002.1.apk 123 MB

Leave a comment

Log in with itch.io to leave a comment.