With the advent of the New Education Policy, there is a special focus on the holistic development of students and making learning enjoyable, and engaging as a whole. The curricular and pedagogical structure of school education will be reconfigured to make it responsive and relevant to the developmental needs and interests of learners at different stages of their development, corresponding to the age ranges of 3-8, 8-11, 11-14, and 14-18 years, respectively. To facilitate such a modern outlook towards education, we have come up with an idea with programming logic at its heart. Our project is a 2D game that teaches the player about various fundamentals of programming such as Boolean Logic, Data Structures, Algorithms, etc in a way that is appealing to the youth.
The biggest challenges students face when starting with programming are not the syntax or the semantics, but it is the "how is it working" and "why is it working". While forming our approach, we took into consideration that a person has a better memory of things that they can link to an image or a visual aid. A game where students can interact with objects which represent programming concepts in an interactive and fun manner so that they are able to play with those concepts however they want and see for themselves how those concepts work, and how they work. The current resources for students to approach programming, normally start with the "Hello world" approach, which focuses on teaching kids the syntax first and then the fundamentals. Our approach helps students to understand these concepts from the get-go so that they able to generalize these concepts across a variety of languages and offer a holistic development of the student as a programmer.
While building this project, one of the major issues that we faced was version control. Version control with Unity was unexplored territory for all of us and keeping the versions of the game compatible as we develop the game on multiple platforms simultaneously was difficult. Other than that figuring out the logic behind the Boolean levels was a bit tricky but doable. One bug we faced was adding tiles to different tilemaps to differentiate collisions and ground to the player, as the player could walk on the collisions as well as on the ground. We fixed that by adding separate tilemaps for ground and collision for each room to make the levels more modular and easy to edit. Our biggest hurdle was implementing a data structure as a level.
Technologies used
Discussion