Saturday, August 10, 2019

Tooltips

Since this is a devblog, I'll try to cover as many technical challenges I've faced while developing the core systems for Tidewoken. This is one of my first games using Unreal Engine, so there were a few of those challenges. Also sometimes Blueprints are just stubborn :)


As mentioned in my last post, Blogger destroyed half my post, so I'll continue with tooltips.

Goal of tooltips

Tooltips should show the player everything he has to know about the spell, so he won't get frustrated the first time he casts the spell. 

This is particially hard with spells that either do many things at once, or do very unique things.


For example, let's compare two Assault spells "Rune Of Health" and "Summon Target Dummy":





Rune Of Health is pretty self-explanatory
You should probably read that one before choosing it


As you may see, writing tooltips can be a hard task for some abilities.


To make this process easier, I have created a few systems hat assist me.



This entire spell info part is generated using all the different variables a spell can have.

Everything looks complicated with Blueprints...

For all the different font colors I use UMG richtext widgets and the built in "Replace Inline" function.

Because I don't want to fill hundreds of values manually, I parse substrings like {value1} to give me the correct value, based on the characters attribute level:


And for distinguishable damage types, I just replace phrases like "physical damage" with my RichText options.




Dynamic size

Some tooltips are longer than others, so I calculate the amount of spell info lines and then I divide the length of my tooltip string by a fixed amount. 
The added amount is now applied to my scale box.



I'm not sure if there is a easier solution, but the results are pretty good so far.

If you have suggestions or questions, feel free to join my Discord: https://discord.gg/jrGyj2p


Coming up next week is an entire blog post about my first class "Mystic", about what he is supposed to do and some spells that should accomplish that.

No comments:

Post a Comment

If you have questions regarding this project, let me know!

I'm looking for testers with understanding of tactical turn based PvP games like Dofus!