JP Flouret

Resume (pdf)

Jean-Philippe (JP) Flouret

jp@flouret.com
(778) 384-2660

Summary

  • Strong problem solving abilities.
  • Expert in C/C++, C# and assembly language.
  • Experience in large scale software development.
  • Experience developing next generation games for Xbox, PlayStation and PC.
  • Experience providing technical and architectural leadership.
  • Excellent skills at writing high performance software.
  • Fast learner able to apply knowledge to solve real problems.
  • Detail-oriented multi-tasker, with strong organizational abilities.
  • Exceptional focus and follow through abilities.
  • Excellent written and verbal communication skills.

Experience

Netflix
Vancouver, BC (Remote)
Gameplay Architect
April 2024 - November 2024

  • Unannounced game: Gameplay Architect, Unreal Engine 5 game.
    • Designed and implemented gameplay systems and tools for input, gameplay abilities, AI, and more.
    • Defined the game’s plugin architecture and implemented the first plugins to support a long lived live service game.
    • Collaborated with other teams to define the game’s architecture and ensure that it would meet the game’s requirements.
    • Worked closely with designers to implement their vision.

Epic Games
Vancouver, BC (Remote)
Principal Gameplay Programmer
April 2022 - April 2024

  • Fortnite and Unreal Engine Gameplay Framework: Principal Programmer
    • Worked on Verse programming language, a new language for Unreal Engine.
    • Created gameplay APIs for Fortnite and Unreal Editor for Fortnite (UEFN) using Verse and C++.
    • Created examples and documentation for the new APIs.

Microsoft
The Coalition Studio
Vancouver, BC
Principal Software Engineer
September 2019 - April 2022

  • Gears of War Engine Team: Gameplay systems and engine performance.
    • Designed and implemented gameplay systems for the next Gears of War games.
      • Created a presentation system for the game that allows designers to create and hook presentation elements (audio, vfx, etc) to gameplay events without the need for programmers to intervene.
      • Designed an interaction system that allows designers to create interactions between characters and objects in the game all of it defined in data.
    • Worked on porting Gears of War from Unreal Engine 4 to Unreal Engine 5.
    • Worked on engine performance improvements for the Gears of War games.
    • Implemented C++ libraries for asynchronous programming using coroutines.
    • Modernized the programming paradigm used for many systems in the game by using coroutines and other modern C++ features.

Senior Software Engineer
September 2015 - September 2019

  • Gears 5: Senior Gameplay and Systems Engineer.
    • In charge of all non-rendering performance improvements for the game.
    • Optimized gameplay, AI, animation, and physics systems.
    • Shipped Gears 5 on Xbox Series S and X both running at 120fps.
    • Worked on the Gears 5 replay/killcam system to ensure that it would meet performance targets and would work with all the legacy Gears of War gameplay systems.
  • Gears of War 4: Senior Gameplay Engineer.
    • Wrote extensive high performance C++ code for the game.
    • Implemented gameplay features and tools for the game.
    • Worked on player movement and replication, mantles and mantle kick, executions and multi character interactions in a networked multiplayer game.

Electronic Arts
Burnaby (Vancouver), BC
Senior Software Engineer
July 2007 - August 2015

  • PvZ Garden Warfare 2: gameplay and animation programmer.
  • NHL 15: Systems Architect.
  • UFC 2: Systems Architect.
  • NHL 14: Systems Architect.
  • SSX (2012): Gameplay and animation programmer.
  • FightNight Round 4: Gameplay programmer.
  • FaceBeaker: Gameplay and animation programmer/Lead gameplay and animation programmer.
  • Provide technical leadership.
  • Design and implement new software to improve the gameplay experience.
  • Design and implement new animation controllers to drive procedural animation.
  • Participate in game design sessions.
  • Schedule tasks and determine task priorities.
  • Establish coding guidelines and expectations.
  • Review code and approve implementations.
  • Analyze feature briefs and determine technical requirements and opportunities.
  • Share knowledge with other teams at EA.
  • Mentor new team members.
  • Game Engines: Frostbite, Ignite

