Ir al contenido principal

Entradas

Mostrando entradas de octubre, 2017

Sistema de IA básico terminado

En los últimos días parece que no tengo otro tema. De hecho, me duermo pensando en esto, y entre IA y Divinity, mi sueño es bastante incómodo. Pero el resultado es que el sistema de inteligencia artificial funciona bastante bien a nivel básico. O sea, que como prueba de concepto está bien, y ahora es que las cosas empiezan a  complicarse.
Para continuar, tengo que implementar un mini-sistema RPG: habilidades e items utilizables por las entidades, incluyendo al jugador; que aunque sea mini, no es trivial. De paso, eso me permitirá probar otro enfoque en la implementación de habilidades y objetos usando ScriptableObjects. Sí, otra obsesión reciente, quizás debería consultar un médico. Y ya que hablamos del tema, este video ofrece un buen punto de partida:

Al principio me pareció que no sacaría nada útil, pero resultó que estaba equivocado. Hay algunos trucos, como el de instanciar los ScriptableObjects que no sabía con exactitud cómo hacerlo, y el de usar Resource.LoadAll para cargar t…

Usando ScriptableObjects para IA

Hace unos meses el canal de Unity publicó una serie de videos, basados mayormente en esta conferencia:


Hasta hace poco no había tenido tiempo de estudiar los tutoriales y comenzar a adaptar el código, o incluso decidir si era mejor que mi anterior intento. Y recién hace dos días fue que pude mirar un poco más lo que había hecho y cambiar algunas cosas.
En esencia, el sistema me parece bastante bueno. Por lo menos resuelve el problema de la modularidad de la IA, algo que no había logrado resolver en mi aproximación anterior. Confieso que últimamente he dudado de los ScriptableObjects, pero creo que en este caso sí son muy útiles. Para un RPG, poder definir comportamientos específicos para cada entidad es esencial. Por ejemplo, un mago no pelea de la misma forma que un guerrero de largo alcance, que a su vez es muy distinto a un guerrero cuerpo a cuerpo, y así sucesivamente, según las clases o el equipo de cada NPC.
Los tutoriales muestran de forma relativamente sencilla cómo armar una…

Divinity: Original Sin 2 no es de mundo abierto

Un poco decepcionante, la verdad, aunque hay que admitir que no está tan mal. Luego de varios días uno se percata de que este RPG en realidad no es de mundo abierto, sino más bien lineal. Me recuerda un poco The Witcher 2, donde tenías que ir de ubicación en ubicación y resolver todo antes de pasar a la siguiente. Lo que se queda atrás se pierde.
Las ventajas de este enfoque son que la línea temporal de la historia es más fácil de controlar, y la trama en sí es más simple. No hay tantas bifurcaciones, salvo las que se desprenden de las decisiones del jugador. En un mundo abierto no hay mucho orden, un jugador puede ir primero a un lugar y luego a otro, y otras personas podrían hacerlo a la inversa. Todo un reguero.
Esta es una situación que he experimentado escribiendo mis intentos de guión para RPGs abiertos. ¿Cuándo se dispara un evento importante, por ejemplo, un mensaje para realizar una misión? ¿Y si el jugador nunca viene a determinado lugar? ¿Y si liquida a X NPC antes de que …

Documental sobre CDPRED/Unity 2017.2

Dos breves antes del fin de semana: si no han estado siguiendo la serie de documentales de Noclip sobre CDPRED/The Witcher, deberían hacerlo. Incluso Marcin Iwinski, uno de los fundadores de CD Projekt, es entrevistado (en el documental anterior dedicado a la primera entrega de la saga no aparecía), y los siguientes capítulos abarcan hasta la tercera parte del juego.
En mi opinión, un excelente material sobre la historia de esta compañía desarrolladora de videojuegos y su buque insignia, que no deben perderse. En serio. Hay algunas perlas de sabiduría perdidas por ahí si sabes prestar atención, como suele suceder cuando una docena de personas te hablan acerca de cómo construyeron algo.
Lo otro es que ayer salió Unity3d 2017.2. La lista de cambios solo trae algo interesante: soporte para tilemaps. Al fin, carajo. También hay que mencionar otra cosita como Cinemachine 2D. La lista de mejoras, por supuesto, es más grande, pero no vi nada que me resultara interesante o extremadamente nec…

Jugar, cuando eres zurdo

No soy zurdo, por suerte. Pero un pequeño problema, que espero que sea temporal, me ha obligado desde hace varios meses a darle un poco de reposo a la mano derecha. Revisando un antiguo proyecto que uso para experimentar ideas, descubrí que, aparte de tener el código de la cámara isométrica desactualizado, no me había preocupado en verificar qué tan factible es jugar cuando tienes que manejar el mouse con la mano izquierda y desplazar la cámara con la derecha. Sobre todo, si no has implementado los controles adecuados del lado derecho del teclado.
Sí, era un código puesto a toda prisa, ni siquiera mi última versión  de la cámara isométrica. Ese es el problema de la accesibilidad: no nos percatamos de que falta hasta que nos afecta directamente. Es muy difícil valorar lo que necesita alguien que es zurdo, carece de una mano, no ve los colores o simplemente no ve nada, si nosotros mismos no sufrimos esas carencias.
En mi caso, ha sido necesario pasar varios meses volviéndome zurdo poco…