Carles joined Guerrilla on 2011, where he works as an AI programmer.
Carles joined Codemasters on 2007, where he would work as an AI programmer mainly focused on the development of the navigation system for several FPS games for PS3, XBox360 and Windows. He would redesign and finish the implementation of a pathfinding system based on quadtrees and navmeshes to be used for humans and vehicles, and with support for streaming data, special actions like opening doors, environment destruction and roads. He would work closely with artists and mission designers for the specifications and review of the navigation data, with the data pipeline engineers for the specification and review of the navigation data tools, later modifying the AI data pipeline and extending the AI data tools himself, and with the animation and gameplay engineers to have the required interfaces and associated code and data dependencies correctly specified and implemented. He would also contribute to the design and implementation of the formation and steering systems for soldiers and vehicles and occasionally he would also contribute on other AI systems like perception, covers or decision system and even non AI areas when helping to close a project.
Carles joined Tragnarion Studios on 2005 as his first job in the game industry, where he would work as an AI and tools programmer for an FPS game for Windows. Initially he would implement the perception system for AI, create a tool to author the hierarchical FSMs used as decision logic by AI, contribute in the creation and optimization of a tool to generate automatically navmeshes from physics data using Delaunay triangulation, implement a dynamic obstacles avoidance system based on Craig Reynold's steering behaviours and extent the navmeshes with Dirichlet regions (a.k.a. waypoint graph) and its associated tool. Later he would evaluate several AI middleware, but finally design a full AI system for an FPS game based on Damian Isla and Bruce Blumberg's blackboard architecture model for AI, a rule based system as its decision system and support for special navigation capabilities like walking on walls and long 3D jumps. Finally he would be implementing the combat behaviour for enemy soldiers, with focus on taking and using cover, setting up animation blend trees and working closely with animators.
Carles joined CITeM on 2001 while he was at University as a means to specialize his studies on game development. In CITeM he would work in a small team creating a basic game engine. He would first create a basic physics engine with support only for rigid bodies and later a basic artificial intelligence engine as his technical (bachelor) degree graduation project. Later he would work on the creation of a small MMORPG prototype, co-designing and co-implementing the game server's side architecture. Finally he would create a specialised artificial intelligence engine focussed on emotions and learning as his higher (master) degree graduation project.