BreakoutGdx Week 6: Public Release
So this post marks the end of the BreakoutGdx project. I uploaded both the desktop (Windows/Linux) and HTML5 versions of the game to itch.io earlier today. The game can be downloaded and run on the users machine, or it can be played from within the users browser. Feel free to check out the game here! There were a couple of minor modifications to the game itself this week, so in this post I’d like to cover those, the process of publishing the game on itch.io, and final thoughts regarding the project as a whole.
There were only a couple of code changes in the actual project this week, all of which were niceties that didn’t affect gameplay. The most prominent one was that I added a “Credits” screen, where I list attributions to the creators of the various assets/sounds that I used. Note that no asset used had a license that required this, but it seemed like a good thing to do and it wasn’t at all difficult to implement.
I played around with the addition of some gameplay telemetry for tracking popularity/etc, but that ended up not being a very big deal. To be honest itch.io itself provides more telemetry then I thought it did, and you can see metrics such as page views, downloads, and HTML game plays over time directly on their page.
Publishing the game on itch.io was far easier then I anticipated. I needed to come up with a game thumbnail, which I threw together in Gimp in a couple of minutes. I made some screenshots of gameplay which I put in the game pages sidebar, and I wrote a quick tagline/description. Since I’m not trying to sell this game for profit, none of these were very stressful endeavours, however I can absolutely see this becoming a much bigger part of the process if I was trying to actually make money here. Amazingly, the HTML version of the game integrated into itch almost seamlessly. I had to modify the HTML distribution part of the CI pipeline a little bit, so that the resulting HTML zip archive had the index.html page at the root of the zip archive (instead of having a directory as the root, and the index.html inside of that subdirectory), but other then that it was just a matter of taking the zip archive that the CI pipeline produced, and uploading it to itch.io, marking it as a web executable during the upload process. Very awesome to see that the CI tool is tuned enough to integrate that seamlessly.
Upon uploading the game to itch.io I made a post about it in the LibGDX Discord asking others to play the game if they had the chance. A couple of people played it, and one game me feedback. He thought the game was great! That said, he was playing it on mobile, and I hadn’t built in a way to restart the game or proceed past level 1 unless you had a keyboard! I wasn’t anticipating people playing on mobile at all, and was honestly shocked that you could even control the game with mobile, but it turns out you could and this was blocking functionality. I quickly rolled out a version 1.0.2 where I added the ability to click the LMB/RMB or touch the screen to reset the game or load the next level. It’s not super fantastic as that’s also the button to press to launch the ball, but it does allow you to fully play the game on mobile within the browser, and I wasn’t even trying for that so I consider it a win!
I’ve really enjoyed this project. I think I targeted the right complexity of game, not so difficult as to make this a monumental effort, but difficult enough that it was a challenge and that it required long and short term planning and tracking to see to completion. And, now that I have a complete product out the door, I feel a lot more confident in taking on more complex gaming projects in the future.
Finally, if I had to pick one take away from this project it’d be this. Making games is hard. Very hard. There’s a lot more to even basic games then I think most people realize. However, it can also be a lot of fun. I think I found the most enjoyment in taking still images and adding life to them through programming. Once you’ve gone through the work of thinking out how things should go, implementing them, and fixing bugs, you arrive at a product where everything just looks like it goes together. Like it’s this obvious set of assets, with a set of rules that make sense for the world. But it didn’t start out that way, it started as a series of disparate ideas, and it’s on you to make those ideas work together in a world that you control. I personally really enjoyed this, even in the creation of this simple game.
Well that’s it for this project. I have a number of ideas for the next one, and I’m going to take the next day or so to pin down exactly what I hope to build next and why, but I do hope to start and finish another small game project before the end of 2021. Currently I’m thinking the next one will be another simple game but with a different mechanic, and that I will also cross compile that game for Android, in addition to desktop and HTML5.
Again, if you feel like downloading or playing the game, please check it out here!