Offers “Ubisoft”

Expires soon Ubisoft

Engine Programmer

  • Internship
  • SINGAPORE
  • Energy / Materials / Mechanics

Job description



 

Ubisoft is committed to enriching players’ lives with original & memorable entertainment experiences. We build worlds that are a playground for the imagination, offering moments of surprise, fun and adventure as well as opportunities for learning and self-discovery.

At Ubisoft, you’ll grow and collaborate with highly talented teams from around the world. Our massively friendly work environment will inspire you to go above and beyond to create experiences and brands people will fall in love with.

 

Company Profile

Ubisoft Singapore opened its doors in July 2008 and has since become the largest AAA lead studio in Asia . We are proud of our expertise in naval technology and very excited to bring a brand new online, naval, open world IP to you – the pirate game Skull and Bones !

 

Our other notable achievements include working on every Assassin’s Creed game since Assassin’s Creed II , and being the innovators of naval gameplay in Assassin’s Creed III , Assassin’s Creed IV : Black Flag , Assassin’s Creed Rogue and Assassin’s Creed Origins . And did you know - Ubisoft Singapore works closely with Ubisoft Chengdu and Ubisoft Philippines as an Armada of three studios! We can’t wait to bring exhilarating and unforgettable gameplay experiences to you.

 

Find out more about us on our website: singapore.ubisoft.com

 

As the Engine Programmer, you will be responsible for developing and maintaining low-level systems and overall architecture. You will be working on multiple platforms and in areas such as memory management, loading, streaming, physics, audio, platform specific systems, etc.

Responsibilities:

The main and routine tasks of the Engine Programmer are to:

·  Analyze and understand the requirements of the game teams in order to define the required functionalities and engine systems that must be developed to support them;
·  Analyze existing engine systems and determine if they meet project requirements. If necessary, define how to adapt them or replace them to better meet game requirements;
·  Analyze innovations and features from other engines to help decide where technology sharing is cost-effective;
·  Suggest improvements whenever necessary by designing and implementing new systems or modifying existing systems;
·  Collaborate with game designers/level designers/animators/artists to examine the constraints of the existing engine;
·  Collaborate with game designers/level designers/animators/artists to agree on memory and performance budgets for content;
·  Determine and help maintain CPU performance and memory budgets across code disciplines and platforms;
·  Analyze performance of code and optimize or aid in optimizing algorithms;
·  Analyze performance of compiler and associated build processes. Advise and aid in streamlining the development process;
·  Analyze and support the data pipelines, ensuring that they are efficient and work reliably;
·  Create and maintain systems to help code teams with performance analysis;
·  Analyze memory usage in order to identify inefficiencies, errors and fragmentation. Use this information to fix, advise or find long term solutions to mitigate issues;
·  Measure and track the in-game loading processes to ensure high efficiency. Create and maintain systems to minimize impact of loading on players;
·  Create and maintain consistency of engine framework to support clear APIs and consistent separation of modules;
·  Plan, manage and regulate the multithreading environment and CPU core assignment;
·  Diagnose and repair the most complex bugs, including creating systems to help in debugging;
·  Stay up to date with requirements and updates from platform owners and other external parties. Ensure the implementation of the engine meets these requirements;
·  Evaluate, plan and manage updates of SDKs and Middleware;
·  Document the work so as to transfer knowledge and enable users (programmers and people from other tasks) to understand how the new systems, APIs and engine functions work;

 

Training:

Bachelor of Computer Science or Computer Engineering or equivalent training or experience

Experience:

·  Minimum 5 years’ of experience in low-level programming for game console development using C/C++;
·  Game industry experience is preferred;
·  Knowledge of the workings of video game engines;
·  Experience using one or more commercial game engines;
·  Experience of refactoring and optimization.
·  Experience with multiplatform programming;
·  Multithreading experience;

 

To all recruitment agencies: Ubisoft does not accept agency resumes. Please do not forward resumes to our jobs alias, Ubisoft employees or any other company location. Ubisoft is not responsible for any fees related to unsolicited resumes

 

Make every future a success.
  • Job directory
  • Business directory