Course Success
For this Capstone Course, my team and I have been building a HTML5 Tower Defense Game utilizing the Phaser 3 framework. The biggest breakthrough for me was creating a dynamic pathfinding system built on the A* algorithm; which the enemies in our Tower Defense Game use for movement. This algorithm, a cornerstone in AI navigation, enables the enemies in our game to find the most efficient path to their targets. Building this system was an incredible learning experience as it taught me an extremely useful and optimal algorithm which can be applied to future projects. This experience also taught me how to think about building modular systems for large projects.
My main goal when starting to build this system was to create a way for my team to make as many maps as we wanted and not have to worry about manually hardcoding the paths for each of the enemy units. In order for the A* algorithm to work correctly, I had to build out functions to create a grid of walkable tiles from the constructed levels in the Tiled program. Once the grid is built, I was able to apply the A* algorithm to the grid which then returns a path of coordinates for the enemies to move along. Since the enemies were built using Phaser’s physics system it was simple to apply velocities to move the sprites along the screen.
Once the A* algorithm was successfully incorporated into the project, building more complex maps became quite simple. The one requirement for each of the maps is a single path layer that is loaded into the grid builder for pathfinding to take place. This layer is usually the first layer built, with props, buildings, and other objects built on the layers above the path layer.
SWOT
- Strengths
For this Capstone course, there are a few strengths I would like to highlight. Firstly, I appreciate the hands-off approach and allowing us, the students, to take charge of our projects. I believe that this provides a strong learning experience as well as real-world readiness and preparation. I valued the time I had to create my own requirements and find ways to efficiently approach those requirements. Near the beginning of this course, a majority of my time was dedicated to researching the Phaser 3 framework and creating an action plan for the remaining weeks. Through this experience of research and development, I was able to understand not only the projects expectations but also my own personal expectations.
Another strength of this course is group collaboration. Group projects can be difficult if there is a lack of communication and direction. This course forces groups to find ways to work and communicate effectively. Our group’s success hinged on effective communication and role allocation. We held weekly meetings to synchronize our progress and address challenges, ensuring that each member’s contributions were aligned and meaningful.
A standout strength of our Capstone course was its encouragement of interdisciplinary learning. Diving into the realm of game development, especially for our HTML5 Tower Defense Game, was a unique experience for all of us. None of us had ventured into game development before, so embracing this new branch of software development was both exhilarating and challenging. Game development presents unique hurdles not typically found in other software fields, like crafting balanced gameplay, designing engaging systems, and ensuring the game is enjoyable for players. These aspects had to be meticulously integrated with the fundamental aspects of web development, presenting a layered and enriching learning experience.
- Weaknesses
Despite the many strengths, the course had its fair share of challenges. A notable one was the balance between theory and practical application. Sometimes, the course seemed heavy on theoretical aspects, leaving less room for hands-on practice, which is crucial in a field as dynamic as game development.
- Opportunities
There’s a great deal of potential to elevate this course. One key opportunity is enhancing the curriculum with more industry-relevant tools and practices. Incorporating current industry standards and tools could provide a more realistic insight into the field of game development. Another opportunity lies in fostering stronger collaborations with industry professionals, which could offer students real-world perspectives and networking opportunities. Additionally, integrating more cross-disciplinary elements, like software testing, would provide a more holistic understanding of game development.
- Threats
However, there are factors that could potentially impact the effectiveness of this course. The rapid pace of technological advancements in software and game development means that the course needs to continually adapt to stay relevant. This presents a challenge in keeping the curriculum updated with the latest tools and practices. Additionally, the growing availability of online resources and courses in game development poses a threat to traditional classroom settings, as students might prefer more flexible and diverse learning options available online.