Razón Artificial

La ciencia y el arte de crear videojuegos

Entrevista a David Saltares programador en Crytek

Escrito por adrigm el 15 de enero de 2013 en Desarrollo Videojuegos, Noticias | 5 Comentarios.

Entrevistamos a David Saltares actualmente trabajando en la compañía Crytek como programador de inteligencia artificial del juego Homefront 2, creador de IberOgre y el blog de desarrollo de videojuegos Sion Dream.

david

Hola David, ¿Qué tal?

Buenas. Muy bien, un poco de frío por aquí.

¿Qué tal la vida por Nottingham?

Genial, es una ciudad joven con dos universidades y tiene mucha actividad: conciertos, pubs, restaurantes, etc. Siempre hay algo que hacer, lo que compensa un poco el frío. No es Londres pero los precios son considerablemente más bajos, no me quejo.

Te fuiste a Londres a hacer un master en desarrollo de videojuegos, ¿Qué tal la experiencia?

Fantástica. Las instalaciones eran inmejorables, el laboratorio de videojuegos contaba con decenas de equipos potentes, Xbox y PSPs de desarrollo. Todo en perfecto estado disponible para el alumno fuera de horario de clases.

Además, tienen muchos contactos en la Industria del Videojuego y rara era la semana que no había una conferencia: Sony, Turbulenz, Splash Damage, Crytek.

Aunque el nivel de programación no es muy alto allí, aprendí muchísimo ya que todo estaba orientado a proyectos. También hice muchos contactos, algo imprescindible.

De ahí a trabajar en Crytek, ¿Cómo se consigue que una de las grandes se fije en uno?

Diría que son muchos factores. Lo primero y más importante es construirse un porfolio online y llenarlo de proyectos en los que hayas trabajado. No tienen porqué ser juegos complejos, lo imprescindible es acabarlos. Publicar el código fuente ayuda a esforzarse en mejorar, hacer comunidad y a que los demás puedan ver tu trabajo.

Ser realista, empezar con juegos asequibles e ir subiendo. Se valora mucho saber optimizar, así que el tener algo para móviles está bien.

Después conviene moverse un poco en el sentido de conocer gente tanto en persona como a través de Internet. Asistir a eventos, ser social, involucrarse en comunidades… Así se aumentan las posibilidades de estar en el sitio adecuado en el momento oportuno.

¿Cómo es trabajar en Crytek?

Muy emocionante. Estás trabajando junto a los mejores profesionales de la Industria en proyectos de una envergadura mastodóntica, son juegos triple A. El reto hace que aprendas constantemente.

El ambiente de Crytek UK es estupendo, la oficina es moderna, luminosa y tiene un plan abierto, lo que facilita la comunicación entre equipos. Se trabaja duro y con fechas ajustadas pero de forma cómoda. La atmósfera es de colaboración estrecha y los compañeros son geniales.

Después del trabajo nos relajamos jugando al fútbol o con un pub quiz.

¿Alguna novatada o esas cosas no se llevan por Crytek?

Jaja, no, en casi un año en Crytek, yo no he visto ninguna. Hay mucho respeto y desde el primer día fui uno más del equipo.

¿Nos puedes contar en que juego estás trabajando y cuáles son tus funciones?

Soy programador de IA en Homefront 2.

Cuéntanos si puedes que tecnología usas a grandes rasgos, ¿Su usa casi todo propio o se utilizan bibliotecas o frameworks consolidados?

En Crytek trabajamos con CryEngine, un motor propietario desarrollado “in-house” cuya versión con fines no comerciales es de uso gratuito. Otras compañías pueden licenciarlo si quieren.

CryEngine está mayoritariamente escrito en C++ así como parte del código de cada juego. El scripting se lleva a cabo con Lua, XML y Flowgraph. Éste último es un sistema de scripting visual con el que trabajan los diseñadores en el Sandbox Editor de CryEngine. Por supuesto, contamos con muchas más herramientas auxiliares.

Tu equipo tiene permiso para añadir o modificar el CryEngine o es una herramienta que viene de otro equipo que solo podéis usar, ¿Cómo funciona este tema si se necesitan nuevas funcionalidades?

Nosotros somos los que desarrollamos CryEngine. Cuando necesitamos una nueva funcionalidad, la añadimos, así es como evoluciona. Posteriormente, es posible que se añada de forma oficial en la siguiente actualización.

Si algún día uso el CryEngine y me falla ya se ha quien echar la culpa.

Bueno, antes de que se publique una versión oficial del SDK hay un fuerte proceso de testeo constante. Seguramente, lo que uses de CryEngine ya habrá sido utilizado de forma intensiva en muchos juegos de la compañía.

No obstante, no existe un sistema tan complejo 100% libre de bugs. Es un proceso iterativo.

Nos has hablado de un portafolio y contactos para hacerse un hueco en la industria. Supongo que das por hecho otras cosas como un nivel de inglés, de programación, etc. Cuéntanos la clave, ¿Qué se necesita para trabajar en la industria referente a conocimientos?

