<<

Hubert MOHR-DAURAT Address: 1 Brockhurst Cottages, Coolham, RH13 8QN Horsham Phone: 07713 287 515 E-mail: [email protected] Age: 33 Marital status: Married Nationality: French

Languages

⚫ French: native language ⚫ English: fluent ⚫ Korean: intermediate

Softwares

⚫ Operating Systems: (), Windows, Android ⚫ Languages: , C++, Java, Python, LUA, JavaScript (Unity), C# (Unity), GLSL, Delphi, SQL ⚫ IDEs: Visual C++, KDevelop, Eclipse, AndroidIDE ⚫ Engines and Render Frameworks: CryEngine, Unity Engine, SDL2, LibGDX, OpenGLES 2 ⚫ Computer Vision and AR Libraries: OpenCV, Vuforia, KudanAR, ARCore, Leap SDK ⚫ Other libraries: Alexa Skills Kit SDK, Google Voice API, Box2D, JBT (Java Behavior Trees), libSVM, FFTW ⚫ Other Techs: audio analyzing/synthesis, machine learning (SVM, reinforcement learning), position-based dynamics ⚫ Tools: SVN, , Perforce, Matlab ⚫ 3D Modeling: 3D Studio Max (basic knowledge), (basic knowledge) ⚫ Video Editing: , , ,

Work experience

⚫ June 2019 – September 2020 (1 year) Creative Assembly, Horsham, UK

Lead Animation Programmer. Responsible for long-term direction taken for the animation technologies to bring cutting-edge features and improved pipeline for future Total War titles, managing and mentoring a team of programmers to achieve those goals.

⚫ June 2016 – May 2019 (3 years) Creative Assembly, Horsham, UK

Senior Animation Programmer. Responsible for developing animation technologies across all Total War game projects in development, two major games released.

“Total War: Three Kingdoms” released in 2019

- implemented a new combat system in collaboration with animators and game designers to support fast chaining attacks with a great quality of blending between poses, and a block/parry mechanism with precise positioning.

- implemented new features in the physics and collision systems to improve cavalry charges and spacing constraints around heroes, working also closely with animators and designers to polish the visual reactions of the characters.

- refactored parts of the low/mid-level animation system to tackle foot sliding issues and in general to improve the quality and performance of character locomotion, animation blending/splicing system and weapon attachment.

- proposed, researched and implemented an automated regression tests for the animation system which allows to do changes in the code late in the development without taking the risk to break any existing combination of features.

“Total War: Warhammer 2” released in 2017 and DLCs released between 2017 and 2019 “Total War: Warhammer”, DLCs released in 2016 and 2017

- worked on bug fixing and many additional features, all having to be carefully made to be compliant with existing features and content, considering the short window for testing and releasing those games.

- investigated and improved memory management for animations to be ready for the huge amount of new content.

- improved the crowd animation system at far distance to support with enhanced quality the highly diverse skeletons for new content coming (rats, snakes, dinosaurs) without having to compromise with performance.

⚫ July 2010 – May 2016 (6 years) XLGames Inc., Seoul, South Korea

Animation, physics and vehicle system programmer. CryEngine expert.

“Civilization Online”, MMORPG game

- refined character movement, collision and animation for both humans and animals and brought advanced animation systems to a new level in terms of stability, performance and usability, in collaboration with animators.

- prototyped together with animators many advanced interaction mechanisms, such as autojump, dodge animation, cloth physics, ragdolls and IK systems for holding NPC hands, shaking NPC hands, detecting any shape of objects or wall around for attaching player hands for pushing, holding or leaning against wall animations.

- implemented a parkour system and a smart detection system to automatically create a spatial hierarchy of reachable platforms to grab with very little authoring from artists.

- created a system for pickable objects which also need to be spawned or dropped to the ground, using fake physics to avoid instability and cost of real physics while still good-looking.

- refined movement, collision and animation for land, air and sea vehicles, including advanced features such as horse harness for horse riding and carriages, tank caterpillars, turret aiming, accurate ground projection for wheels.

- designed and implemented CustomIK, a set of constraints for hands and feet that can be easily set by animators to re-use animations with customized characters of any size (when applying non-uniform bone scaling).

- proposed, researched and implemented in collaboration with animators a cartoon-style real-time deformation system for characters, consisting of bone bending, bone stretching and damping effects. The system was completely functional as a proof-of-concept, with many authoring options for animators.

- created a set of unit tests to check vehicle animations for conflicts since they can be animated at the same time by different players interacting at different seats. Those unit tests replaced the work I had to do manually before, and also allowed us to avoid a lot of very rare edge case bugs which cannot be identified easily by QA.

- investigated CryEngine code and documentation to write ‘How To’ guides, share knowledge with animators and other programmers concerning CryEngine techs and architecture and setup the art asset pipeline in collaboration with artists.

