Lord of Lightning Slot Game:
Animations
In this exciting project, I had the opportunity to bring the mighty Zeus to life in the Age of the Gods: Lord of Lightning slot game. In this electrifying project, I had the thrilling opportunity to bring the mighty Zeus to life through a series of dynamic animations.
Animations Created:
Idle Animation: Zeus in his majestic form, waiting with power and poise.
Attack Animation: Zeus unleashing his formidable lightning bolts with unparalleled fury.
Special Features
Lightning Zaps on Free Spins: I crafted electrifying lightning effects that activate during free spins, adding an extra layer of excitement and engagement.
Free Spins Animation: Zeus, featured as a side character, dynamically interacts with the game interface, accompanied by stunning lightning effects that enhance the player’s experience.
Game Top-Paying Symbols
Top-Paying Symbols Animation: I crafted and animated the game’s top-paying symbols, enhancing player engagement and excitement with visually appealing animations.
Technical Process:
Symbol Dissection in Photoshop: I meticulously dissected the top-paying symbols in Photoshop to prepare them for animation.
Exporting with .json: Ensured seamless integration by exporting all elements using the .json format.
Spine Integration: Imported the .json files into Spine, where I rigorously rigged and animated each element to ensure smooth and dynamic gameplay.
Optimising Assets for Developers
To ensure seamless integration and optimal performance within the WebGL environment powered by PixiJS and Spine-Pixi runtime, I carefully optimised all assets before delivering them to the development team. This process involved several key steps:
Texture Atlases:
I consolidated multiple images into texture atlases using TexturePacker, enabling efficient memory usage and reducing draw calls. Each atlas was carefully packed to maximise space utilisation, with rotation enabled to eliminate any empty areas.
I also created shared atlases for common elements like lightning effects and symbols, further optimising resource usage across different animations.
Skeleton and Mesh Optimisation:
In Spine, I minimised the number of bones and vertices in the meshes, focusing only on essential points for deformation. This approach significantly reduced the processing load while maintaining high-quality animation.
I ensured that meshes were efficiently bound to bones, avoiding unnecessary complexity that could slow down performance.
File Size and Format Optimisation:
I reduced file sizes by carefully managing resolution and frame count. For animations with repetitive patterns, I looped frames where possible and removed every alternate frame, maintaining visual fluidity while cutting down on data.
All assets were exported in Spine’s .json format, ensuring they were developer-friendly and easily integrated into PixiJS runtime.
Export to Spine-Pixi Runtime:
After finalising the animations, I exported them to the Spine-Pixi runtime. During this process, I linked shared particles to the same bone name and hierarchy in the PixiJS setup, ensuring consistent behaviour across different animations.
By thoroughly optimising texture size, format, and hierarchy structure, I ensured faster load times, reduced memory usage, and smoother gameplay performance.
These optimisations played a crucial role in delivering a high-quality gaming experience while also streamlining the development process for the WebGL developers.