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.
- Designed and implemented gameplay systems for the next Gears of War games.
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