Institute of Computer Science
  1. Courses
  2. 2023/24 spring
  3. Virtual Reality (LTAT.06.019)
ET
Log in

Virtual Reality 2023/24 spring

Wizard RPG

Wizard RPG is an RPG game where you draw lines through runes to cast spells.

Link to the repository: VR2024_WizardVR

Link to the Itch.io page: VR Wizard Game

Link to Game Demonstration video: VR Wizard Project Demonstration

Team

  • EgonVM, egonvm (team lead, frameworker),
  • Uku Varblane, ukuvarbl (logistics master)
  • Uku Renek Kronbergs, ukurenek (documenter, art director)

Progress

Prototype

The first prototype made was to test out the line drawing concept. The prototype was made in Godot game engine. The prototype scatters 8 squares around, 3 of them having green circle while the rest bear a red circle. The goal is to get the blue circle (which appears when the left mouse button is held down) to pass all squares with green circles while avoiding those with red circles. Once the mouse button is released, the squares are re-scattered.

The prototype revealed the following things:

  • The runes don't have to be far away from each other. Extra care must be had so that the runes won't overlap though.
  • There should definitely be a way to reset the choice, as hand shaking is an extra factor to consider in VR.
  • The runes should be scattered before starting to draw a line so the player can make plans on how to draw a line first, choose a starting point to draw a line from, and then get to drawing.

Second Milestone

The game was started in Unreal with the VR template. Using the assets found on the internet (and writing down credits and uploading these to git too to remember later), the runes were built up using a plane displaying a picture, a plain rune model, light, and particle effects.

The wand was made next using one of the wand models. It includes a ray-tracing system, which detects which rune is the wand pointing to, and when pointing at the rune area, the pointing effect is displayed.

Final progress done for the milestone was refining the sizes and wand grabbing for the VR environment, resetting the active runes by reaching the wand to the rune area and teleporting the wand to the hand when grabbing something. However, there are issues: the rune area tends to be too far away and the teleporting only works once. One goal for the second milestone is to fix those issues and finish up the spellcasting system.

Final Product

In the end, a gameplay loop was added and spellcasting system was finished. Due to git problems, the build wasn't completed in time.

First, random rune placement was added. This includes a 3 different layouts to which each rune is assigned to. In addition, animation for the runes to move into place and move out of place was also added.

Then the enemy was added, alongside the magic effect which travels from the casting start point towards the enemy. The enemy animations were also added alongside.

Due to time constraints, the gameplay loop added was limiting the spell amount and giving the players challenge to see how much damage they can make with 10 spells.

Finally, an environment was added for the scenery. At first due to its collisions it conflicted with wand's raytracing, but disabling it worked.

Due to issues (not being able to test the program out at home and build not completing), the build couldn't be made for the final presentation.

Credits for Assets:
  • Magic Runestones - reddification
  • Scenery - annclid
  • Wand - Gw1p
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment