Inspiration
Magic is in the moment. Why use a controller or keyboard and mouse or any other variety of unintuitive interface to cast magic when you can use a wand and create you own custom spells? Inspired by tactical lane-defense and intense retro shooter games like Galaga, we set out to create a system that lets your physical movement, not just buttons, dictate the flow of battle.
What it does
Wizard Siege is a gesture-based lane defense game. Players use a magic wand to inscribe the Arcana into the world itself (Green LED) to cast and select spells out of thin air.
- Tracking: A Computer Vision engine tracks the wand and extracts distinct shapes from the drawn symbols.
- Magic: Players chain together spell components before casting, leading to compound effects and a huge area to expand on the symbol set and capabilities.
- The Goal: Chain together spell types and send them off with a flick of the wand in one of three pathways to eliminate the disastrous agents of chaos and to protect your tower!
How we built it
- Custom Computer Vision: We implemented a custom Computer Vision solution to recognize visible light spectrum sources of light to track a wand and extract the intended shapes for each spell.
- Networking: We created a custom UDP protocol implementation to bridge data between the CV application and the game engine.
- Unity Game: We created a game in Unity that inspires high-stakes combat as you must cast spells to keep enemies at bay while managing the types of enemies and their respective weaknesses to certain elements and magic forms.
Challenges we ran into
We ran into the STEM-specific version of Murphy's Law; If it could break, it did. From manually managing the exposure and white balance of the webcam, to creating more and more sophisticated CV algorithms to track the shapes accurately, to figuring out firewalls for sending network packets, and a host of other things, not only did we face a respectable and worthwhile challenge learning how to apply CV and C# and a number of other concepts, but we also managed to deal with physical hardware issues and compatibility between systems effectively.
Accomplishments that we're proud of
We are very proud of our real-time, custom CV solution to the classification problem for casting spells. Having this work this quickly was key to making the wand feel like a natural extension of the player's own hand. We are also proud of our game, allowing for interactive usage and game play to keep audiences engaged. Furthermore, the near-zero latency between the model and the game itself was a massive milestone for gameplay "feel."
What we learned
We deepened our understanding of Computer Vision and its applications, along with networking, data syncing, and data design.
What's next for Wizard Siege
We want to integrate the sprites we developed for the project, along with animations, textured paths and grass, and different forms of enemies beyond weaknesses and immunities to types of magic. Expanding on the runes possible to augment the system with is also an area of interest for us.
Log in or sign up for Devpost to join the conversation.