Friday Changelog is a way of updating you on my progress with my side projects throughout the week, no matter how little.
It has been a number of weeks since my last progress update mostly due to conflicting priorities and focusing on producing something worth showing off. The first priority was trying to organise a surprise 21st birthday party for my lovely girlfriend and then once that was over, I was attempting to get my game into a state where I could show it off to my friends this upcoming weekend. It is something that is funny to see reflected in my Github commit history.
Since my last update over a month ago I have worked on:
- Tweaked the generation of levels to create more engaging and tight spaces for combat as well as providing open spaces for players to explore. I have started adding more details to the levels starting with the walls and the shadows they cast and crates with randomised weapon spawns.
Added 4 additional weapons for the players to use. So far I have a pistol, assault rifle, SMG, shotgun and sniper rifle. They are going to remain as very generic weapons mainly differing in accuracy, fire rate, ammunition, projectile speed and shot type (i.e. shotguns having multiple projectiles in a spread).
Game UI elements including player health bars and ammunition counters. Next to implement is a game feed and game over overlays.
Networking improvements including smoothing of player movement and rotation, weapon pick up/drop and change of ownership.
But one thing I’ve remembered throughtout all this is that game development is hard and taxing which is what put me off it in the first place. As such I wanted to start something different for a couple of weeks and actually get something out there. Which takes me to the ‘Board Game Wall of Shame’.
Board Game Wall of Shame
For about 2 years now I have been an avid board game player and collector and in that time I have amassed quite a collection. One thing that has been a bit of a problem for me, not just with board games, is acquisition disorder; where the rate of aquiring games is greater than the rate of playing new ones.
The games that are in my collection that have not been played are commonly known as the Wall of Shame and I thought it would be a quick win to create a web app to see that list.
Board Game Geek is probably the most important website for the board game commmunity because it is effectively where we come together to view information as well as discuss the board gaming hobby. Commonly people will upload their board game collections here and record their playing habits making it an excellent source of data.
Board Game Geek does provide a rudimentary XML API to allow developers to pull down this data so it was relatively easy to get something off the ground to display. In just one day I was able to display all the information needed for the basic wall of shame but now I want to make it presentable and add in a few extra features.
For this particular project, even though I have made a basic Node API currently, I would eventually like to build it with a C# backend since the upskilling in this area will help me at my current job. Aside from the basic functionality of showing a users wall of shame, I would like to add a feature to show which games appear most on everyones list. That way I can show this information on the homepage prior to the user searching for their username.
Overall this seems like a fairly simple project but I would like to do it properly in the form of a proper testing and deployment pipeline. I’m toying with the idea of using Docker and I would like to see how various Devops tools can help and which are overkill. The first one for me to implement was TravisCI and you can see the current build status below:
It will be nice to work on something with a relatively quick and simple minimum viable product that I can post online and get feedback to iterate. I feel like that is something missing with the game that I was building or maybe it was my sense of perfection that was preventing me from feeling like I can post it online.
Anyways, thats a discussion for another time, thanks for reading this far.