As a Gameplay Animation Programmer, you will play a vital role in developing and optimising animation systems, ensuring seamless integration with gameplay mechanics and character movement. This position offers an exciting opportunity to work collaboratively with animators, AI designers, and fellow programmers to deliver high-quality animations that enhance player engagement.
- Designing, implementing and maintaining gameplay animation systems and character movement
- Collaborating closely with animators, game designers and AI designers to ensure animations meet gameplay requirements and enhance player experience
- Utilizing common runtime animation techniques such as animation state machines,root motion, IK, motion matching, pose warping and layering to achieve desired, high quality gameplay effects built in a modular, reusable way
- Writing efficient applications using C++ and Unreal Engine Blueprints with a focus on performance optimization
- Applying extensive linear algebra skills to develop robust animation algorithms and systems
- Implementing multi-threaded programming techniques for handling system tasks including graphics, I/O, and memory management
- Developing user-facing utilities
- Conducting performance-minded development and optimization to achieve smooth animation playback within game constraints
- Providing technical support and guidance to both technical and non-technical team members
- Contributing to the continual improvement of animation pipelines and workflows
- 5+ years of experience in a similar position and at least 2 shipped titles is required
- 3+ years of experience in animation systems and character movement development
- A passion for Locomotion Systems, 3Cs, and gameplay animation aesthetics
- Proficiency in C++ programming with strong practical knowledge
- Extensive prior experience in designing, implementing and maintaining character movement, animation techniques and systems including animation state machines, root motion, IK, pose warping, layering
- Excellent understanding and application of linear algebra concepts in software development
- Experience in multi-threaded programming and system tasks such as graphics, audio, I/O, networking, and memory handling
- Familiarity with application-level programming tools and user-facing utilities
- Strong problem-solving skills and a keen eye for detail
- Strong interpersonal communication skills, able to effectively collaborate with both technical and non-technical team members
- Fluent in English, both written and verbal communication