Overview

The AI Programmer role is responsible for implementing AI sub-systems based on guidance and design provided by more senior programmers. The AI Programmer position will report to the Lead AI Programmer.

This position is also expected to be able to deal with other disciplines to resolve problems and elicit requirements. An AI Programmer should have some understanding of best-practice and standard techniques in AI game systems and will seek to learn more about innovations within the industry.

Responsibilities

  • Deliver high quality AI systems using appropriate levels of abstraction.
  • Support other teams in the use of AI systems.
  • Identify and debug technical problems with some help for complex problems.
  • Prioritise, plan and manage the time of assigned tasks with oversight.
  • Communicate clearly with other team members with minimal external help.
  • Be vigilant for and report new problems, delays and risks to the appropriate lead/director.
  • Seek support from higher level management when required.

Requirements

  • Strong C++ programming and debugging skills.
  • Good awareness of AI specific paradigms and algorithms including performance and trade-offs of different approaches.
  • Capable of reading and understanding AI game code.
  • Able to tune AI systems based on specific requests from the design team.
  • Professional videogame programming experience on AI systems.
  • Good algorithm and data structure skills (including time and space complexity and real-world vs theoretical performance of basic data structures).
  • Awareness of multithreading concepts and able to use multi-threading primitives with guidance.
  • Awareness of networking concepts and able to use networking primitives with help.
  • Self-motivated and driven to creatively solve problems.
  • Bachelor’s degree with a Computer Science/Software Engineering focus or equivalent experience.