Mahei Innovation es una empresa ubicada en Pamplona que se dedica a la creación de aplicaciones de realidad aumentada y videojuegos. En 2012 recibió el premio al mejor proyecto empresarial en la cuarta edición de Uni>Proyecta, certamen cuyo objetivo es fomentar el espíritu emprendedor en la comunidad universitaria. En esta entrevista hablamos con algunos de sus componentes.
Respuesta Digital: ¿cuál es vuestro primer recuerdo en relación con los videojuegos?
Hector Agustin: mi primer recuerdo de los videojuegos se remonta a cuando tenía 5 años. Mi primo tenia una NES y un juego en el que te perseguía una dentadura a la que tenías que esquivar. Era un juego muy simple pero tenía su gracia. También me acuerdo de la primera vez que jugué a la PlayStation. Un amigo mío se la compró y estuvimos 12 horas seguidas jugando a la “demo1”, que traía demos de “Crash Bandicoot”, “Adidas Power Soccer”, “Tekken” o “Ridge Racer”. Cuando jugué a estos juegos descubrí que éste iba a ser mi mundo y empecé a hacer una cuenta atrás de los días que quedaban para mi primera comunión que era cuando mis padres me iban a comprar la consola.
Eneko Vélez: mi primer recuerdo en relación a los videojuegos es un cartucho de 50 juegos que traía la Atari 2600 que tenía por aquella época. Debía de tener 6 o 7 años. De aquellos juegos, recuerdo de manera especialmente vívida el Pong. También recuerdo con especial cariño la Super Nintendo, con el Super Mario World o Los Simpsons: Bart vs los mutantes del espacio, con los que pasé muchísimas horas de mi infancia.
Miguel Ángel Llorente: mi primer contacto con los videojuegos fue en un cumpleaños, cuando me regalaron mi primera consola; una Master System II de Sega. Recuerdo que fue toda una revolución en casa. Somos muchos hermanos y fue un acontecimiento. Pasamos muy buenos ratos, todos en casa jugando y riendo. Todo el mundo opinaba cómo tenías que saltar, qué camino tomar y era muy divertido.
R. D.: las consolas son un buen banco de pruebas pero como plataforma de desarrollo están cerradas para el público en general. ¿Cómo os iniciasteis en la programación? ¿Con qué lenguajes y sistemas operativos?
Hector Agustin: cuando tenía 8 años mi padre trajo a casa un ordenador IBM 386 que se les había quedado viejo en la comisaría. Tenía instalado MS-DOS y Windows 3.0, la versión anterior a Windows 95. En el disco duro de ese ordenador había algunos scripts en lenguaje BASIC que aprendí a modificar, con los cuales hice un juego de rol en modo texto. En aquellos años no tenía internet y tampoco existían libros de programación de videojuegos así que me era muy complicado seguir avanzando y tuve que esperar algunos años hasta programar mi primer juego con gráficos, que fue un juego de guerras de aviones.
Eneko Vélez: antes de entrar a la universidad empecé a hacer mis pinitos con Python sobre Windows. En cuanto a los juegos, después empecé a usar la librería Pygame para hacer pequeños juegos en 2D.
Miguel Ángel Llorente: siempre me habían gustado los ordenadores y los videojuegos aunque su funcionamiento me parecía magia. Por suerte, a los 15 años empecé a jugar al Ultima Online. Un juegazo de rol masivo que funcionaba perfectamente con un modem de 28K. Eran buenos tiempos. En este juego habia opcion de modificar las acciones de las teclas y crear macros mediante scripts. Fue amor a primera vista: dejé de jugar y me dediqué a crear scripts para automatizar todas las labores del juego. Mis amigos, conocidos y hasta extraños se me acercaban en el ciber para pedirme los scripts. Fue en ese momento cuando me di cuenta de que me lo pasaba mejor modificando juegos que jugando.
R. D.: ¿qué tipo de formación relacionada con la Informática recibisteis antes de la universidad? ¿Por qué os decidisteis a estudiar esta carrera? ¿Fue una decisión natural o llegasteis a la misma por descarte de otras opciones?
Hector Agustin: aparte del autodidactismo de internet tuve la suerte de tener a un buen profesor de “Tecnologías de la Información” en 1º de Bachiller, Jose Antonio Montón. Este profesor se saltaba un poco el guión de la asignatura y nos enseñaba cosas como Visual Basic, programación web, robótica o bases de datos. En sus exámenes tenías que programar robots. A partir de esta asignatura nunca tuve ninguna duda de lo que iba a estudiar.
Eneko Vélez: por la época en que me tocaba elegir ya iba investigando lenguajes de programación a través de internet, en un principio como hobby. Me fue gustando cada vez más y cuando pregunté a mis profesores para orientarme y ver que muchos de ellos me recomendaban Ingeniería Informática, vi el plan de estudios y, al ser el que más me atraía frente a otras ingenierías, me decanté por ella.
Miguel Ángel: en cuanto tuvimos ordenador en casa me convertí en el técnico de la familia. Tenía 5 hermanos pequeños capaces de tumbar un SO recién instalado en 5 minutos. Así que me tocó aprender a base de palos aunque me lo pasé muy bien. En cuanto a la decisión de estudiar informática en mi caso no estaba tan clara. Me encantaba la filosofía y la literatura. En el instituto gané algún pequeño concurso de relatos y poesía. Llegado el dia de la inscripción en la universidad, dudaba entre irme a Salamanca a estudiar filosofía o quedarme en Pamplona estudiando informática. Mi madre, que es una mujer muy práctica, me dijo que era más fácil trabajar de ingeniero y escribir en mis ratos libres que lo contrario, así que aquí estoy. Aunque no me arrepiento.
R. D.: respecto al plan de estudios de Ingeniería Informática: ¿qué asignaturas eran las que preferíais? ¿Y aquéllas que evitabais? Finalmente, ¿os sorprendió algunos de los contenidos que recibisteis?
Hector Agustin: siempre me han gustado las asignaturas de programación, inteligencia artificial e informática gráfica. Por otro lado siempre he intentado evitar las asignaturas relacionadas con el software de gestión puesto que es una materia que no me resulta atractiva. A lo largo de nuestra trayectoria universitaria hemos recibido contenidos sorprendentes, desde medir la resistividad del cobre en “Fundamentos físicos” hasta montar un interruptor de luz en “Domótica”.
Eneko Vélez: las asignaturas que prefería eran aquéllas que tenían que ver con la Inteligencia Artificial, Visión por computador, Redes, Sistemas distribuidos, Seguridad etc. En cuanto a las asignaturas que me han interesado menos, decir que con el tiempo se acaba viendo sentido a la mayoría de los conocimientos impartidos, aunque en su momento no te interesaran o no les vieras utilidad alguna. Un ejemplo muy claro de esto son asignaturas de primeros cursos como Álgebra, fundamental para el trabajo que desarrollamos ahora. En la universidad hemos recibido conocimientos sorprendentes como los relacionados con la Visión Artificial, los temas de seguridad en Redes, etc.
Miguel Ángel Llorente: las asignaturas que más me gustaban eran las de inteligencia artificial y redes. En general, cualquiera en la que hubiese parte práctica que me permitiera experimentar. También había asignaturas que no me gustaban pero era más por el profesor y la metodología que por el contenido en sí. Lo que más me sorprendió de la carrera es la carga matemática que tiene. El darte cuenta que tienes que tener un pensamiento muy bien estructurado para ser buen informático.
R. D.: no habéis comentado en estas últimas respuestas nada acerca de metodologías de desarrollo o de gestión de proyectos: ¿es porque estos conocimientos no os han parecido interesantes o porque no se han impartido?
Miguel Ángel: sí que hemos recibido formación tanto en metodologías de desarrollo como en gestión de proyectos. El problema es que los contenidos que se dan en la universidad están muy anticuados en estos campos. Hemos estudiado complejos sistemas de planificación, gestión y control de proyectos que no tienen sentido actualmente. Hoy día los proyectos son algo vivo y cambiante que evoluciona con el tiempo. No puedes pretender hacer una toma de requisitos al principio del proyecto, olvidarte del cliente e irte a tu cueva a implementar para salir tres años más tarde con algo que seguramente ya no es útil. Por eso hemos tenido que investigar por nuestra cuenta, y aprender nuevas metodologías que ahorren tiempo y sean capaces de adaptarse a los cambios. Creemos que una de las razones de que Mahei funcione es su capacidad para desarrollar productos de calidad rápidamente, que nos permiten obtener feedback de los usuarios y evolucionar con ellos.
R. D.: centrándonos ya en vuestra actividad como Mahei Innovation: ¿qué conocimientos creéis que son necesarios para el desarrollo de videojuegos?
Hector Agustin: depende del tipo de juego aunque los videojuegos grandes son los productos de software más completos que existen. Para desarrollar algunos de estos videojuegos hacen falta conocimientos de geometría, cinemática, dinámica, programación, ingeniería del software, sonido, animación, modelado 3d, ilustración gráfica, texturización, creación de guiones y seguro que me dejo algún campo. Obviamente una única persona no puede abarcar todos estos campos por lo que hace falta un equipo multidisciplinar para desarrollar estos productos.
Eneko Vélez: como bien dice Héctor, un videojuego grande es un producto software de enorme complejidad. Dentro de los conocimientos que ha aportado mi compañero, diría que es muy importante tener conocimientos de programación a medio y a bajo nivel, conocimientos de redes para desarrollar aplicaciones online masiva e inteligencia artificial.
R. D.: ¿qué utilizáis para el desarrollo de videojuegos? ¿Qué entorno de desarrollo? ¿Qué lenguajes de programación? ¿Qué frameworks, APIs, etc.? ¿Utilizáis algún control de versiones para gestionar el código? ¿Qué características hardware tienen vuestros ordenadores? En resumen: ¿qué hardware/software tenéis sobre la mesa?
Eneko Vélez: como IDEs, Eclipse, Netbeans y XCode. Los lenguajes de programación que usamos son C++, Java y Objective-C, principalmente. Siempre trabajamos con software de control de versiones para gestionar el código, concretamente con Subversion. En cuanto al hardware, trabajamos con portátiles Alienware y Toshiba, tablets como el Toshiba AT-200 o el iPad 2 y móviles HTC, Samsung y un Xperia ARC con Android. Además, contamos con equipos sobremesa, tanto PCs como un iMac.
R. D.: respecto a la forma en que organizáis el trabajo: ¿trabajáis en un espacio común? ¿Estáis en ubicaciones diferentes? ¿Seguís alguna metodología de desarrollo? ¿Habéis establecido roles o hacéis todos de todo?
Héctor Agustín: tenemos un local al que llamamos «el garito» situado en la Universidad Pública. La metodología de trabajo de Mahei es la agilidad. En Mahei somos capaces de realizar prototipos de software muy complejo en pocos días con una alta calidad. Este enfoque nos permite saber rápidamente si una idea que tenemos puede tener salida en el mercado. Hoy en día es impensable que cualquier pyme tecnológica sobreviva sin utilizar metodologías ágiles como Scrum, ya que los mercados tecnológicos están constantemente cambiando. De momento sólo tenemos dos roles “programador” y “diseñador gráfico”.
Miguel Ángel: la verdad es que tenemos la suerte de trabajar muy bien juntos y de ser un equipo apasionado y responsable. Creemos que cada uno trabaja más y mejor haciendo lo que le gusta por lo que nos repartimos el trabajo en función de lo que le va a cada uno. En cuanto a la organización, utilizamos metodologías ágiles con baja documentación. Aunque sí que tenemos planificaciones y reparto de tareas semanales. Es muy importante organizarse y planificarse bien pero hay que huir de la burocracia.
Eneko Vélez: trabajamos en el mismo lugar físico, basándonos en metodologías ágiles. Solemos realizar reuniones y repartos semanales.
R. D.: ¿consideráis que para desarrollar videojuegos se debe ser un apasionado jugador de los mismos?
Héctor Agustín: por supuesto. He sido un jugador empedernido aunque desde comencé la carrera ya no juego tanto. Lo que me gusta es crear ideas de juegos innovadores y ver qué es lo que le gusta a este público tan exigente.
Miguel Angel: no sé si es obligatorio pero, como en todo, se nota si se hace con pasión o sólo es un trabajo. Además, estar en contacto con la comunidad de jugadores y ver las novedades ayuda a la hora de diseñar y enfocar tus propios juegos. El que más sabe de un producto es el que lo usa.
Eneko Vélez: creo que no es imprescindible pero sí es una gran ayuda.
R. D.: ¿qué videojuegos os han marcado como jugadores? ¿Y cómo desarrolladores?
Héctor Agustín: aunque en casa tengo miles de juegos el que me ha marcado más es Pokemon. Este juego ha marcado a una generación de adolescentes transmitiendoles que se puede comenzar desde cero (en Pueblo Paleta) y a base de esfuerzo y perseverancia llegar a lo más alto (Liga Pokemon). Como desarrollador admiro a “Blizzard” y a “World of Warcraft”.
Miguel Ángel: como jugador el Diablo II, Ultima Online y Warcraft III marcaron un hito en mi vida. Son juegos muy elaborados que a día de hoy, más de 10 años después de su lanzamiento, lo puedes seguir encontrando en las tiendas. Teniendo en cuenta que en el mundo de la tecnología todo caduca con asombrosa rapidez, esto es algo que distingue a los mejores. Como desarrollador fue también con estos juegos con los que empecé a manejar scripting gracias a sus editores. Concretamente Warcraft III y sus mods que fueron precursores de otros juegos. De hecho, la idea de World of Warcraft surgió de los propios jugadores que hacían módulos RPG del juego. También merece mención el mapa Defense of the Ancients (DoTA) que dio lugar a juegos como League of Legends o DOTA2 que actualmente cuentan con millones de usuarios en todo el mundo. Esto demuestra que los jugadores saben lo que quieren, sólo hay que saber escuchar.
Eneko Vélez: Pokémon en su momento, juegos de estrategia como la saga Age of Empires o Civilization, el Warcraft III, otros juegos más desenfadados como Mario Kart en la N64 o los juegos de Worms, un poco de todo. Los únicos que no suelen gustarme demasiado son los shooters, con algunas excepciones como Quake III.
R. D.: para finalizar una serie de preguntas cortas
Un libro técnico que recomendarías.
Miguel Ángel: muchos, depende para qué. Recientemente me he leido “Pro OpenGL ES for Android” de Mike Smithwick y Mayank Verma y la verdad es que esta muy bien para empezar con OpenGL.
Eneko Vélez: por la importancia de los patrones de diseño, “Head First Design Patterns” , de Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra. La serie de libros entera está muy bien.
Un libro, de cualquier tipo.
Miguel Ángel: “El Perfume” de Patrick Süskind
Eneko Vélez: “Vida y destino” de Vasili Grossman
Un disco de música.
Miguel Ángel: “Finisterra” de Mägo de Oz
Eneko Vélez: “Octavarium” de Dream Theater
Una película.
Miguel Ángel: sin ninguna duda “La vida es Bella” de Roberto Benigni. Desde que la ví me propuse ser un poco más como Guido (su protagonista) tanto en su forma de tratar a los demás como en su alegría vital. Toda una obra maestra.
Eneko Vélez: “Cadena perpetua”
Una serie de televisión.
Miguel Ángel: no veo mucho la televisión y no conozco ninguna serie tan buena como para recomendarla.
Eneko Vélez: “Los Soprano”
Un blog o web que recomiendas seguir.
Eneko Vélez: Un informático en el lado del mal: http://www.elladodelmal.com/
Enhorabuena al equipo de Mahei. Debe de ser genial dedicarse a lo que te gusta!
Muy buena e interesante entrevista. Mucho animo a los miembros de Mahei Innovation en este apasionante mundo. Es cierto que ofrecer un buen videojuego cada vez exige más, por sencillo que este sea, no digamos los conocidos como AAA. Muy interesantes las experiencias de los entrevistados, creo que todos hemos tenido un contacto similar con este mundo en expansión.