viernes, febrero 12, 2016

Analizando Underrail

Un refrán de los tiempos de internet dice que debes aprender de los errores ajenos, porque no tendrás tiempo de cometerlos todos tú mismo. Esto aplica lo mismo para escritores que desarrolladores de juegos, aunque en la vida real sea más fácil decirlo que llevarlo a la práctica.
Luego de un maratón de Underrail, ya puedo valorar sus puntos fuertes y debilidades, aunque preferiría concentrarme más en las últimas, porque de ahí es de donde debemos aprender. Este título ha sido un trabajo titánico de un equipo minúsculo, que demuestra que si le echas huevos, la cosa es posible. Hay que quitarse el sombrero señores (o la gorra, si eres reggetonero) y advierto que lo que expongo aquí es mi impresión y podría estar equivocado.
El juego en sí es bastante grande. El metro es un mundo que se va abriendo y se convierte a medida que avanzas en algo enorme, y ahí está el detalle: como no tienes mapa, puedes perderte muy fácil. Y no es que esté mal tener un mundo abierto donde perderse, siempre y cuando no sea literalmente.
Otro aspecto flojo de este mundo tan grande es que hacia el final se pierde un poco de profundidad, en la forma de escasez de misiones secundarias. Una vez que alcanzas Core City, el juego parece centrarse en la misión principal y no encuentras esas aventuras sencillas que te puede proponer un tipo en una esquina o alguien en una casa. Esto se suple básicamente dándote a escoger una facción con una serie de misiones, o combatir en la Arena.
El sistema RPG de Underrrail no está orientado a clases, sin embargo, se impone cierta especialización. No puedes ser un usuario de habilidaes psi, eficiente con armas de fuego, ballestas y cuerpo a cuerpo, y que además pueda abrir cualquier cerradura, tener una alta capacidad de intimidación y persuasión. Necesariamente hay que dejar fuera algunas cosas, lo cual no está mal, salvo que en mi opinión, son demasiadas. Muy probablemente tendrás que descartar cosas interesantes, como la fabricación de objetos, o subirlas tan lentamente que quizás solo puedas usarlas en el final del juego. Esto afecta un poco un sistema que está relativamente bueno.
He leído críticas (muy pocas) a la historia, lo cual no comparto. Quizás no sea para nominarlo a un WGA, pero tampoco es tan aburrido, al menos al principio, al final sí falla un poco en atrapar al jugador.
Por tanto, tomen nota, desarrolladores, para que puedan evitar estos errores en sus proyectos. Así podrán cometer otros completamente distintos.

martes, febrero 09, 2016

Amazon Lumberyard

Supongo que a esta hora, cualquier persona informada sepa lo de Amazon y su nuevo motor de juegos, Lumberyard. La jugada es inesperada, sorprendente... y completamente lógica. Según leo, Amazon ha estado intentando hacerse un hueco en el asunto este de los juegos, sin mucho éxito. Pero como dice el refrán, si no puedes hacer juegos, busca otro que los haga por ti. Y si el refrán no existe, acabo de inventármelo.
La cosa es que Lumberjack integra los servicios de Amazon, como AWS y Twitch, y te impide usar los de la competencia, porque de ahí es de donde provendrán los ingresos para manener este motor completamente gratis. La lista de funcionalidades y el hecho de estar basado en CryEngine le dan una categoría de AAA, aunque yo prefiero esperar antes de apresurarme a emitir juicios sobre su eficacia y rendimiento.
De momento, no sé si mi modesto hardware bastará para correrlo. La descarga es otro obstáculo, creo que sería muy molesto tener que descargar 10Gb o más cada vez que saquen una nueva versión. Trataré de postear por acá mis experiencias, si es que logro hacerlo funcionar.

jueves, febrero 04, 2016

El desarrollo de juegos avanza!... en Africa

