Inspiration

The idea for The Verdant Witch and the Tree of Life was inspired by the growing need to raise environmental awareness through engaging and interactive experiences. The concept of a world enveloped by fire due to environmental decay, where a witch uses magic to restore the land, was driven by a desire to connect gameplay with real-world issues. We wanted to create a game that not only entertains but also educates players about the importance of environmental conservation and the underlying consequences of choice.

What We Learned

Throughout the development process, we learned how to merge storytelling with game mechanics to create a meaningful experience. We gained valuable skills in game design, especially in implementing resource management, growth progression systems, event-driven programming, and balancing difficulty all the while allowing an option for free choice. Additionally, we improved our ability to work with pixel art, theme and game engines, understanding how art, mission, and mechanics come together to form a cohesive game.

How We Built It

We built this project using the Microsoft Arcade extension using JavaScript in VisualStudio Code. The gameplay revolves around controlling the witch protagonist to collect various water drops, which represent the restoration of the environment. The magic tree’s growth in its three stages is the main indicator of progress, and players must manage the witch’s health while avoiding the fire fall. The game also features a collection system for healing orbs and the impact of the fire fall spawning at randomized x locations with y set at the top of the screen. Each drop or orb has a randomized downward acceleration. That was made possible through defining sprite types and assigning the witch ‘player’, her personal water droplets ‘familiar’, the raindrops ‘drop’, and the fire orbs 'enemy’ that disappears when it touches set un-passable objects as to not interfere with gameplay. Directionality was also difficult to implement with the freedom of choice aspect our team needed to convey, but arranging a path that may remain untaken added to the mystique as we created un-passable tiles of the tile map. We integrated the storyline with the gameplay through text boxes nested in for loops triggered by the Witch’s actions. The code initializes game levels through designing different maps and a trigger of overlap of sprite type player and tile type portal. We worked around the limitations of the interface by creating pixel art style to enhance the game's fairy-tale vibe, and we focused on simple yet effective controls to ensure accessibility for all players.

Challenges Faced

One of the major challenges was balancing the gameplay mechanics to ensure that the difficulty escalated smoothly without frustrating players. We had to carefully tweak the speed and randomized frequency of falling objects, as well as the impact of health drops, to create an engaging experience. Collision detection was also difficult to avoid with the fire orbs, so we coded destruction of enemy type sprite when it came into contact with the wall. All sprite types are destroyed when it collides with the protagonist, and the score and life changes respectively. Another challenge was refining the art style to ensure it matched the intended tone of the game while remaining functional for gameplay. It required fine-tuning the visual elements to make sure that the player's attention was drawn to key game elements, like water drops and hazards. Despite the challenges, we were able to overcome them through iterative design, repetition, and incorporating visual feedback for the player.

Built With

Share this project:

Updates