miércoles, septiembre 02, 2015

Manejando los NPC

Dede hace un tiempo he estado buscando una forma de manejar los NPCs en las escenas de una forma fácil para el artista. A pesar de todas las funcionalidades que ofrece Unity3d, no lo he conseguido, he tenido que volver al antiguo método de usar XML para crear una definición de la entidad. El problema parece ser que Unity3d no permite serializar tipos de datos polimórficos, o sea, clases. Es posible tener una clase con un miembro público y de algún tipo primitivo, como string, y asignarle un valor en el editor que podremos consultar luego durante la prueba o la ejecución del build.
Así que me decanté por tomar un poco de ambas soluciones: una variable con un archivo XML que contiene los atributos que definen al NPC: sus estadísticas, habilidades e inventario inicial, y que me deja espacio para agregar muchísimas cosas más. La clase base de las entidades se encarga de inicializar todos los valores derivados luego de cargar la definición desde el archivo.
Han sido unos días un poco cargados de trabajo en una PC que no es apta para el desarrollo de juegos, por lo que me tomaré un breve descanso mientras el proyecto va a la Habana y regresa con las escenas retocadas. Las cosas se están poniendo complicadas a medida que avanzo, cuando las funcionalidades dejan de ser básicas (mover la cámara, desplazar el personaje) y se van metiendo en el terreno de lo complejo. Entonces es que empieza a sonar la alerta de locura.

lunes, agosto 31, 2015

Y por esto los juegos cuestan tanto

Vale la pena leer este post en Polygon, el cual detalla, según el punto de vista de la diseñadora de juegos Kim Swift, el costo de producir el modelo de un personaje: un guerrero cuerpo a cuerpo. El valor, en mi opinión, es extremadamente exagerado, aún para los grandes estudios.
Usando como base los datos de salario promedio en la industria, el desglose se inicia con el diseño conceptual, el cual puede tomar quince días, y el artista cobra unos $3000 USD. Otro artista trabajaría en la animación del arma, con un salrio y tiempo similares. Pero no sería el único, pues el modelo pasaría por las manos del modelador de personajes, el animador técnico, el diseñador de combates, otro animador, un programador, un ingeniero de audio y el doblador. El proceso total no sería menos de tres meses.
Un estimado conservador sitúa el costo en $46500, sumando los gastos de renta de oficina, software, etc, se monta en los $80 mil.
No es por presumir, pero todo ese proceso podría hacerse por apenas $300 USD, en un mes. Probablemente, se podría hacer un juego completo con 80 mil. Los personajes que estamos usando en el proyecto se modelaron y animaron en aproximadamente veinte días. El arte conceptual tomó una semana porque el dibujante estaba ocupado en otras cosas y no tenía interés, pero con toda seguridad podría haber coloreado el boceto en dos días. El proceso técnico de incorporar las animaciones al juego quizás sea un poco más complicado y ahora mismo no tenemos a nadie especializado en eso, así que lo he estado haciendo yo, pero no debería tomar más de una semana.
En fin, que podríamos reducir esos tres meses a uno y medio, con un costo que no superaría los $600 USD. Una pena que no existan las condiciones para crear una compañía desarrolladora de juegos en Cuba en este momento.

jueves, agosto 27, 2015

Unity3d ofrece soporte experimental para Linux

Ayer Unity3d anunció oficialmente la disponibilidad de un build experimental nativo para Linux, basado en la versión actual 5.1. O sea, que ahora podemos usar el editor en nuestro Linux (Ubuntu 12.04), anteriormente el soporte para dicha plataforma se reducía a generar un build del proyecto que corre en Linux. De todos los motores comerciales, solo Unigine ofrece editor nativo para todas las plataformas, y no estoy muy seguro hasta dónde llegó Crytek en ese apartado. Unreal puede ser compilado, pero es una especie de arréglatelas como puedas y si te escachas no preguntes.
En general, Linux es la asignatura pendiente de los motores comerciales, lo que nos obliga a los desarrolladores que preferimos el pingüino a utilizar Windows más tiempo de lo que es saludable. El lado malo de este anuncio es "experimental", lo que quiere decir que están siguiendo la acogida de este build para ver si es factible mantener su desarrollo. Caso contrario, cortarán el agua y la luz. A juzgar por la cantidad de bugs reportados en el foro, les espera muchísimo trabajo, pero eso también indica que algún interés ha despertado esta nueva versión.

