A lot of progress has been made on the art front of Violet, and we can’t wait to share with you the progress. Since the last post, we’ve primarily been focusing on heavy weapons and the hero’s animations. Much like the balanced weapons, we first start out with a rough idea to make sure the motion seems right and that combat feels right. Once confirmed, Tony goes through and polishes the animations. It’s a fun loop and is super exciting to see the progress as each animation comes in. Without further ado, the polished heavy swings:
We currently have four unique weapons in the heavy weapon category: Axe, Mace, Pickaxe and Warhammer. While we were writing the previous post, we were polishing the balanced weapons. Unlike the current balanced weapons that all look very similar (since they are currently some kind of a sword), each of the heavy weapons have an obvious distinct look to them. Therefore, we decided to show off each direction of the animation as well as showcase each weapon. We think it looks awesome and the animation really sells the gameplay.
The next major art piece that was worked on was fire and all their corresponding animations. There were tens of different animations we did for the fire as we created not only different intensities and heights, but fire with motion (i.e. fireball). We’ll only show off one of the animations, but then show an updated screenshot of a wildfire:
Tony also worked on a few other static assets as well. We added a birch tree as well as some treasure chests. Here are a couple of scenery screenshots showing off these:
Other Notable Updates
Last time we focused on building a tile system that could handle the best of both worlds — using Game Maker Studio’s tile system for better framerate as well as using the precision of objects for collision. This system has worked great, but with a brand new overhaul comes some polishing and refactoring to that system. Thus, the last couple months was focusing on refining that system as well as working on other optimizations.
Another reason why we had Tony work on fire animations this time around was because we also wanted to optimize / clean up the way fire was done. For example, for every step of the game, we would get each fire’s adjacent neighbor. Instead of doing this every step, we only get the neighbors when the fire was created and removed / updated the neighbors when a fire was combined or put out. This was a lot easier said than done, but we manage to get it working.
We’ve also noticed an issue with garbage collection in Game Maker that has been causing some frame dips. We’ve done a few things to try to remedy this, but we’re pretty certain the issue lies within the Game Maker engine and not our game. GC was a new feature implemented in Game Maker 2.3 and one of the newest minor releases are still working on addressing garbage collection issues.
We also fixed a number of TODOs as well as squashed a few bugs. One nagging bug was when shooting an arrow would randomly crash the game. Come to find out when we updated some code around the arrow several months ago, we forgot to update the scenario when an arrow completely stops. The chances of an arrow completely stopping are slim because it usually would hit the boundary wall, unloading the arrow. But in edge cases where the player would unload the boundary wall in such a way where the arrow was still flying, the arrow would eventually come to a stop, causing the code in the broken scenario to run, crashing the game.
And finally, we added a feature where talking with an NPC would have them “predict the weather” for the player. Along the same lines, we also added a feature to have the player ask a “person who controls the weather” to change the weather to be whatever the player desires.