Mole Mania VR
Project Overview
Mole Mania VR is a stylized VR experience inspired by the classic “Whack-a-Mole” formula. This project was created as a final thesis for the Video Game Design and Development degree at CITM and the goal was to explore the complete pipeline behind the development of a VR videogame, from the early pre-production phase to publishing and deployment. The goal was to understand not only how to create gameplay systems for virtual reality, but also how to structure a production workflow capable of taking a project from prototype to release.
Interested in the project? Check out the full thesis here.
Development Workflow
The project followed a production methodology divided into three major stages: pre-production, production, and post-production. During pre-production, the focus was on researching VR development workflows, testing technologies, and selecting the most suitable engine and interaction systems. Production covered the implementation of gameplay mechanics, UI systems, save architecture, and VR interactions. Finally, post-production focused on deployment and Steam publishing preparation.
Character Controller
To create a more comfortable experience, the default grab behavior from Unity’s XR Interaction Toolkit was customized. Normally, players must continuously hold the grab button to keep an object in their hand, but in this project the interaction was modified so the mace remains attached after being picked up. This small change reduced hand fatigue during longer play sessions and created a more natural interaction model.
The controller also manages all gameplay interactions through an event-driven system, allowing different game systems to react when the player grabs or releases the weapon. This architecture keeps the gameplay logic modular while making it easier to expand the interaction system in future updates.
Mole and Vegetable System
The core gameplay revolves around animated mole characters that dynamically switch between being hidden underground and emerging as targets. To reinforce the visual style, each mole wears a cap while underground, making it resemble a vegetable until it appears.
Beyond serving as gameplay targets, the same characters were reused throughout the project as interactive UI elements. Menu navigation, level selection, and scene transitions are all performed by physically hitting different moles with the player’s mace instead of using traditional buttons.
Level Architecture
Each level is defined through configurable data that determines object placement, mole positions, and gameplay progression. The spawning system reads this information and generates the level dynamically during gameplay. This approach simplified content creation while keeping the overall architecture scalable.
The menu follows the same philosophy by allowing players to navigate through available levels, display their highest scores, and unlock new stages based on their progression. By separating level management, save data, and gameplay systems, the project remains flexible enough to support additional content with minimal changes to the existing code.
Steam Graphic Material
Preparing the game for release involved creating all the visual assets required for a professional Steam store page. This included designing capsule images in multiple formats, screenshots that showcased the gameplay experience, icons, and promotional graphics adapted to Steam’s different display locations.
Publishing Process
Publishing the project on Steam involved much more than uploading a build. The process required configuring the store page, completing the product metadata, defining supported platforms, languages, genres, player information, and system requirements before submitting the game for review. Once the store information was completed, the build was uploaded through Steamworks, where it could be tested before release.
Beyond learning how to publish a VR game, the project offered valuable insight into the production tasks that take place after development is finished, highlighting the importance of planning for release as part of the overall game development cycle.