107 - Item Icon Plugin

February 21, 2021

This passed week I worked on an asset compilation plugin that iterates over all of the items in the items.yml definition file and generates icons for them.

A big part of this workstream is refactoring out code from the game-app crate into a more general purpose crate so that the item-icon-plugin, as well as other future plugins, can easily render things.

Along the way I began to port the game-app crate to the new approach to loading and storing assets.

In short, most of the work here is to refactor and move existing logic until it is easily re-usable from anywhere.

Other Notes / Progress

  • The new asset loading process relies on typetag, but typetag does not work when targeting WebAssembly. So I will need to move away from it.

Next Journal Entry

I hope to finish the item icon generation asset compilation plugin by the next journal entry.

After that I will make some changes to how textures are loaded and buffered at run-time in order to set a foundation for being able to load and unload individual textures on the fly.

Currently all textures are packed into assets during asset compilation. This means that you have to download a bunch of textures that you are not using.

After my changes texture atlases will be created at run-time with only the textures that you need.

I will be back next week. Goodbye for now.