El proyecto.
Bienvenidos al devlog de mi tercer proyecto en activo (xDDD, lo se, muy triste) este juego no lo pienso publicar como tal mas allá de un proof of concept y por el mero hecho de aprender con Love 2D y especialmente hacer un juego online con todo lo que conlleva el netcode, gestión de servidor etc.
Never Home es un survival de plataformas online, una isla misteriosa, amnesia, no te puedes comunicar de inicio con ningún jugador, tienes que explorar, colaborar, craftear, sobrevivir y escapar.
También he añadido una mecánica que quería probar hace tiempo y es dotar a npcs de un sistema de IA con LLMs que tenga todo el contexto del juego y puedan generar misiones procedurales en el momento que hablas con ellos libremente desde el chat del juego, es decir, que la propia IA en el momento te genere una misión (sabiendo de que va el juego con system prompts y acceso objetos, materiales ya creados en la BD) en la que te mandara aleatoriamente a una zona del juego, te generara en ese momento un objeto generado con IA (por ejemplo, un palo escondido en X,Y coordenada) y te añadirá a tu log de misiones esa misión dinámica de la que podrás siempre hablar con ese NPc.
Creo que la IA tiene mucho que ofrecer al gamedev, el problema es implementarlas en un juego grande porque a nivel coste, por ahora, no sale rentable, en mi caso uso el modelo de Google Gemin 1.5 Flash de 1 millón de contexto que es el mas barato/calidad ahora mismo.
A parte estoy haciendo el juego desde 0 sobre Love 2D, creándome todas las librerías necesarias de iluminación, sistema de día noche, librería de física (aunque se maneja todo serve-rside), lo que mas lata me esta dando la lata es mantner todo sin romperse sincronizado.
He decidido hacerlo side-scrolling de plataformas por las mecánicas típicas que ofrecen como un sistema de cuerda a modo de liana para acceder a sitios que no podrías de otra manera, plataformas móviles, puzles con fisica...etc
Devlog
Llevo trabajando en el juego 1 mes, me ha dado tiempo a hacer lo siguiente:
Sistema de plataformas con todo lo que conlleva, físicas, plataformas, colisiones... etc
Un montón de optimizaciones del lado del servidor para poder soportar en un mismo mapa varios jugadores (ya depende del servidor) gestionando por celdas para actualizar a otros jugadores o elementos que no esten a X celdas de ti.
Sistema de usuarios con c#/mongoDB. Menu de registro y sistema muy básico de creación de personaje con ciertas personalizaciones de pelo.
Sistema de NPcs con dialogo a través del chat, y conectado a un LLM para generar respuestas con IA y tener contexto de su alrededor.
Todo lo anterior comentado lo muestro brevemente en el siguiente video, no hagáis caso al diseño del mapa ya que es temporal, hasta que no termine todo los sistemas base no me pondré a mapear ni generar contenido.
Ya iré dando la turra con el desarrollo, ahora estoy con el tema de la IA y sistemas de quest, nos vemos pronto por estos lares, y MUCHAS gracias por leer este desorden mental convertido en texto xD.
Saludos!