En estos días un par de artículos han llamado mi atención. Ambos se referían al auge que está experimentando el desarrollo de videojuegos en un continente que podríamos asociar con cualquier cosa (tambores, santería, masacres, guerras étnicas, falta de educación, subdesarrollo, estafas nigerianas, Boko Haram, etc) menos con ese tema. Hace un tiempo les mencioné Aurion, un proyecto camerunés, pero no es el único. Solamente es el ejemplo más llamativo por ser un RPG y haber triunfado en Kickstarter. Hay muchos otros, incluyendo productos más modestos para móviles.
La pregunta es cuándo avanzará acá. Y la respuesta es compleja. Podríamos decir que ya está avanzando, pero no al nivel de Africa. Entender que un país que alcanzó niveles educacionales de primer mundo (y que desarrolló juegos avanzadísimos para su época, o tremendamente adictivos y divertidos) no pueda desarrollar una industria de videojuegos tiene varias causas.
Yo siempre suelo mencionar la baja conectividad. Usar Unity3D en casa, si no tienes internet, puede ser complicado. Encima, ellos no te lo ponen m;as fácil, por culpa del embargo norteamericano activar una licencia se vuelve una odisea: hay que usar un proxy externo, lo cual te puede costar una sanción en tu centro de trabajo o estudio. Y no hablemos de Unreal Engine 4, que de plano te niega el acceso si estás en Cuba, y después te exige Visual Studio 2013, que a su vez requiere conexión para activarse.
No obstante, cuando hay deseos, todo se puede lograr. Ahí es donde entra el factor sociedad. Ante todo debemos comprender que para el modelo socialista cubano, los juegos nunca han sido algo bien visto. La limitada industria electrónica del campo socialista malamente podía garantizar que los ciudadanos poseyeran un radio, un televisor en blanco y negro, un tocadiscos, y a finales de los 80, una grabadora de cassettes. Los más afortunados podían tener un televisor a color. Una computadora doméstica era un lujo consumista de la sociedad capitalista, que como Marx, Engles, Lenin y todo el que vino después no se cansaron de vaticinar, estaba a punto de joderse en cualquier momento. O sea, queridos lectores de Europa, que mientras ustedes tenían Commodore 64, yo soñaba con tener una calculadora. Y lo más triste es que ni siquiera eso podía tener.
Ajá, esto era lo que teníamos en el año 87-88. El resto del mundo ya usaba doble cassetteras estéreo.

Entonces, una PC era algo que usabas en la escuela o el trabajo, y no era para jugar. Salvo que fueran juegos educativos, claro. Que el campo socialista se cayera (y aún seguimos esperando la caída del capitalismo, que se niega a joderse como vaticinaron) y las computadoras invadieran las casas no hizo cambiar la mentalidad. Los juegos seguían siendo un producto consumista, alienante, generador de violencia; propio de adolescentes antisociales con acné. Por supuesto, no podíamos poner a una docena de los miles de ingenieros que formamos a programar juegos.
En concreto, el mercado de los videojuegos es caca. No queremos esos ingresos, porque provienen de algo sucio y desagradable, comparable a las drogas.
A pesar de eso, hay algunas iniciativas. Las que provienen de instituciones estatales, por lo general son títulos que no se complican mucho la vida: un plataformer, una aventurita... nada que pueda implicar un riesgo político que acabe con la carrera del directivo que los aprobó. Las iniciativas privadas tampoco pueden ir más allá, privadas de servicios que faciliten monetizar el producto, de internet para trabajo colaborativo, y sin un marco legal que ampare la venta dentro y fuera de fronteras, están muy jodidos (jodidos de verdad, no como el capitalismo).
Por todas estas razones, y quizás otras que se me queden fuera, no es de extrañar que Africa nos deje atrás en este asunto. Al paso que vamos, cualquiera nos adelanta.

miércoles, febrero 03, 2016

Mi primera cámara en tercera persona con Unity3d