Es imprescindible contar con una base fuerte de programación. Si bien es cierto que muchas empresas (sobre todo móviles) están utilizando tecnologías como Unity, C++ sigue siendo el lenguaje por antonomasia.

Hay que saber manejar y diseñar estructuras de datos, tener fundamentos de algoritmia, dominar C/C++ a bajo nivel. Principalmente como se organizan los objetos en memoria y sus consecuencias, por qué es mejor utilizar un algoritmo antes que otro en un caso determinado etc. Ser eficiente y escribir código legible es muy importante.

En un proyecto tan grande necesitas saber leer código ajeno y comprenderlo así como ser capaz de ampliarlo o corregirlo. Saber depurar también es muy relevante.

En el plano matemático y físico es recomendable tener conocimientos de geometría, álgebra lineal y cinemática.

Inglés es el lenguaje oficial de la mayoría de estudios, incluso aquellos localizados en países no angloparlantes. Sobra decir que hay que dominarlo a nivel profesional, la comunicación con el equipo es fundamental.

¿Especialización o un poco de todo, qué pide el sector?

Para un puesto de programador junior no se suele pedir una especialización. Sí es necesario que demuestres tus conocimientos de programación de videojuegos a través de tus proyectos.

Estaría bien que entre todos cubrieras los aspectos básicos de áreas como gameplay, AI y rendering. Un poco de todo.

¿Sigues trabajando en otros proyectos por amor al arte?

Sí, sobre todo para fortalecer lo que ya se y aprender cosas nuevas. También porque me gusta.

Actualmente utilizo Java y el fantástico framework libre y multiplataforma libgdx. Trato de seguir game jams y eventos similares.

¿Cómo ves la industria de los videojuegos?

Es un mundo apasionante que evoluciona extremadamente rápido y conduce parte del avance tecnológico. Esto provoca que muchos estudios no sepan adaptarse y deban cerrar, lo cual es triste. Eso sí, siempre hay nuevas compañías y modelos que van surgiendo.

¿Qué te parece el boom del desarrollo Indie que ha surgido?

Creo que es un poco la respuesta a dos situaciones: pocas compañías pueden permitirse el disparatado coste de un triple A y un sector de los jugadores quiere experiencias nuevas.

Es genial porque le abre las puertas a mucha gente y crea diversidad. Tampoco creo que sea la panacea. No cualquiera puede tener éxito en el mundo indie, la cantidad de trabajo es un equipo pequeño es monstruosa si se quiere lanzar algo pulido, aunque sea simple. Quien no lo crea, ahí tiene Indie Game The Movie.

Danos un último consejo a todos los que queremos seguir tus pasos y trabajar en la industria.

Es posible, no es algo tan inalcanzable pero hay que trabajar muchísimo para conseguirlo. Día tras día, incluso cuando la motivación decaiga.

Hacer juegos y terminarlos, parece sencillo y lo he dicho antes pero es lo más importante, con diferencia.

¿Algo más que nos quieras comentar David?

Nada, muchas gracias por la entrevista y seguimos en contacto a través de nuestros blogs o cualquier otro medio.

Muchas gracias a ti por tu tiempo.

5 Comentarios en "Entrevista a David Saltares programador en Crytek"

  1. […] Entrevista a David Saltares programador de videojuegos español en Crytek […]

  2. FELICITACIONES, EXCELENTE ARTICULO, MOTIVANTE Y ALENTADOR, PARA LOS CHICOS QUE VAN EN ESA DIRECCION , TU SENCILLES ME AGRADA, ADELANTE

  3. William Prada dice:

    Excelente entrevista, uds dos son una gran inspiración para el medio, lamentablemente ahora no estoy programando en C/C++ pero en unos pocos meses espero poder volver a retomarlo.

    El Cryengine me sorprendió mucho desde la aparición de farcry para xbox y sus gráficos, por eso me parece excelente que puedan contarnos sus experiencias a través de este blog.

    Interesante, y los seguiré a ambos.

    PD: Excelente el nanosuit de la foto, se podrá conseguir uno para un envio a Colombia? :'( (Ojalá si) :D

  4. Pues muy buena la entrevista y muy alentadora, fundamentalmente para mi, yo soy graduado de ciencia de la computacion en la universidad de Oriente, ubicada en Santiago de Cuba, Cuba, y por ser cuba es muy dificil para mi desarrollar un proyecto sobre video juego ya que en mi pais no tiene campo, pero bueno aunque me sienta como un naufrago sigo haciendo lo mio, hay siempre frente a el PC cueste lo que cueste, bueno estoy desarrollando un proyecto en ogre3D y he adelantado algo, me a costado 2 años de estudios en Ogre3D y pasando trabajo sin internet y casi sin una bueba PC, pero esto es lo que he logrado, aqui pueden ver mi video y imagenes en mi web…
    http://www.youtube.com/watch?v=algUQ-jCSwc
    https://www.facebook.com/pages/Programming-Game/279406128740179?ref=hl
    espero que lo disfruten y dejem un comentario en la mi webde facebook o en youtube…

  5. Javier Lopez dice:

    Excelente entrevista, Me Gustaría sabes el Master en que institución fue?? Gracias