Conor Lenihan

Conor Lenihan

Technical Director at Electronic Arts (EA)

Senior Technical Director / 19 yrs

Austin, Texas Area

Hire Me

technical director

Madden 16

associate technical director

Madden 15

Self-motivated senior software engineer | Proven track history of both developing and adapting to new technologies and systems | Seven years experience in the game industry | Highly proficient in using a wide range of topics and tools | Demonstrated initiative to take on leadership roles within teams | Ability to liaison heavily with art / design to help achieve the team goals | Reputation as flexible and dependable team player | Strong mathematical and programming knowledge | Passion for making high quality games.

LANGUAGES | C/C++ | Python | C# | MEL | Lua | | CgFx & Hlsl

GAME DISCIPLINES | Core Systems | Graphics | Tools/Pipeline | Physics | AI | Gameplay | Cross Platform | Networking

TECHNOLOGIES | .NET IDE | CodeWarrior IDE | Perforce | Maya | OpenGL/DiretX9 | Xbox 360 | PS2 | PS3 | Win32

WORK STATUS: Irish and Canadian citizen with US permanent residence
Work History
  • Technical Director

    Electronic Arts

    July 2014 - September 2016
    Austin, Texas Area

    Technical Director of the Madden Architecture Team

  • Assistant Technical Director

    Electronic Arts

    September 2013 - July 2014
    Austin, Texas Area

    - Wrote initial C++11 co-ding standards
    - Directed Advanced team on loading time improvements
    - Guided CFM through it's gate procedures and improved communication for the Austin team.
    - Advised the Architecture Team on Madden Dev priorities
    - Technically designed and FIX (First Interactive Experience) and guided the design team into making solid decisions that would allow the team to respond to a late request with out negatively impacting the Madden Schedule.
    - Helped design the tool and data layout of our AI Behaviour Tree. Aligned this technology with other EA teams.

  • Gen4 Systems Engineer Lead

    Electronic Arts

    September 2012 - September 2013
    Austin, Texas Area

    - Ramped up on the Madden code base
    - Hired and ramped up 4 engineers onto the Madden code base
    - Investigated, designed and implemented the Madden solution for PLM (process lifetime management)
    - Worked with multiple teams to centralize our 1st party abstraction layer for PLM
    - Moved Madden onto an Autosaving solution
    - Lead a team of engineers solving a new user/controller paradigm.

  • Infrastructure Engineering Lead

    BioWare

    January 2012 - September 2012
    Austin, Texas Area

    Promoted from infrastructure team into lead
    • Manage career development of 5 engineers
    • Create and allocate work load for team
    • Mentored and assisted team members through development and support tasks
    • Liaisoned with other teams and upper management to align our team with studio goals

  • Infrastructure Engineer

    BioWare

    September 2011 - January 2012
    Austin, Texas Area


    • Socorro Client: Extended the generic Firefox Socorro crash reporting to handle crash reporting for SWTOR.
    • Socorro Server: Entirely rewrote the crash dump processing mechanism of Socorro to distribute across the SWTOR shards.
    • Cloud Computing: Created a hadoop cluster as the primary backend for the Socorro system
    • Multi Threaded/Processed Data Processing: Worked on several of our multi-threaded/processed data processing tools in our Patch building pipeline
    • Managed various outsource companies to integrate their technologies with our tools

  • Senior Generalist Programmer

    Ubisoft Vancouver

    May 2010 - May 2011
    Vancouver, Canada Area


    Motion Sports Adrenaline: Senior Generalist coder working on Systems / Pipeline / Tools / Gameplay on a TBR Natal racing game.

    • Game Entity Component System: Created a generic system to attach specific gameplay components (i.e. health, animation controller, gameplay rendering interfaces) to gameplay entities. Each component type is composed of a factory which stores a contiguous block of available component. These components are updated as needed either on the main gameplay processor or on a spawned thread.
    • Game Entity Pipeline: Worked on Maya tool to tag object with gameplay components. Created a C#/Python tool to convert the Maya scene into a binary file of all gameplay entities and components. The tool separated the binary files into multiple grouped files to decrease loading times. Write the threaded code to enable loading of the correct binary file in conjunction with the FE/script requests.
    • Online Gameplay Features: Designed and implemented a dynamic Online/Offline feature. The feature allows an online challenge to seamlessly integrate with an ongoing game.
    • Natal Controller: 1-to-1 mapping and gesture recognition.
    • DebugDrawBuffer:Thread safe, memory efficient gameplay debugdraw requests .
    • Ghost Replay: Memory efficient ghost replay recording and playback system.
    • Rope Physics: Physics spring based rope.
    • Gameplay Prototype: Prototypes several of the games.

  • AI Programmer

    Ubisoft Vancouver

    August 2008 - May 2010
    Vancouver, Canada Area


    Pure Football: Intermediate coder working on AI and helped out in gameplay as needed on a 5-a-side soccer sports title.

    • Defensive Team/Individual AI: Implemented on and off-ball defensive AI. Changed defensive behavior to respond to user tactics. Dynamically updated who is highest threat and allocated who is marked. Created tool to allow designers to quickly iterate on new formations.
    • Aerial Game: Developed high-ball gameplay. Character seamlessly teleported / animation popping to accommodate animation syncing. If not possible to sync animations physic and AI are cheated to create a clear victor.
    • Matchstates: Developed State system to control transition of game. Has built-in code to enable network syncing and giving control from gameplay to NIS.
    • Player Avoidance: Implemented boid algorithm to alleviate players collision
    • Client side Network Features: Collaborated with network coder to solve several online determinism issues.

  • Programmer

    Radical Entertainment

    October 2007 - August 2008


    • Scarface 2: Intermediate coder working on AI / Gameplay, in a Crime based Open World Game.
    • Designed and developed fast/flexible, low memory cost state driven 3D meta-markup nodes. It allows any 3D primitive shapes (sphere, lines, etc) to be associated to any set of either referenced or unique instance data/functionality (Cover, Interactable props/vehicles, Spawning, POI, Sound and Squad based commands). The architecture of the system allows these nodes to be seached for using different culling methods (Octree's, Quadtree's, Grids, BSP, Navmesh). This was used in both real time game and offline tools.
    • Implemented system to imbed Ai functionality and nesecarry data (animation, sound, etc) for Pedestrians/NPC to use props.
    • Created a coherent code and tool interface for interacting with, Props, Vehicles, Buildings and People.
    • Worked on prop instancing and prop destruction

  • Zoe Mode, Programmer

    Zoe Mode

    2005 - 2007


    Rock Revolution: Intermediate coder in charge of developing next generation tools and in-game graphics. I have worked on the following technologies:
    • Programming in both CgFx and HLSL to achieve realistic lighting effects.
    • Developing Artist tools and creating in game tools to allow artists’ the ability to view their work.
    • Designed and created lighting database system that can take 100’s of lights and apply them to the most suitable model.
    • Composed some of games 3D math’s libraries.

     EyeToy:PlaySports – Started as a game play programmer before being promoted to a more advanced role in the framework and technology of the game. I worked on following technologies:
    • Multi-threading audio streaming system
    • Architected and developed the world and participant framework
    • Contributed to game play programming in 10 of the 101 games
    • Created a C# tool to automatically test the 101 games for crash and memory bugs
    • Automated the build process

  • Software Engineer

    Airshow, Rockwell Collins

    2003 - 2004


    SOFTWARE ENGINEER | August 2004-March 2005
    Developed Front-End control software for executive aircraft audio-visual systems. Involved using languages such as C/C++, C#, Visual Basic & OrCad. Responsibilities included.
    • Designing Front-End software
    • Configuring large amount of C/C++ code
    • Working in close cooperation with others to achieve shipping dates
    • Supporting the product during integration and in the field
    • Developing tools to aid the software process, in either Basic or C#

Education
  • BE in Computer Engineering

    Trinity College, Dublin

    1999 - 2003