Code rot is really a thing. If you've got some source code and you leave it along for too long, it stops working properly. It doesn't matter that the source hasn't actually changed. Really!
Code rot is really a thing. If you've got some source code and you leave it along for too long, it stops working properly. It doesn't matter that the source hasn't actually changed. Really!
I didn't support a gamepad style controller in Banished. Mostly because by the time I thought it would be useful, there was so much intractable hard to change UI that I didn't want to add another 500K of C++ code and tons of layout data to make the game work.
Back when I made console games, there was a fixed resolution and all user interface assets were made for that resolution. It was awesome and easy. PC games, not so. Even console games now are tricky if you ship multi-platform and have a huge resolution range. I wanted to take care of this.
When I was first developing Banished, I was forward looking enough to support multiple languages, but the game only shipped with English text. To support a different language, (which many mods ended up doing) not only were translations required, but a file had to be created to define what characters the game uses. This is because font images contain all the characters and are pre-built to avoid rendering each character from its vector representation.
With a change to the C++ side of my user interface complete, I decided it was time to fix up the data and creation side of it.