Hoy he conseguido implementar mi propia cámara en tercera persona, en Unity3d. El problema con la cámara estándar es que difiere un poco de la que implementa Unreal Engine, que se utiliza en Mass Effect y The Witcher 2/3, por mencionar algunos ejemplos clásicos. Recuerdo que la primera vez que jugué Mass Effect, los controles se me hicieron un poco molestos, sin embargo, luego me habitué al movimiento de cámara, y siemrpe quise tener algo igual.
A ver, en el modo tradicional, estilo MMORPG, la rotación de la vista se logra mediante las teclas de dirección (A/D). El modelo del personaje rota "arrastrando" la vista de la cámara. Ya implementé algo similar en Ogre3D, que permite hacerlo de forma muy fácil. El otro modo, la cámara puede mirar libremente en todas direcciones, desplazándose alrededor del personaje. Al pulsar una tecla de desplazamiento, el personaje rota para encarar la dirección en la que la cámara mira y entonces avanza. Increíblemente, nadie ha implementado algo así para Unity3d. o de haberlo hecho, no está muy accesible en internet.
El método que seguí quizás no sea el más óptimo, pero es que después de mucho preguntar nadie pudo darme una luz y mis conocimientos de matemáticas son muy pobres. La idea consiste en usar un GameObject pivote, que se mantiene sincronizado con la posición del GameObject del personaje. El pivote tiene un hijo que contiene la cámara, así que las rotaciones del pivote afectan esta cámara. Eso nos resuelve el free look:

if (Input.GetAxis ("Mouse X") != 0 || Input.GetAxis ("Mouse Y") != 0) {
            float rotationX = gameObject.transform.localEulerAngles.y + Input.GetAxis("Mouse X") * 2f;
            rotationY += Input.GetAxis("Mouse Y") * 5f;
            gameObject.transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
        }

Por su parte, el GameObject dle personaje se encarga de sincronizar el pivote cuando se mueve y orientarse en la dirección adecuada:

void Update () {
        pivot.transform.position = gameObject.transform.position;
        if (Input.GetKey (KeyCode.W)) {
            //determinar el angulo del personaje
            Vector3 rot = gameObject.transform.localEulerAngles;
           //del pivote, tomamos la rotacion en y, descartamos lo demas
            rot.y = pivot.transform.localEulerAngles.y;
            gameObject.transform.rotation = Quaternion.Slerp(gameObject.transform.rotation, Quaternion.Euler(rot), 5f* Time.deltaTime);
            gameObject.transform.Translate(0,0, 10*Time.deltaTime);
            pivot.transform.Translate(0,0, 10*Time.deltaTime);
        }
    }

Por supuesto, esto que ven aquí es un código muy chapucero hecho en una hora. Faltan montones de cosas por implementar y a finar, pero es un punto de partida (ayer tenía muchísimo menos que eso).

lunes, febrero 01, 2016

Sí, señores, tendremos internet en Cuba

O eso dicen las noticias. ayer 31 de enero se publicó en el sitio de noticias Cubadebate que ETECSA iniciaría una prueba piloto de internet en las casas. ETECSA es el monopolio estatal (sí, aquí tenemos monopolios también, pero como son del estado, son buenos) que controla las comunicaciones en Cuba. Los detalles son escasos, pero eso es habitual en los comunicados de ETECSA, que nunca revela fechas ni precios hasta que los servicios ya están en marcha. Solo sabemos que será este año, y que las conexiones serán por fibra óptica. Ni idea de qué significa eso, porque tengo entendido que los países más desarrollados recién ahora es que están luchando por llevar la fibra hasta las casas.
El 80% del texto divaga sobre el tema WiFi, supongo que porque hacía falta rellenar el espacio con algo.
No se menciona internet a través de los móviles, pero considerando que a duras penas logran mantener el servicio de correo funcionando y que la mayor parte de nuestro sistema aún usa 2G, creo que es una buena idea priorizar las conexiones domésticas, a pesar de lo que digan los comentaristas. Internet móvil debería ser un servicio secundario, no la opción principal.
No está claro cuánto durará esta prueba piloto, habrá que esperar a ver si en algún momento se revela un cronograma de implantación como se hizo con la TV digital, que dicho sea de paso, se extendió mucho más rápido que lo planificado. No obstante, creo que no es descabellado aventurar que en un par de años tendremos el servicio en las casas que puedan pagárselo, en todas las ciudades importantes del país.

