I missed last weeks dev journal post, but I was finally able to get my WebGL Water Tutorial published and get back into working on Akigi.
The first order of business this week was migrating from my own hand written web bindings in my Rust code to instead using web_sys.
When I first started writing the Rust web client for the game
web_sys didn't event exist, but nowadays it's very robust.
I more or less ended up using my water tutorial as a guide since it has working
web_sys code and then fumbled around
for a few hours fixing compile time errors until everything worked again.
After porting to
web_sys I spent some time improving my dev ops. As the sole developer on Akigi it's important for
all of my processes to be as automated as possible so incremental improvements now will pay off in spades long term.
I started using terraform to create configuration files for managing my infrastructure.
The immediate benefit here is that since I've ported almost all of my old manual process for setting up new AWS resources into configuration files that terraform uses to automatically provision and updated my infrastructure I can now add and modify resources very easily.
This was previously a point of friction that would make me put off things like spinning up the server application for processing payments.
Me going through the Terraform tutorial
Terraform was very easy to learn and get started with and, while my infrastructure is currently on AWS, it makes it possible to be multi-cloud in the future since it isn't coupled to a single provider.
I also wrote a quit script to deploy the game assets to s3. I was previously drag and dropping them and would often forget to do this when I pushed up a new version of the game.
There's still much more room for improvement on the dev ops side... But we'll continue to approach these enhancements incrementally over time.
With those code and process improvements out of the way I've started diving into working on things that you can actually see!
Next week I'll be working on the equipment system and making it possible to render multiple pieces of equipment for a single player.
By the end of the week I'll have a human rig animating a few placeholder models as well as the equipment systems in place on the front-end and the back-end.
This means that the game world will finally have something that resembles a character. It'll be ugly and have poor texturing, but that I can clean up over the rest of this month.
See ya next time!