- investigated academic papers about advanced animation topics, such as IK interaction, animation retargeting and cartoon-style animation to write documentation and share knowledge with other team members to help making long- term decisions about general directions to take for the project’s animation technologies and visual look.

2016 portfolio to summarize the work I have been doing on Civilization Online is available on Vimeo: https://vimeo.com/156345597. (This video is protected by password. Please ask me for it to be able to watch.)

⚫ February – July 2009 (6 months) KAIST (Korean Institute of Science and Technology), Daejeon, South Korea

Internship at the Computer Graphics Laboratory

I implemented research papers to make a character controller and automatically-generated animation graph system based on motion capture data, evaluated and characterized particular issues encountered with some of the data and proposed improvements to solve those problems.

⚫ May - September 2008 (5 months) Eugen Systems, Paris, France

Internship as gameplay and AI programmer on the strategy game “RUSE”.

⚫ June - September 2007 (4 months) Pixxim, Marseille, France

Internship as 3D programmer. Generation of landscapes, trees and complex buildings.

⚫ In 2005, I co-directed a thirty-minutes-long fictional movie (scriptwriting, shooting, directing actors, soundtrack and music recording, editing and visual effects) involving 20 persons as crew and cast.

Hobby projects a selection of personal projects I have been working on as a hobby between 2014 and 2019.

⚫ November 2014, "Udjat" (1-month game jam), in collaboration with another programmer. Augmented-reality game prototype for android phones and tablets. I focused on computer vision, camera system and rendering architecture among other tasks.

Platform: Android Language: Java Techs: OpenCV, LibGDX, OpenGLES 2, GLSL shaders (for post-effects)

Google Play link: https://play.google.com/store/apps/details?id=com.magic.ar.android

⚫ November 2015, "Rhythm'n Dream" (2 months game jam), made by myself. Virtual-reality educational game to play drums using a LeapMotion controller.

Platforms: Windows, Linux Languages: JavaScript, C++ (native unity plugins) Techs: Unity Engine, LeapMotion SDK

Project page: https://carniblood.itch.io/rythm-n-dream

⚫ September 2017, "Melocubes" (3 days game jam), made by myself. Augmented-reality puzzle and musical game for android phones and tablets. The player interacts with real paper cubes to solve musical jigsaws.

Platform: Android Language: C# (Unity scripts) Techs: Unity Engine, Vuforia SDK

Google Play link: https://play.google.com/store/apps/details?id=com.carniblood.melocubes Project link: https://carniblood.itch.io/melocubes

⚫ October 2018, "Adventure Stories" Alexa Skill, made by myself in one week. Voice-based storytelling experience for which the roles between Alexa and the user are reversed.

Alexa is asking questions to the user to solve puzzles. Answers affect the story. Platform: Amazon Echo (Alexa Skill) Language: Javascript Techs: Node.js, AWS lambda, Alexa Skills Kit SDK

Alexa Skills link: https://www.amazon.co.uk/dp/B07JPD553L

⚫ 2018-2019, "Playdough Simulation", currently working on it by myself. Sandbox game using a Leap Motion controller to experiment with physics deformation using a position-based dynamics solution and precise hand recognition-based interactions.

Platform: Windows Languages: C# (Unity scripts), C++ (native unity plugins for position-based dynamics code) Techs: Unity Engine, LeapMotion SDK

Education

⚫ Starting in October 2020: Imperial College London, Department of Computing, PhD on “Generative Modeling for Program Optimization”

⚫ 2008-2009: KAIST (considered the best engineering school in South Korea), Division of Computer Science, studying computer graphics (character animation and 3D rendering) and artificial intelligence.

⚫ 2006-2008: INSA Lyon (considered one of top engineering schools in France), two years specialization and graduated (Master) from Computer Science and Engineering Department.

⚫ 2004-2006: general scientific (mathematics, physics, engineering) education at INSA Lyon, France.

⚫ 2004: French baccalaureate, specialized in mathematical field, passed with honors.

Publications

⚫ "Automated regression tests for character animation systems" Presented as a poster at SCA '17 Proceedings of the ACM SIGGRAPH / Eurographics Symposium on Computer Animation Los Angeles, California — July 28 - 30, 2017

link: https://dl.acm.org/citation.cfm?id=3106641 Poster’s presentation video available on Vimeo: https://vimeo.com/327604614

Conference Talks

⚫ "Regression Tests for Character Animation Systems" IEEE Conference on Games (CoG) 2019

⚫ "Regression Tests for Character Animation Systems" SEGA Dev Day 2019 (internal)

Activities and interests

⚫ Music: playing euphonium in amateur orchestra, piano. ⚫ Sport: kayak. ⚫ interest in comic books, cinema (screen classics and recent films) and video games ⚫ I like to film rock concerts at small venues and make videos out of it.