Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

v1.0.0 out now!

Full release (finally!) after a month of work starting from zero. Apart from the score system, there aren't any major new mechanics, but almost every part of the game's interface has been improved in some way (I did start from a blank project, after all). My experience in developing the previous version helped me avoid pitfalls in programming and project organization. I was able to redo 5 months of work in 1 both because I had a direction (re-implement all existing features, but better) and because of the projects I worked on during the hiatus. Here are some ramblings that I'm finally writing down. 

Font

The previous font, Roboto, was a good choice as it had variants for different font weights and italic text, which I used to indicate enemy size and attack speed. However it looked too generic, so I replaced it with Tomorrow, a more angular font, to give the game a distinct character. I'm honestly surprised that it had as many variants as Roboto, as most fonts I found didn't even had separate bold font file, let alone all the different font weights I needed. It fits the rest of the UI really well and is readable and stylized at the same time.

Sound effects/animations

One thing I realized during development was how important a game's presentation is. After all, mechanics are meaningless when no one plays your game.

I wrote a script to fade between soundtracks, which allows me to change the music smoothly. Menus, win and death screens, and gameplay now all have different background music. A big improvement from all previous versions, where there was one infinitely-looping track. As for sound effects, all five elements now have unique attack sounds, and I've added many other gameplay sounds as well to give feedback to the player.

Most developers want their players to win, so they pay attention to their win screen above everything else. But a game that most players win first-try can't be fun. I added a proper death animation and sound effect, as well as a unique soundtrack for the lose screen. A new player will probably see that much more than my win screen, so I prepared by putting more effort into designing that.

Had to adjust some sound effects over and over again because they didn't sound right, but eventually got them to a place where they were half-decent.

Code changes

The least glamorous but most useful change by far is the code restructuring. It won't go on any changelog, and players will never see it directly, but with a well-organized project I can actually add features and fix bugs without having to rip everything apart.

Wrestled for a few hours with the script execution order to fix cell values/modifiers not being set properly during floor initialization. I had to wait for the code to recompile every time I changed it. Learnt a lot about function execution orders from this. While it was frustrating, I solved the problems by refactoring so each task was done on as few scripts as possible, accessing values from others if needed, and resulted in much more modular and extensible code.

Finishing with a quote from a friend:

"it seems like an actual game now"

Really encouraging!

Changelog/more formal announcement here