top of page
no logo poster.png

INCANTLAS

Year
2022 - 2023
Project Type
Platform
Undergrad senior year final
Quest 2/3

Incantlas is a VR magic casting game with hand tracking as the main interface. It also features a never seen before body position based locomotion system. The game comes in 2 main modes: story mode and arena mode. The story mode has a linear gameplay in which the player has to solve puzzles and battle through enemies to progress through the world. The arena mode on the other hand is battle focused in which after learning spells the player has to fight through waves of enemies. My entire academic journey in game design culminated in this project. The first semester was spent on ideation and proof of concept; In the second semester Incantlas came to fruition. Logo is designed by my friend Georgia Chen.

Footages

**New hand tracking system in development**

Music composed by my friends Edward Pan and Jenny Xing

Game Trailer
Quick Gameplay
Environment Showcase

NEW UPDATE

The old gesture system utilized the saved data of 24 joint Vectors of the Meta hand tracking system. A threshold is added to detect a specific gesture. This caused issues as I utilized my hands to sample the vectors which wouldn't match all hands. After graduating and stepping away from this project for months. I came back with a fresh insight on how to tackle this issue. Originally the user has to match 24(vectors) × 3(xyz) to register the gesture which makes the conditions very strict. Instead right now I am using only the x values of the tip of the 4 fingers and the z value of the tip of the thumb. I use these 5 values to detect if the fingers are extended, in the middle, or contracted. On top of this, further testing with multiple users confirmed how much differing hand sizes affect accuracy. With this I created a hand calibration system that would customize the threshold to fit exactly the current user's hands.

MECHANICS BREAKDOWN

image_002_0001.png
Spells
Force Push
A force that can stun enemies. The harder the player pushes the stronger the spell is, but also the more mana it consumes.
Shield Cast
The shield's size depends on the spread of the player's hands when casting. If the player force pushes onto the shield it will unleash spikes.
Shoot Cast
The player can shoot out a bullet that will trace the enemy by the flick of the index finger.
Tracer Cast
tracer bullets will be spawned with one hand, and once released their directions can be controlled by the other hand.
Arrow Cast
The arrow can trace up to 4 enemies with the additional squares casted. A hard hitting spell that will release an explosion after hitting the last enemy.
image_025_0001.png
Locomotion
Locomotion system.png
Locomotion system.png
The locomotion system does not require controllers or hands. There are two circles that is around the player's waist. The inner circle is the static circle. As long as the player stays in this circle they will not move. The player will start moving in the direction they step out to once they leave the radius of the static circle, and the further they step out the faster they will go. Its size is also adjustable to fit the player's preference. The outer transparent circle serves as a safety circle that gives the player a better idea of their position relative to the static circle. 
image_008_0001.png
Enemies
Basic description of the enemies' features and their interactions with the player

ART

Unity Screenshots
With the Quest 2 having a relatively weak chip, all 3D assets are meticulously crafted and utilized optimally to ensure a smooth 72 FPS experience.
image_005_0000_edited.jpg
image_012_0001.png
image_014_0001.png
image_025_0001.png
image_022_0001.png
image_002_0001.png
Screenshot 2023-03-06 190340.png
Screenshot 2023-03-06 190235.png
Autodesk Maya
The models are optimized so that the triangle count is kept under 250,000 at each frame in Unity. Faces that are not visible will be deleted. This allocates more computing resources for higher quality textures.
Screenshot (144).png
Screenshot (144).png
substance-3d-painter.png
Substance Painter
This is where I put my art skills to the test, creating assets that look interesting. I texture everything in a way that will work well with Unity URP's simple lit materials. It is crucial to understand the difference 
Monolith_edited.png
Plants.png
Scoreboard_edited.png
Pillar_edited.png
Light Crystals_edited.png
Gate render_edited.png
Enemies 1-3.png
Enemies 4-5_edited.png
Light disc_edited.png
Enemies 4-5_edited.png
Lighting.png
Screenshot (144).png
62e131df7fe3599fdd46ecb3.png
Lighting
I use the Bakery plugin to create baked lightmaps. I think lighting is the true key to make an environment pop. I would rather have subpar 3D assets than subpar lighting in a scene.

THE PROCESS