viernes, agosto 21, 2015

Ha muerto Daniel Rabinovich

Daniel Rabinovich, miembro de Les Luthiers el famoso grupo humorístico argentino, ha fallecido a los 72 años, luego de varios meses de enfermedad. Aunque era notario de profesión, también fue percusionista y bolerista aficionado.
Una pérdida sensible para el mundo del humor, sin duda alguna le extrañaremos.

lunes, agosto 17, 2015

Yo y la Xbox 360

Ayer jugué con una Xbox por primera vez en mi vida. Sí, aunque parezca increíble, en mis 40 años he tenido muy poco contacto con las consolas. Creo haber tocado algún Nintendo 64, las viejísimas Atari que habían en los parques de diversiones cuando era niño, y poco más. Nunca antes toqué una consola "moderna", o sea, Playstation 1 o posterior. No faltará quien diga por ahí: pues anda, que yo tampoco lo he hecho. Pero es muy diferente cuando no lo haces porque es tu elección, a cuando pasa porque no puedes, que es mi situación (y el de millones de cubanos).
El caso es que tenía curiosidad por probar el port de algún juego que no fuese el clásico primera/tercera persona diseñado para ser consolizado. En concreto, mi interés es probar el Wasteland 2, pero no parece haber llegado a Santiago de Cuba, así que me tuve que conformar con Diablo 3. La experiencia fue mejor de lo que esperaba, controlar el juego con el mando de Xbox no me fue tan complicado, y desde el primer momento estaba repartiendo golpes como un campeón, e incluso sobreviví situaciones complicadas cuando mi colega dueño del aparato me daba por liquidado.
¿Es mejor que el teclado y el ratón? Pues no sabría decirlo. Hay cierta comodidad en el uso del mando, que debería ir creciendo con más tiempo de uso, pero supongo que cada método tiene sus ventajas y sus partidarios. Quizás la desventaja mayor es que en juegos con muchas acciones, como un RPG estilo Dragon Age, se puede volver un lío asociar cada acción con un botón que puede estar justo bajo un dedo de tu mano derecha (los A/B/etc) o en el disparador izquierdo, una teoría que pienso probar en cuanto pueda molestar otra vez a mi amigo, o pagarme una hora de juego en alguna de esas salas de juego que ahora son ilegales acá. Ya les contaré.

miércoles, julio 29, 2015

Urho3d incorpora internacionalización

O localización, como prefieran llamarle. O sea, que pueden incluir varios idiomas en su proyecto. Vi esta nueva funcionalidad en un pull que hice hace una semana, pues, aunque ya no lo utilizo a diario, sigo este motor de cerca para ver cómo evoluciona.
Por supuesto, aún se echan de menos funcionalidades importantes como un editor de terrenos y uno de interfaz, lo cual lastra de mala manera el desarrollo de proyectos de cierta envergadura. Es una pena que los dos mejores motores libres sigan arrastrando este problema, aunque Godot se está reservando en el apartado 3D para cuando Vulkan llegue a  instalarse en nuestras PCs. O sea, que de un día para otro podríamos ver una maratón de programación en Godot, donde nos lloverían las largamente esperadas mejoras del renderizador 3d (nos prometen Physically Based Rendering y Global Illumination). Pero no será pronto.
Por su parte, Urho3D sigue trabajando sobre las APIs ya establecidas, habrá que ver cuando llegue Vulkan si el equipo de desarrollo decide migrar o mantenerse en terreno viejo, pero conocido.