martes, enero 26, 2016

Mi novela, al fin en Amazon

Ha sido un proceso muy demorado y que al final tuvo que acelerarse, pues tengo un terremoto pisándome los talones. El resultado está lejos de lo que aspiraba, pues no tengo portada ni un diseño agradable (la editora se negó a entregarme las ilustraciones), pero lo importante es que está aquí. Por favor, les pido que valoren el contenido y no tanto la forma.
La piedra ardiente es una novela de fantasía, con toques humorísticos, que debía servir como trasfondo para el universo del RPG en que he estado trabajando en los últimos años. Nació como una historia breve, pero creció hasta convertirse en algo más. Auqnue la idea siempre fue publicarla, la verdad es que nunca me imaginé que lo conseguiría. De haberlo sabido, hubiese tratado de hacer algo mejor.
A pesar de los pesares, creo haber mencionado acá que he recibido buenas críticas por parte de los lectores, asi que no está tan mal, después de todo.
Pueden  adquirirla aquí. Se agradecen las opniones, reseñas y valoraciones.

Actualización: Me han pedido que presente una muestra del libro para valorarlo, así que aquí va, los dos primeros capítulos.

Reboot de 24

Parece que una de mis series favoritas tendrá un reboot, ya el casting está avanzado y hay un posible protagonista: Corey Hawkins (que interpreta a Heath en The Walking Dead). Corey será Eric Carter, un antiguo ranger que se ve arrastrado de regreso a la acción cuando su pasado vuelve a buscarlo.
Aún cuando Kiefer Shuterland afirma que siempre ha dicho que la verdadera protagonista de 24 es la idea, algunos fans no están muy contentos con eso. Yo, la verdad, no sé qué decir.
De momento la Fox ha ordenado un piloto, y la serie tendría 12 capítulos, como la entrega anterior.

viernes, enero 22, 2016

40 años del Concorde y por qué no tenemos aviación civil supersónica

Ayer se cumplieron 40 años del primer vuelo oficial del Concorde, y por oficial me refiero a que fue su entrada en operaciones. El 21 de enero de 1976, dos vuelos despegaban simultáneamente (más o menos): París-Río, vía Dakkar de Air France y Londres Bahrein, de British Airways.
De los 74 proyectados inicialmente solo llegaron a construirse 20, de ellos 6 prototipos. Su elevado costo por unidad, alto consumo de combustible por pasajero y las preocupaciones por su impacto sonoro, hicieron que los pedidos iniciales se cancelaran. Tanto Air France como British Airways recibieron apoyo de sus respectivos gobiernos para poder adquirir los siete que le correspondían a cada una.
Hasta la fecha, el Concorde ha sido uno de los aviones más avanzados, y a pesar de las dificultades, se mantuvo en funciones durante 27 años. Sin embargo, su escasa capacidad de pasaje (100 los británicos o 92 los franceses), y la caída en el número de pasajeros después del 11 de septiembre, unido a que Airbus decidió dejar de darles soporte, determinaron la retirada del servicio de los emblemáticos aviones.
Solo hubo otro avión de pasajeros supersónico, el controvertido Tu-144 que solo llegó a volar 40 veces, tuvo un lamentable accidente en la expo aérea de París y ha estado envuelto en acusaciones de espionaje industrial.
Desde entonces, la aviación civil no ha querido saber más de aviones supersónicos, y por una buena razón. O más bien, por varias buenas razones, que pueden leer aquí. No parece que a corto plazo tengamos aviones supersónicos en las areolíneas, en cambio, sí hay varios proyectos para llevar estos aparatos al mercado de los jets privados.
El más avanzado parece ser el de Aerion, que afirma que para el 2021 estará disponible su jet supersónico, a un costo, si no recuerdo mal, de 60 millones la unidad. Francamente, me gustaba más el diseǹo anterior, bimotor, que el actual, trimotor.