Blog Post 3

So far in this course, I would say my biggest success has been my ability to learn and implement a new framework to begin setting up the project for my teammates. Our project this course is to create an HTML5 Tower Defense Game and we decided to use Phaser3 as our game framework. My role in the group has been primarily graphics and engine development, and because I already had a very basic understanding of the framework, I felt responsible for getting the layout of the project set up. The roles of my teammates dealt primarily with gameplay mechanics like enemy unit AI behavior and Tower interactions, so I felt it was necessary for me to set up the game menu layouts so they could work on these mechanics.

There were several breakthroughs during this process that occurred that helped in my success. One was understanding how to integrate graphics into the game. This involved researching different free tile sets to use and software to create graphics and tile maps. I ended up finding a program called Tiled that for creating the game levels and a program called Aesprite that is used to create and manipulate existing pixel art style graphics. Aesprite proved to be especially invaluable throughout the development of the project to create spritesheets, custom buttons, and any other graphics we needed. With graphics on hand, integrating them into the project code was straightforward but unlocked a lot of creative flexibility for us in the project.

Another breakthrough came when I learned how the different ‘scenes’ function in Phaser3. The Phaser3 framework is built upon separate ‘scene’ files that act as different game screens for the player. Learning how these scenes link, interact, and pass data between each other was a foundational part of learning the framework and set up the creation of the menu layouts and laid the foundation for future features. Some of these features outside of the game include loading and saving the game from local storage and adding audio music and sound effects, with more to come.

Our team knew about the capabilities of Phaser3 when we were researching the project, but as we dive deeper into the framework, we are learning that it is a very powerful tool in the development of games with numerous features for different types of games that simplify complex mechanics like physics and object interactions. We’ve learned a lot about the framework and it has been rewarding to see my teammates learn themselves as they implement their own contributions to the project.

Something I’ve learned about myself has been that I need goals to work towards. Making this project has been enjoyable and its encouraging to see the project develop week by week. Working on independent projects, I get sidetracked to the point where it’s difficult to make progress. From this course, I understand that making any amount of progress is still progress, and that setting deadlines for myself is especially helpful for me in getting work done and meeting a high-level goal.

Blog Post 2

Our group project for this course is to create an HTML5 Tower Defense game. We decided on a zombie/post-apocalypse theme and will feature typical tower defense gameplay with a variety of enemies moving along a path towards an objective which the player will defend by placing defensive towers along the path to defeat the enemies. Its called Post-Pandemic Perimeter (ChatGPT generated) and our team is progressing well with developing the game. So far, we have functional menu buttons, save and load features, graphics for buttons and backgrounds, and a demo level that we’re gradually populating with more game features.

Our game uses Phaser3 as its game framework and is my favorite new technology that I’ve learned from this project. I’m familiar with the other languages we’re using (Javascript, HTML, CSS) but Phaser3 was entirely new and required me to learn and practice coding with game development elements in mind. I found this very interesting and rewarding as I was able to create small games and slowly learn how to apply elements of what I was learning to our project.

Phaser3 provides almost everything you need to develop a game besides graphics. For graphics our team is using a combination of several other software to create pixel-art style backgrounds, maps, and buttons. This software includes Tiled for maps, Aesprite for graphics, and Texture Packer for sprite sheets. Phaser3 is able to take these graphics and apply a multitude of different functionality to them to create maps, player interactions, and standard gameplay elements. There is so much more to learn with Phaser3 and I am thoroughly enjoying my time developing this game and learning more about the framework.

Something I think could improve Phaser3 is the availability of more learning materials. There are a few textbooks that have been made, but the framework has seen extensive changes through new version releases so many of these textbooks are out of date. There are tutorials online but they are typically geared towards a specific type of game so many are not relevant to what you are looking for. The documentation was overhauled and redone and is a useful resource, however there are many functions, methods, and elements that it can be overwhelming to look for exactly what you need. There is also a lack of examples that show how to use these functions and methods so you’re left doing a lot of research and trial and error.

It would be nice for there to be more tutorials detailing what all the classes, events, and game objects do with examples on how to use them. I suspect as the framework becomes more refined and stable, there will be more resources and textbooks that are produced that teach and document everything about Phaser. For now, we’re slowly able to figure things out as we continue developing the game and are excited to begin the actual gameplay development portion of the project.

Blog Post 1

CS467 will be my final course in completing the Post Bacc CS degree here at Oregon State University. I had previously earned my degree in Mechanical Engineering and graduated from Oregon State in 2017 and began the Post Bacc degree at the beginning of the pandemic. It has been a challenging but rewarding experience juggling both full-time work and taking these classes but I am excited to finish this degree and begin a new career path.

I grew up in Portland Oregon and moved to Seattle for work. I intend to stay here for the foreseeable future and hope to get a job here as a SDE. Outside of work and school, I enjoy hiking, photography, traveling, and hanging out with friends.

I currently work as a Mechanical Engineer for the US Navy Department of Defense and have been working here since I graduated. Although I enjoy my job and its benefits I have always had an interest in programming and creating webpages/applications. I feel fortunate to be in my position where I enjoy my current job but am able to work towards getting this new degree and to have the option to switch careers.

Throughout these courses I have learned that I have an interest in Front-End design and would love to continue working in that area as a software developer. I enjoyed the courses that had projects that allowed for creativity and design namely CS290, CS340, CS352, CS361, and CS492. I thoroughly enjoy designing user interfaces of webpages and thinking through the user experience when developing an application.

As I stated above, taking these courses has been a rewarding experience and I am looking forward to creating a final noteworthy project in this course with a team as I begin preparing for interviews and the job search after.