Fonts, Bumps and GUI


Main menu mockup. It has birds!

This was a busy and productive week. Besides the always-necessary bug fixing, some other topics below:

Fonts

I'm really susceptible to options paralysis. Not a good thing for choosing fonts, as there's a gazillion out there. So, when some friendly fellow dev pointed out that fonts could be a bit better, it got me thinking. Instead of creating mockups, overlaying different fonts on the game, in order to get the "true" experience and visuals, I added support for multiple fonts in the game. It was only slightly fiddly, and on the plus side, I did make font size parameterisable, as it was not. What was the verdict? Well, still unsure. I don't want a plain sans serif font, but serif fonts can look chaotic and not as readable when there are loads of floating text around. It shows why professionals are being paid for that stuff I guess.

Testing different floating text fonts

Bump animation

My default game speed is ... "ultra snappy". A bit too much for some. In addition to that, the bump attack animation goes all the way to the target tile and returns. This is so fast that sometimes looks like a glitch. So I thought I'll try a couple of things. I tested reducing the range to something like 60% towards the target tile, and it works. Also reducing the game speed makes it look slightly better. I did try to use easing functions for the bump attack animation, but I wasn't happy with any of them, so it's left to linear there and back (triangle shape). So, this is kinda resolved for now, by reducing the max distance the attacker travels for the "bump".

Testing different attack speed and range for bump attacks

Decals and footsteps

Bug fixing and refactoring mostly on that department, but the footstep functionality is finally shown, and integrated a bit better. Now creatures (or creature classifications) can be assigned footstep sprites, and such creatures would leave footprints when walking, that disappear after a bit. I allowed a bit of configuration so that footstep rendering can be a bit more controlled, in case people want to turn this off, as the ground might look trampled in busy areas.

GUI work

Yes, I started properly! I tried to watch a couple videos to learn some basics, but as it's the case with videos, they can be very hit and miss, regardless of the upvotes/downvotes. Godot's documentation and the occasional guide are great, and some videos to show things in action can be quite helpful. Long story short, I decided to make a proper title screen/game menu. I got some imagery and font that I quite liked, assembled it together, played around a bit with the UI customisation and ... that was it really. I've also added some flying birds. I always wanted to find an excuse to put some flying birds in either the trailer or in the title screen. Here it is: gamedev bucket list goal achieved! Now I'm prototyping more screens, and how to integrate that into the game. I feel I should have made GUI prototypes before I started the port, as that might have guided some decisions, but I think it will all be fine, with A Bit More Refactoring as always. By the way, huge kudos to the Godot team for designing such a nice UI system. Unity's UI made me feel stupid, this one makes me feel empowered, and I enjoy the process, it's a different challenge: it's visual and hierarchical. Also huge kudos to whoever put together gameuidatabase as it's pure gold.

Storyboard

This is really a plan, rather than work, but I'm trying to find excuses to practice a bit of art, which I've abandoned a bit since the port started. One of the next game's trailers will be a narrated slideshow style introduction, which is a perfect opportunity to try and sketch the different images. The number is manageable (6-8) and if I fail at the end, I can always hand over the sketches to somebody who knows what they're doing, as a reference. Let's see!

This is it for now, next week there are going to be more updates on UI and loading/saving.

Get Sigil of Kings (aka Age of Transcendence)

Leave a comment

Log in with itch.io to leave a comment.