Early Magic Testing
Here is a more in depth description of my journey in creating Incantlas for those interested. My goal from the beginning was to make a semi polished demo for the game. There are still numerous things that need to be improved upon, but I think I achieved what I set out to make.
The final versions of the spells did not stray too far away from what I made early on. However, it took many testing sessions followed by numerous iterations to refine them to become what they are. For example for the shield, It used to be that the player had to manually raise the shield with their hands. Even though I really loved that feature, it was way too complex for the purposes of my game. And for some of the spells I even buffed their features to up the satisfaction levels for the players. The arrow used to be aimed manually, and simply explodes after sticking to an enemy for a few seconds. In the final version, the arrow would trace through enemies based on the number of squares casted, and it will explode immediately after striking the last enemy. 
First Locomotion System
The issue with using hand tracking as the interface in VR is that there are no joysticks for the player to use for movement. So I tried to see if a gesture based movement system could work. I made a simple system in which the player moves forward by pointing with their left hand while pointing with their right hand sends them backwards. Before I even tested it out I expected it to be a bit clunky and unintuitive for the player. And after testing it turned out to be much more clunky and unintuitive than I had imagined. It was a mental wrestle to quickly switch between casting spells and moving in such a dynamic game. It completely took away from the free sporadic magic casting aspect of the game. It was an eye opener for me and I went back to the drawing board which finally led me to create the body position based locomotion system.
Tutorial System
Final designs by Georgia Chen
I think my biggest failure lies with the tutorial system. I think activating the spells through the monoliths in the game was a very good idea, but the static images with waves of text to go through just fell short. I originally wanted to create animated images of the hand gestures and body movements that show exactly how the spells are casted, but the three month production time simply didn't allow me to focus on that. I also wanted to limit text use and just have concise images that would be enough for the players' to understand what they meant. But it was simply too confusing and I had to start putting detailed text along side the cluster of images. Not only is it not pretty and takes away from the fantasy setting of the game, it unfortunately made the players skip through a lot of the content because who really wants to read through so much text to learn a spell? The only solution to this problem is animated pictures, and it's something that I will definitely add in the future. 
Incantlas_tutorials_画板 1_画板 1.png
Incantlas_tutorials_画板 1-02.png
Incantlas_tutorials_画板 1-03.png
Incantlas_tutorials_画板 1-05.png
Incantlas_tutorials_画板 1-04.png
Level Design
Scene 1 - Beginning of the journey
Before the start of my last semester, I just constantly had an image in my mind of what the starting scene should look like. A gigantic underground environment with a huge gaping hole at the top with light shining down. But the player is enclosed in a more claustrophobic route by surrounding stones. I wanted it to be grand and shrouded in mystery. I practically jumped straight into Maya and created this scene when the semester started. After putting it into Unity to test it was exactly how I had imagined it. I wanted the player to feel tiny and powerless entrapped in this mega structure. 
Gameplay - frame at 0m22s.jpg
Scene 1 - Mysterious light
The long route in the beginning serves as a way to get used to the locomotion system in the game. After the player passes the two rock pillars, a glowing light will start guiding the player through the tunnel. There are diverging routes in this space, but the guiding light leads the player toward the right ones. I was going to add easter eggs into the end of the wrong routes for environmental story telling, but I simply did not have the time. It was pretty dissatisfying to see players trying to explore these extra routes just to see there are nothing at the ends.
Gameplay - frame at 1m6s.jpg
Scene 2 - The awakening
The player will reach a cave system at the end of the tunnel. From the moment the player enters the light that has been guiding the player will be revealed as a calling from the mana rings. When the rings are secured onto the player's hands, the monolith will activate and direct their attention to it. The player will then interact with it to unlock their first spell, the force push. Through testing I made different iterations of the timing of these events as there were cases where the players simply divert their attention elsewhere and miss the monolith even though it's right in front of them. Furthermore I used to have static rocks simply serving as decor around the monolith, but almost every single time the player wanted to try out their force push directly onto those rocks just to have no feedback. I later changed it so that they are all interactable. I really like this moment of the level and the player reactions. Especially from people with very little VR experience, the moment they were able to push away the rocks through gestures it was as if they had really just seen magic. I made the flow so that there is a slow build up of excitement and uncertainty from the beginning to this point. And when they finally try out the first magic cast, the experience is greatly enhanced.
Gameplay - frame at 1m52s.jpg
Scene 2 - First battle
The player will then look around and see a blockage with particles seeping through it. They will know that they can progress through the cave by knocking down the rocks blocking the path. I made 2 blockages before the enemies spawn so that the player can get used to the ability first. But I think I should have added more and also create a simple puzzle out of it to gamify the experience more. Moving on, I added the enemies as a sort of jump scare moment that would add a bit more of an emotional spike. It also serves to inform the player that this is a world of danger with enemies, and the spell they had just learned isn't simply for knocking down obstacles but can be used in combat. 
Gameplay - frame at 2m47s.jpg
Scene 2 - Leap of faith
Right after dealing with the enemies, the player will then encounter a vertical tunnel after knocking down the last rocks blocking the path. This was probably the scariest moment for a lot of players as there is an endless abyss below them. I added wind effects to show the players that there is a force that will bring the players up. One thing that I should've done but didn't do was to make the rocks also float up when they got knocked away. But after testing and seeing that the wind was clear enough indication for the players I saved myself some time and trouble adding that feature in. Even though the players knew they will be floating upwards, some of them still couldn't help but inch towards the tunnel slowly while looking down before taking the leap of faith. It was reactions like these that I was trying to achieve, and it didn't fail to deliver. I would like to give Super Hot a big shout out for giving me this inspiration. There was one level in which after fighting off all the enemies, I had to jump down a building. This was my very early days with VR and it was a terrifying experience for me. Right now even Richie's Plank Experience does not faze me one bit. But I thought back to that memorable moment in Super Hot, and I wanted to give unexperienced VR players the same rush of adrenaline.
Gameplay - frame at 3m20s.jpg
Scene 3 - World reveal
After reaching the top of the tunnel the player knocks down the rocks revealing a completely new environment. I wanted the player feel a drastic change in mood from gloom and mystery to a mix of calmness and excitement. The moment the rocks are knocked down the music will change to a more acoustic and adventurous one. I wanted this part to serve as a walking simulator experience in which the player would simply focus on the environment and the vibe of the world. Even though I did saturate the scene with plenty of assets, I think I lacked ones that can do more environmental story telling. This was another aspect that I did not have time to put work into. Ultimately, I had the castle placed right in the center at the end of the route, drawing the player's attention more and more as they get closer. 
Gameplay - frame at 3m46s.jpg
Scene 3 - First puzzle
Approaching the castle, the player will be met with the first puzzle. The castle is on elevated grounds but there is no path to it. To get up, the player has to force push onto the pillar to knock down the bridge. I also added a bridge on the left side that leads up to the elevated ground. I designed the scene this way so that the player would first try to go up the steep bridge first and realize that it's not possible, but then it serves as a hint for the bridge on the right side. In hindsight it's such an easy and straightforward puzzle but there were so many issues that came with this puzzle. Even after fixing the issues, while a few players just instantly knew to knock down the pillar, others would spend more than 5 minutes trying to figure this out. I think inherently there is nothing wrong with this, but for the sake of speeding up gameplay during the final year show I tried to make it more obvious. I think it's interesting and funny how a puzzle that I thought was going to be incredibly easy turned out to be so difficult for many players.
Gameplay - frame at 4m27s.jpg
Gameplay - frame at 4m34s.jpg
Scene 3 - Gate Puzzle
The player will learn the shoot spell after reaching the top of the platform. Immediately after the players will be met with another puzzle. The players will first have to read the text on the wall that hints them to look up to find the North Stars. Underneath them is a compass that will show them where north is. The stars will present a pattern that the player has to cast onto the gate by shooting the spheres. There were a lot of issues that came with this. I placed the text in a position that the players will see right after learning the new spell. But a lot of them would simply gloss over it thinking it's a decorative text. Furthermore, after they see the North Stars they fail to see the link between its pattern with the gate. A very funny interaction was players trying to shoot the stars. And after realizing that didn't work they would constantly look at the gate and look at the stars still unable to make the connection. It was hilarious but also frustrating to see. I made small tweaks to make every element more obvious which made it better. But the same confusions were still present with newer testers. I eventually gave in and accepted the fact that some players will struggle a lot on puzzles like these and moved on.
Screenshot 2023-03-07 133606.png
Screenshot 2023-03-07 135706.png
Screenshot 2023-03-07 133646.png
Screenshot 2023-03-07 133740.png
Scene 4 - Combat
Entering the new scene, the players will immediately encounter enemies. After the first enemy type that the players encountered before come out from behind the pillars, enemy 2 is introduced. The balancing of enemy numbers took a few testing sessions to get down. Having 2-3 extra or less enemies really made the difference between the players feeling overwhelmed or underwhelmed in such a tight space. I also added a broken hollow pillar that will spawn enemies as the players progress through the route. A lot of testers liked this feature. But with the way Unity's NavMesh system works the way the enemies drop down and line up look very robotic and awkward.
Gameplay - frame at 6m16s.jpg
Gameplay - frame at 6m28s.jpg
Scene 4 - Shield puzzle
Approaching the end of the route, the player will first learn the shield spell from the monolith beside. Right beside is a gate with a lock shielded by a beam. The player has to unshield the lock so that they can destroy it. This is the first puzzle that can be solved in multiple ways. 
Gameplay - frame at 7m16s.jpg
Diagram A shows the default state of the puzzle. A direct beam shielding the lock while the main center beamer is also shielded. Diagram B shows a casted shield blocking the main ray. This triggers it to redirect the beam through the two other beamers back to the lock. This will unshield the main beamer and shield the other two.
Shield puzzle diagram-01.png
Diagram A
Shield puzzle diagram-02.png
Diagram B
The first way to solve the puzzle is to destroy the two side rays first and then cast a shield to block the main beamer. This is the most inefficient method as the player needs to shoot out two of the beamers. I made it so that each beamer takes more than 15 shots to destroy. I even originally planned on making these bullet proof and can only be destroyed by the spikes, but it would make it difficult for the players that couldn't grasp the spikes casting. 
Shield puzzle diagram-03.png
Diagram C
Shield puzzle diagram-04.png
Diagram D
The most optimal way is to cast a shield first and then destroy the main beamer. It seems like an easy concept to grasp but it usually takes a bit of time for players to find this method. The players can either shoot the beamer or use the spikes cast to directly destroy it as the spikes will also block the beam. I wanted the latter method to not be used that often but be something that the few clever players will use. From testing sessions, players who play puzzle games or are game designers were able to use the most optimal method.
Shield puzzle diagram-05.png
Diagram E
Shield puzzle diagram-06.png
Diagram F
bottom of page