// Philip Dunstan // // @phildunstan, // (c) 2023 int main() { Player phil_dunstan; phil_dunstan.partner = Player("Katherine Thomson"); phil_dunstan.location = Location("Malmö, Sweden"); phil_dunstan.recent_job_history.add("2020 - present", "Massive Entertainment", "Lead AI Programmer", "Star Wars: Outlaws") .add("2017 - 2020", "Massive Entertainment", "Lead AI Programmer", "Tom Clancy's The Division 2") .add("2016 - 2017", "Massive Entertainment", "Lead AI Programmer", "Tom Clancy's The Division") .add("2014 - 2016", "Massive Entertainment", "Senior AI Programmer", "Tom Clancy's The Division") .add("2011 - 2013", "", "Senior AI R&D Engineer") .add("2004 - 2011", "Electronic Arts", "Software Engineer - Physics and Core Systems"); phil_dunstan.bibliography.add(Expansion, "2020", "Tom Clancy's The Division 2 - Warlords of New York", "Lead AI Programmer") .add(Game, "2019", "Tom Clancy's The Division 2", "Lead AI Programmer") .add(Game, "2016", "Tom Clancy's The Division", "AI systems and features") .add(Game, "2011", "Need for Speed: The Run", "Conversion from Havok to EA Physics") .add(Game, "2010", "Battlefield Bad Company 2", "Conversion from Havok to EA Physics") .add(Game, "2010", "NHL 11", "Physically Driven Characters") .add(Game, "2009", "Fight Night Round 4", "Physically Driven Characters") .add(Game, "2008", "FIFA 09", "Physically Driven Characters") .add(Game, "2008", "Burnout Paradise", "Physics features and performance") .add(Game, "2008", "Nerf N-Strike", "Physics feature debugging and optimizations") .add(Game, "2008", "Littlest Pet Shop", "Physics feature debugging and optimizations") .add(Game, "2007", "Harry Potter and the Order of the Phoenix", "Conversion from Havok to EA Physics, physics feature debugging and optimizations") .add(Game, "2007", "Skate", "Physics feature debugging and optimizations") .add(Software, "2014", "Clang C++ Modernizer Tool", "Source code transformations to apply the C++11 'override' keyword") .add(Software, "2013", "Behavior Tree Starter Kit", "Behavior Tree implementations") .add(Software, "2013", "The AI Sandbox", "Core systems, sensory and perception systems, physics driven animation, technology samples") .add(Software, "2005", "Renderware 4", "Core systems") .add(Presentation, "2019", "Fighting Sequelitis: Creating Combat NPCs for 'Tom Clancy's The Division 2'", "GDC 2019", "AI Summit") .add(Presentation, "2016", "Blending Autonomy and Control: Creating NPCs for 'Tom Clancy's The Division'", "GDC 2016", "AI Summit") .add(Presentation, "2016", "How TOM CLANCY'S THE DIVISION Simulates Manhattan for Millions of Players", "nuclai16") .add(Presentation, "2012", "Believable Tactics for Squad AI", "GDC 2012", "AI Summit") .add(Presentation, "2012", "Active Skeletons and Physics Simulation", "Vienna Game AI Conf 2012", "Animation Workshop") .add(Presentation, "2012", "Behavior Tree Implementation", "Vienna Game AI Conf 2012", "Behavior Tree Workshop") .add(Book_Chapter, "2013", "Behavior Tree Starter Kit", "Game AI Pro: Collected Wisdom of Game AI Professionals"); Game life; life.add_player(phil_dunstan); while (!life.is_game_over()) { life.update(); life.render(); } return 0; }