Capstone Course Success and Analysis

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.

Posted in Uncategorized | Leave a comment

My Favorite Technology from My Project

Currently, I am working with two other students to build an HTML5 Tower Defense game using the Phaser 3 game framework for Javascript. My current favorite technology from our project is the Tiled Map Editor. Tiled is an open-source level editor that is widely used in the game development industry, especially when it comes to creating 2D game worlds.

What Tiled is Used For: Tiled is pivotal in our development process as it allows us to visually construct our game maps by piecing together tilesets, setting collision boundaries, and organizing the layers that make up the environments our game will feature. Its ability to export map data in a variety of formats is particularly beneficial as Phaser 3 can readily parse this information to render the game world.

Why It Stands Out: The reason Tiled stands out for me is its ease of use and flexibility. With its drag-and-drop interface, I can efficiently design complex levels without getting bogged down in the details of manual coding. It’s like being the architect of your own digital world, where the only limit to what you can create is your imagination. Tiled fits seamlessly into our workflow, thanks to its compatibility with Phaser 3, making the transition from level design to in-game reality almost frictionless.

How Tiled Could Be Improved: However, like all technologies, Tiled is not without room for improvement. One area that could be enhanced is its pathfinding support. Currently, we use EasyStarJS for pathfinding, which requires additional integration. If Tiled had built-in pathfinding algorithms that could be exported directly into Phaser 3, it would streamline the level design process even further. Additionally, while Tiled is powerful, it can be improved in terms of automation — offering batch processing for repetitive tasks could save considerable time.

The Potential of Tiled: Looking ahead, the potential enhancements for Tiled could open up even more creative possibilities for game developers. Imagine an AI-assisted design feature that suggests tile placement based on the environment you’re creating, or dynamic tilesets that change based on the in-game season or weather. The scope for Tiled to evolve is vast, and I believe these advancements could revolutionize the way we approach 2D game level design.

In conclusion, while Phaser 3 is the engine that powers our game, Tiled is the canvas on which we paint our world. It’s a technology that has not only made our development process more efficient but has also unlocked more creative potential in our level designs. I’m excited about the current capabilities of Tiled and am equally optimistic about its future developments.

Posted in Uncategorized | Leave a comment

Trey’s Introduction

Hello world! My name is Trey and I am on my last semester at OSU. I cannot wait to get started and meet with my team. For my introductory blog post I decided to answer a few of the sample questions provided by the instructor.

  • What got you started with computers or software?
    • Computers and software have always been a significant part of my life. From a young age, I was engrossed in playing on computers, exploring the web, and undertaking small projects. I even went through a period of homeschooling via virtual school, which made me even more accustomed to working with computers. After obtaining my first degree during the COVID-19 pandemic, I delved into programming with Python. The thrill of building and engineering programs captivated me, leading me to pursue a second degree in Computer Science.
  • Future Career?
    • Armed with a Bachelor’s in Computer Science, my aim is to land a position as a software engineer. I’m open to embracing any potential internships or entry-level opportunities that come my way. Moreover, given my background in Biomedical Sciences, I am considering opportunities in the biotechnology field, integrating both disciplines.
  • Favorite Technologies?
    • I have a diverse range of favorite technologies, spanning from software to hardware. This encompasses everything from video games to programming languages and from handheld gadgets to robust desktop towers.
    • When it comes to video games, I’m an ardent enthusiast of RPGs and Open-World titles. I’m deeply impressed by the dedication poured into vast projects like Grand Theft Auto, The Witcher, and the more recent Cyberpunk. The scale of these games is truly breathtaking.
    • My first experience with touch screen technology was an iPod Touch, a device that felt revolutionary at the time.
    • Python is among my preferred coding languages due to its readability and simplicity, making it an enjoyable language to work with.
  • New Technologies?
    • The recent advancements in AI have been fascinating. There’s a vast world within AI, and I eagerly await the innovations the future promises.
    • In line with AI’s evolution, both NVIDIA and AMD have unveiled thrilling projects in AI designed to produce higher fidelity graphics and enhanced performance. NVIDIA’s DLSS mode, for instance, boosts the frames per second without compromising the graphic quality in demanding program
    • Continuing on the theme of video games and computer-generated graphics, the capabilities of Unreal Engine 5 are nothing short of remarkable. Having delved deep into my degree over the past two years, my appreciation for the intricacies of software development has grown immensely. This is further magnified when I think about tools that facilitate the creation of even more sophisticated software.
    • Lastly, the groundbreaking technology behind the James Webb Telescope captures my attention. I’m keenly following the strides made by both NASA and SpaceX in their space exploration endeavors.
  • Journey with OSU
    • Two years ago, I started my journey with Oregon State University on the opposite side of the United States in Florida. I am grateful for the opportunity to be able to pursue another degree. I have come so far from typing print(“Hello World!”) to building much larger projects in collaboration with many great people. There were many obstacles and some lows however with the resources and guidance of OSU I have been able to overcome and excel on this journey of a Post-Baccalaureate Computer Science degree.
  • Hobbies and Pets
    • In my spare time, if you could not tell from my post, I enjoy videogames. I am also an avid hiker, camper and beach goer. My girlfriend and I have a black cat. I enjoy reading books. Also, a huge Star Wars nerd.

I hope you all have a wonderful semester!

Thank you for reading,

Trey Booritch

Posted in Uncategorized | 1 Comment