Before I dive into this blog post, be sure to Join our Discord if you haven't already, to keep up to date on exactly what's happening and when! As I write this, I'm streaming to some of the members of the community, so you know it's gripping content!
Also, if you're interested in the nitty gritty of game development, be sure to head over to my Patreon page, where I post Deep Dive's into some of the Systems of Hazordhu and discuss programming and game design in much more depth, for free, for anyone to check out! If you like what you read and are able to support what I do, this is also the best place to do so!
There's a lot to cover to wrap up 2022, including detailing a bit of the 8 month stint that led to a complete halt in development, so let's jump right into it!
It's been a pretty calm year. There hasn't been a lot of progress on the game, and admittedly there haven't been a lot of people playing it. The most glaring hurdle to new players coming in and sticking around has definitely been first impressions. The current version that's live on steam utilized a BYOND feature called BYONDExe, which has a rather clunky html/js based interface that, while convenient in some regards, is not the best solution for a modern game. It looks and feels dated, and the documentation on the development side is severely lacking and makes a lot of assumptions about the knowledge of the user (that being myself) in web dev languages. I admit, I don't really know them. So that led me to want to make a better solution, which held me up for a few (8) months.
The first idea that came to mind was to create a user-facing title screen that halted the games current start-up process and waited for the player to select a save and potentially a game-mode, but I decided to go with my second idea, as doing this would have required me to do some major work on the startup sequence for the game, which I wasn't prepared to do.
Plan B, which was what I went with required me to begin writing a second app which acted as the launcher that was currently being used for the game. It has options to select game modes, multiplayer vs single player, an option to launch a tutorial for the game, which also separated it from the actual gameplay aspect, which was the second major hurdle to new players. Everything was going fantastic. There were some things I wasn't sure how to properly implement, and was running into what I thought was a bug in the engine regarding players connecting and loading various game modes, but eventually I was able to overcome those challenges with the assistance of some great people over on the BYOND Discord.
Although progress had been made and the end was in sight, I was laying in bed one night after making some serious headway on the update when I came to a sobering realization. The entire idea of using a second app to launch the game had two major problems. First and foremost, the game was booting directly as a result of BYONDExe (which is still required to build a standalone version of the game). Secondly, and more importantly, using a second app to serve as a launcher for various game modes was futile, as this approach would have led me to need to either create and maintain separate apps for each game mode, or else require me to get into the startup sequence and do all of the dirty work that I had been trying to avoid in the first place.
So, I ended up scrapping the startup app and got in and did the dirty work that I have been trying to avoid in the first place. Since this was now a game of catch-up, I ended up just pulling the majority of the startup app's logic over to the actual game app and built a new start menu within the game. As of writing this, there is still a lot of work left to be done, but by the time it's complete the main menu will serve as an intuitive way for players to play new or loaded games in single-player or multi-player. Another added benefit that I'm going to casually mention here is that I implemented it in a way that opens up the game to load in and play custom made and randomly generated maps. But let's get past this update before we start getting excited for future plans!
We also have some great new mechanics coming in this version:
Archery has had a bit of a facelift. When I started working on this update, players were able to "machine gun" arrows, meaning that they could just rapidly fire arrows and have them deal a lot of damage, similar to "spray and pray"ing in a shooter game. In order to resolve this issue I did a few things.
Projectiles used to be fired at a standard velocity which the player could not control. Now their velocity is relative to the amount of time that a player has had their bow pulled back. The longer the draw, the faster the arrow is travelling. This also directly affects the amount of damage that a projectile will do. The faster the arrow is flying, the more damage it will do. This managed to simply solve the machine gun issue. Player can still rapidly fire arrows from their bow, but they basically just fall flat onto the ground beneath them, without flying forward at all and do no damage. With a bit of a touch-up to the archery reticle, the new system feels both intuitive and challenging. I'm really happy with how it's turned out.
I've also begun laying the groundwork for a system that will become a larger part of the general gameplay: Buffs. The back-end of the system was laid out and bleeding has been transferred over to the new system already. In the future, this system will give way to allow a wide variety of status effects depending on the circumstances, such as a rested bonus when off adventuring, debuffs when thirsty or hungry, buffs when you have a good varied diet, and so much more!
That's about all that I have for this blog entry. I'm back working on the game on a regular basis, so stay tuned for this next version to come out in the next few weeks, although its first release will likely have some bugs that will need to be resolved with a quick turnaround!
Thank you for reading, and Happy Roleplaying!