Inspiration

The spark for Fantasy Coding World ignited from a comic series that we read in our childhood, which is "Fantasy Math Wars," where characters battled using mathematics. The main character, initially clueless about math, gradually mastered mathematical concepts and philosophies through his journey in the magical land. This concept resonated with us since many around us, including ourselves at one point, struggled with it in the beginning. Also, we were influenced by Scratch's programming model, where code blocks create actions. Combining these factors, we decided to develop a game with an immersive fantasy world and interactive programming that integrates coding into combat to help students gain interest and skills in programming.

What it does

Fantasy Coding World is an interactive, fantasy story-driven game where players use coding concepts as spells to navigate through challenges. Set in a magical island, players follow the journey of Hero, a young student who never and even hated coding before, to discover the powerful magic behind coding. Each level is designed to teach a specific programming concept, from if-else, simple loops to complex functions, making coding accessible and engaging through practical application.

How we built it

We utilized Java as our programming language within the Processing environment allowed us to create a rich and interactive game experience. For the design and prototyping phase, we used Figma to plan out the game's interface and design user experience. In Processing, we constructed a main function to continuously monitor and respond to user inputs, translating these actions into dynamic gameplay elements. The backend programming was crafted to ensure each action had a corresponding and coherent outcome within the game's universe. A significant portion of our game's visual assets was generated using AI, which required us to craft precise prompts to produce the desired imagery. This process involved blending various elements to create cohesive and engaging visuals. We only used a minimal amount of resources directly from the internet. Figma helped us to organize the game's overall structure and flow. Through Processing, we then brought these designs to life, animating the assets and integrating them into the interactive world we envisioned. This combination of tools and technologies enabled us to develop a game that is not only visually appealing but also deeply engaging and educational.

Challenges we ran into

Throughout the development of Fantasy Coding World, we encountered various challenges. Managing character movement within Processing was more complex than we initially thought. Furthermore, Processing lacks native support for unique systems within different scenes, necessitating a workaround where we classified functions of other scenes within the main function to facilitate the transition between scenes with diverse requirements. This made the integration of various scenes particularly intricate. Additionally, we found that Processing, while versatile, may not be the ideal platform for game development in the strictest sense. Its limitations became apparent as we delved deeper into the project. We believe that utilizing a more robust game engine could have significantly streamlined our development process, allowing us to devote more time to creating additional levels and enhancing the overall game experience.

What we learned

The process of developing Fantasy Coding World taught us the power of interdisciplinary collaboration, combining education, storytelling, and game design. This is also the first time we've gone from idea to prototype, plotting, and coding a project in such a short period of time. Through this project, we have gained invaluable insights into the workflow of game development, educational content creation, and the art of prototyping.

What's next for Fantasy Coding World

Currently, with the constraints of a 36-hour hackathon, we've managed to develop a comprehensive tutorial, the first and second levels, complete with their narrative, battle scenes, and coding challenges. Moving forward, our ambition is to enrich Fantasy Coding World with more levels that progressively increase in complexity and intrigue. We aim to cover a wide range of programming concepts, ensuring that each new level not only tests the player's growing coding skills but also keeps them engaged with captivating new storylines and increasingly challenging puzzles. Our ultimate goal is to create a learning journey that evolves with the player, making every level a new adventure in both coding and storytelling.

Built With

Share this project:

Updates