June 7, 2020
It's been a year and a half since I last worked on the akigi.com website, so it needed some tender loving care.
I started the week by making some improvements to the home page.
Could use a little more spacing above the play buttons, but not too shabby!
Since I was in website mode I made a couple of improvements to percy, including merging in a long outstanding PR that extended
I also set up Stripe Checkout. So it's now possible to pay for the game!
I just need to make it worth it by building something unique and fun.
I spent the last few days of the week working on the foundation for particles effects.
I wrote a tutorial on particle effects a few years ago, so I re-read it as a refresher for the general concepts behind particles.
Next time around I'll take the time to tweak the particle values to look more appealing, but my goal this time around was to just get it working.
After getting the particles rendering in the
WebGlRenderer I spent another two days getting them working in the much
Last week I wrote about some of my new tooling for iterating on the user interface's look. Right now
that tooling depends on the
MetalRenderer since the
WebGlRenderer needs a web browser and is thus harder to tool around.
So in order to more easily tweak the look and feel of particle effects going forwards I needed to get the
MetalRenderer up to speed.
I ended up gaining a better sense of how to write
Metal applications and have some nice new data structures to manage
my data buffers in a way that allows them to automatically grow when a larger allocation is needed.
As I continue to gain experience with more modern APIs like
Metal I'm getting even more excited for
WebGPU since once it's well supported I will
never need to write
I'm hoping to be able to deprecate the
WebGLRenderer in the next 2-4 years, but we'll see.
When I'm first designing a new system the data structures look a lot like this. A lot of comments with thoughts and considerations for the future. I don't try to design the perfect system upfront. I just jot down thoughts and add to or remove from some of those original ideas over time. It can take months or years for me to run into some of these sorts of TODO statements, it all depends on how much I need to develop that system.
I started practicing art every morning on April 19th. Haven't missed a day!
This week I started using my morning sessions to practice Photoshop.
Specifically, I'm going through tutorials on how to make icons.
I followed a tutorial on creating a pool icon as a learning exercise. Far from perfect - but if from now on my icons are this quality or better I'm fine with that as a starting point. I can just improve over time.
Building these skills is going to help with creating a good looking user interface.
I added two new commands to my CLI:
ak deploy auth-serverand
ak deploy site-server. They're used like
ak dist site-server --ecr-upload --tag some-tag && ak deploy site-server --tag some-tag
In the video above you can see little seams in the terrain. I'm looking to solve that later this month so I've started to lightly research potential approaches. Currently considering the 4-tap technique in WebGL and then texture arrays for the other more modern renderers. But I still need to do more research and thinking.
Our financials for May 2020 were:
|item||cost / earning|
|adobe substance||- $19.90|
|GitHub LFS data pack||- $5.00|
AWS bill increased from $148.30 to $189.92 this month, but otherwise our costs are as per usual.
One interesting mechanic in Akigi is that there is no on screen game map.
Instead you have a compass (and perhaps a few other navigational tools), and an NPC might point you towards a city that is Northwest.
This week I'll start by adding more polish to the
Tutor of War and then move on to the
Tutor of Navigation that
gives you your compass.
I'll also continue to improve the tooling around visualizing aspects of the game.
Right now I can generate a PNG of any world state. I have it in mind to also create a way to open a window that re-renders and calls a function each time to transform the world.
This would be useful for things like visualizing a particle effect where seeing multiple frames is necessary.
I'll also be working on the user interface. I plan on starting to add in the interface for seeing skill levels.
Cya next time!