First Release and QA
Introduction:
Hello gamers. Now that Glock Bird has been officially launched, I only thought it was right to make a devlog to share some of my personal experience when making this game and the future of Glock Bird. Glock Bird is a project that I created solely as a way of learning the tools that the Unity Game Engine has to offer, it was a very fun process. When I was developing the game, alot of game design and object-oriented principles in programming were still pretty new to me, but now I have a much better understanding of these principles and how to move forward into future projects. I'd like to talk briefly about a big problem I faced which will shape how I approach programming future projects.
Biggest Challenge Faced and Solution:
The Problem: My scripts at one point felt very reliant on each other and very tightly coupled. Anytime I wanted to access data from one gameObject I directly just referenced the instance of the script attached to it from another gameObject. I realize now that this is pretty bad practice because it makes your scripts very heavily reliant on one another which means for instance if a gameObject is destroyed for any reason and something was relying on that object then an error would be thrown and the game would break. Below is a diagram of my script structure before I changed it:
The arrows pointing to another script means that I directly got a reference to that instance of the script directly. In the "Script Communication Graph" section of the graphic, you can see that alot of scripts were pulling using stuff from the GameManager script. This is becuase there are alot of objects in the game that need to know when the game starts and stops so they are pulling the games states directly from the GameManager.
Solution: I figured first that I would make the GameManager a static singleton class so that way every other script in the game already had access to it it without needing to find the GameManager instance. Then, I noticed that what may be better then a bunch of scripts pulling states from the GameManager is if the GameManager just told every other script of the states of the game (like when the game starts or ends). This introduced me to event-based programming in Unity where all of my other scripts just wait until the GameManager broadcasts that something has occurred to the state of the game. Below is the diagram I made showing how the other scripts listen for events by the GameManager rather then directly accessing the state variables inside of it:
As a result my code is significantly less coupled then before and easier to change and add upon.
QaA:
Q: Will there be future updates to Glock Bird?
A: Probably not. As much as I really enjoyed making this game I still have alot to learn about object-oriented programming and I don't wanna keep building on something to a big degree when I feel like I could've structured the game a little better to begin with. I wanna keep learning about game development because it seems really cool and interesting to me but I'm also a college student I don't feel confident enough quite yet to harp on one project too much like that. If it turns out the game I just released is like actually unplayable then yea maybe I'll post a patch or two and if the demand is high enough maybe I'll add one or two more features to the game but I wouldn't count on it.
Q: Will the game be available as a downloadable build?
A: I dunno. If enough people want it then I will definitely do that but we'll see.
Q: Are the assets in Glock Bird original?
A; Some of them are. All of the sprites you see in the game (minus the in-game text) are all made by me and so is the background music and VFX. Everything else in the game (sounds, font, etc) are royalty free stuff I found online. I used them with respect to their licensing terms.
Closer:
That's all there is to say really. This was a really fun learning project and I hope anyone who stumbles upon it randomly enjoys it! I'm gonna keep making games in the future and hopefully my projects will become more and more polished and fun to play! Thanks so much for playing and reading ๐๐๐.
Files
Glock Bird
Ever wanted to control a bird with a heater? Well now you can!
Status | Released |
Author | Nottheninja |
Genre | Action |
Tags | 2D, Arcade, Pixel Art, Retro, Singleplayer |
Leave a comment
Log in with itch.io to leave a comment.