User Interface and Colour Update

Hi all,

Welcome back to the dev log of Project Hunter. This is a little update on the UI again, I did a social media post to show off the UI last time as there wasn’t anything special other than the change in style but that has changed a little more again with the decision to change the use from a simple image and fill effect and change the progress bars of Bow Power, Arrow Power and Quiver Size.

The first proper improvement in UI was posted on twitter here or can be seen earlier in the development logs or embedded below; and looking back I thought the simpler look was going to fit well into the game style but due to finding the buttons and not creating them myself or getting a base template it got harder and harder to to get the UI’s to fit together. I found some buttons which seemed a better fit which are now in use except I have altered the colour scheme to have a blueish undertone and text to fit the contrast of the background of the menu’s along with the templates of each type.

I then posted an update on twitter here or embedded above which is showing an animation of when a user buys an upgrade for either the bow, arrow or quiver size. The animation is just scaling up the data holders along with playing an upgrade sound effect and scaling down the data holders again, this was a simple a nice animations until I began internal testing and a few mobile devices did not like the animations or I should say the data went off screen and then back on screen once scaled down and this is not a very acceptable animations.

I decided that the priority of this needed to be pushed up and I began to create a shader which can be applied to a material onto an image or slider for example. The shader is simple enough to take in a texture to be applied on top of the background bar and have the filling image to have the same background as the background bar with the animated material applied to the filling image bar. The shader also has some other variables such as Colour, Opacity, Speed and Division. The Colour variable is applied to the overall product, Opacity is used for the opacity of the texture passed in on the final product, Speed for the multiplication of Time for the animation movement of the material and Division which is the amount of times to divide the texture and applied to the material and final product.

More on the next development log update going over the animals available with the environments they are in and updates towards publication and beta availability.

Twitter: @LRProjectHunter

Facebook: @LRProjectHunter

Happy Hunting All

Unity Jobs System Update

Hi all,

Welcome back to the dev log of Project Hunter. The last update went over the massive fps increase gained from transferring to the Universal Render Pipeline (URP) in Unity but I still wanted to improve on the performance and optimizations that can be done to gain a smoother and more consistent 30 fps on the mobile platform.

I took a look back at the code I had already completed for the Unity Job System for the A* Pathfinding algorithm as I know the algorithm works within a standard operation and I had already designed the code to work within the Unity Jobs System. After some more debugging seeing that the path is found but not set when finishing the job, deciding to cut out some functions and write the code within the Execute function of the Unity Job instead of the private functions within the Job Struct called to be used. To my big surprise this actually fixed the issue for returning the data out of the A* Pathfinding but there was still another issue which is now the full list was not being set and I knew from previous multi-threading work that it takes times to execute these operations. To allow the job time to execute gave me an idea to create a Pathfinding System which is the manager for the animals to send their starting and ending positions and this system then adds each animals job to the queue and then the animal is alerted to change state when their pathfinding job is complete and the data passed back is valid to traverse down or invalid and needs to get a new start and end position for the job to calculate a path again.

Since the change over the fps has become more consistent but the fps increase I thought would be achieved has not been fully accomplished across all mobile platforms, this could be a number of things such as code that is dropping the frametime significantly or the amount of animations and effects happening within a frame or even the mobile device is not as powerful as the newer systems that can operate twice as fast. This could push me further towards the Unity Entity Component System (ECS) but a further restructure of the animal code will be needed to work with the ECS that is not to say it is impossible to restructure the code but will take a bit more time to transfer over versus changing code to work with the Unity Jobs System like I have done here.

Twitter: @LRProjectHunter

Facebook: @LRProjectHunter

Happy Hunting All