Microsoft (Contract)
Redmond, WA
Software Design Engineer II
January 2007 - July 2007

  • Work closely with the culture innovation team to create strategies that will improve collaboration between groups within Microsoft.
  • Participate in Microsoft innovation events called Mashup Days that bring people together to promote innovation and creation of new and exciting projects.
  • Create an environment for participation during the Mashup Day events. This requires continuous and active involvement and participation in the projects that are being developed at the events.
  • Provide software development (coding) expertise in JavaScript, C# and ASP.NET AJAX during the Mashup Day events and at other times as well.
  • Promote the creation of open source projects that showcase the results of the Mashup Day events.
  • Coordinate activities between different people for the creation of open source projects within Microsoft.
  • Facilitate collaboration in Microsoft’s open source development communities.
  • Contribute source code, ideas and time to open source projects.

GFI Control Systems
Waterloo, ON
Sr. Software Engineer
September 2002 - January 2007

  • Responsible for design and development of embedded software for a state of the art automotive engine control computer implemented in C that ran on a Renesas microcontroller with an SH-2 RISC core. The ad-hoc “operating system” kernel was part of the application and was developed in house.
  • Met on a regular basis with customers to understand how the used our engines and engine control system and to define new features and improvements to be implemented.
  • Owned many features of the engine control system including the J1939 communications protocol stack, many signal acquisition subsystems and the fuel injection and spark ignition subsystems.
  • Modified existing features and subsystems including the operating system kernel, torque management and throttle control subsystems.
  • Created Matlab and simulink models that model new features to be implemented.
  • Responsible for design and implementation of software tools for calibration and diagnostics of engine control units using Microsoft Visual C++ and Visual Basic.
  • Implemented a software instrument cluster application in C# that remotely communicates with a running engine and displays engine operating parameters in real time.
  • Wrote many tools (large and small) in C# and Visual Basic .NET for diagnosing, communicating and interfacing with the engine control system computer.
  • Designed and implemented reusable components (COM objects in C++, .NET class libraries in C# and C libraries) for the reuse of the engine communications component, data acquisition system interface, database access and other common user interface components.
  • Oversaw and participated in the design and development of a test system that verifies proper engine operation after assembly is completed.
  • Designed an extensible testing system that uses COM Active Scripting and JavaScript scripts to implement a sequence of tests to execute on an engine.
  • Implemented a number of COM components for interfacing the test system with the data acquisition system and the engine controller communications system.
  • Responsible for maintaining the SQL server database used by the test system.
  • Developed and executed test plans for all the company’s software projects.
  • Responsible for setup and maintenance of build systems and configuration management systems using GNU Make, Ant, Anthill, MSBuild, CVS and PVCS.
  • Planed and estimated all software development activities.

Delphi (Delco Electronics Systems)
Mexico
Lead Software Engineer
June 2001 - February 2002

  • Oversaw software development project of a Windows based application used to communicate with airbag system for the extraction of automobile crash data for GM vehicles.
  • Responsible for scheduling and prioritization of software development activities.
  • Worked jointly with GM in development of specifications.
  • Planned software development activities.
  • Responsible for writing all software design documentation in UML.
  • Developed time and size estimates for software development project.
  • Managed team responsible for implementation of new software tool.
  • Developed code using Microsoft Visual C++, MFC and assembly language.

Delphi (Delco Electronics Systems)
Mexico
C Language Instructor
January 2001 - February 2002

  • Responsible for C language training of new recruits and also available to all employees.
  • Developed training course for beginners and also for advanced skill levels.
  • Introduced advanced optimization techniques and refactoring as part of the language course.
  • Developed coding standards applied throughout the organization.
  • Trained more than 50 engineers in time to complete time critical projects.

Delphi (Delco Electronics Systems)
Mexico
Software Engineer
September 2000 - May 2001

  • Responsible for redesign and implementation of onboard diagnostics subsystem that resulted in substantial improvements in performance and reduced footprint.
  • Developed software in C and assembly language.
  • Responsible for the development of an in-vehicle reprogramming tool for airbag control units for Opel and Saab.
  • Worked jointly with client to develop product specifications.
  • Created software code using C, Microsoft Visual C++ MFC and Assembly language.
  • Designed and implemented a software package consisting of more than 15,000 tested lines of code in 18 business days.

Education

ITESM University
Queretaro, Mexico
January 1995 - December 2000

Bachelor of Engineering - Electronic Systems Engineering (Software Engineering)

Skills

Programming Languages: C, C++, C#, Lua, Assembly Language, Shell scripting, JavaScript
Operating Systems: Windows, Windows/Cygwin, Linux/Unix
Applications: Visual Studio, Vim, Maya, MotionBuilder, Photoshop
Version Control: Perforce, git, cvs