Try out the game in the try-out link below! Works on all VR headsets, tested on and guaranteed to work on oculus quest 2. (note: you need sidequest to upload the file on oculus quest 2) Controls: Left controller pad = walk in direction you are facing. Right controller pad = snap turn left/right. Left X/A to summon spell book and create your own magic symbols for the magic spells. When spell book is open, left controller trigger button to flip the book and click the buttons. (requires interaction ray to be on the book/button. interaction ray will turn from red to white.) Writing spell: Hold down right controller trigger button to write (writing ink is in the form of yellow dots). Let go of the trigger button when done with writing the spell to summon the spell skill. Spell book user interface: the buttons represent the respective spell you are creating. Press any of the button once and start drawing your symbol. When successful system will tell you that it has added this symbol. Press cancel to stop adding this spell. Repeat for all 3 spells to add all 3 spell symbols into the system.
Inspiration
If our world doesn't have magic why not create one with magic? I wanted a game with maximum freedom and immersion so that I can draw my own spells rather than just pressing buttons to fire spells - like how harry potter does his magic.
What it does
User can create and define their own spell symbols. Once the spell is created, users can draw the symbol to activate the skill. Example: Fireball skill. To create the skill input, user draws a "O" symbol (can by any doodle/symbol or even word like "fire" or sth). The system then recognizes this input and when the player draw the "O" symbol again, system will fire the fireball. The fireball also has built-in enemy detection so it will automatically fly towards any enemy in the field.
Users can also freely walk around and up/down hills with the joystick for exploration. currently the game has 3 skills available: fireball, block (shield), heal users can create a unique symbol for each of the above skill as an input to trigger to skill. fireball - does small damage to enemies. shield - a 1sec shield to block all damage, so timing is key. heal - heal the player so that player dont die.
Enemies will attack the player if they are in the range. Dragon boss has a pattern of attack and once it has been awaken from its sleep, it will fire 3 fireballs in its flight and come down to the ground to rest a while before flying up again and repeating the cycle.
How we built it
Unity, C#, XR plugin, $P point cloud classifier for gesture (symbol drawn) classification. Photoshop to design the in-game spell book.
Challenges we ran into
Optimization is a huge pain and I had to compromise between 2000's graphics & super-smooth gameplay or 4k graphics with 0 fps gameplay. Computer is also too weak for oculus link so it was very troublesome to test out the design layout and code on oculus. Had to build the project and wait long to export just to test out small changes like: how moving the UI by 1cm will affect how the game looks.
Accomplishments that we're proud of
Cutting down project export time from 40mins to 4mins and improving fps greatly by sacrificing 4k graphics
What we learned
optimization is hard. I spent most time on level design and optimization.
What's next for Magica: VR open-world RPG game with user-defined spells
- multiplayer mode using nakama for server hosting so that it can become a VRMMORPG game. and firebase for data storage and authentication.
- add warrior class and archer class. Currently there's only magician class.
- find another person with oculus quest 2 to test out multiplayer mode with me
- resolve some bugs
Log in or sign up for Devpost to join the conversation.