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.