EN CONSTRUCCIÓN (Untitled Dungeon Crawler Coop Online)
En construcción, tenemos finde liado, iremos updateando.
Introducción
Empiezo con las excusas: somos dos padres con niños pequeños (cada uno los suyos) desarrollando una idea con un scope que antes de empezar se nos ha ido de las manos así que dad por sentado el abandono. Dicho esto...
Motivación
@kidandcat y yo (@ridote) nos pasamos el día jugando a videojuegos de muchos tipos y descubriendo cosas nuevas. Un día nos topamos con el Wizard of Legends, un juegazo indie súper currado y muy divertido pero que, a nuestro pesar, tenía un online que daba puta pena. No sé si lo habrán arregaldo, pero el juego merece la pena jugarlo aunque sea offline.
Llevábamos tiempo con las ganas de hacer algo muy similar pero con un online decente, así que decidimos ponernos a ello hace un par de semanas y estuvimos haciendo un par de pruebas. Tenemos pendiente darle un rejugada rápida y hacer un medio clónico y quizá cambiar un par de cosas que no nos gusten.
Tecnologías
Godot
Para la parte del cliente, vamos a utilizar Godot. Principalmente porque es con lo que más cómodos estamos y porque para todo lo que hemos hecho nos ha funcionado muy bien. Puedes exportar a las principales plataformas (win, lin, macos, ios, android, html5). Exportar para switch o playstation es posible, aunque hasta ahora tenías que cocinártelo tú o depender de empresas privadas. Están ahora trabajando en esto W4Games así que da igual, porque abandonaremos
En concreto usaremos Godot en C#, porque lo prefiero a GDScript.
Nakama + Go
Para el backend estamos usando https://github.com/heroiclabs/nakama
Nakama provee ya un montón de funcionalidades listas para usar, además de SDKs para un montón de motores de videojuegos.
La lógica se puede programar en Go (máxima potencia, sin ningún limite), Typescript o Lua. Tiramos por Go.
Ya tenemos implementadas muchas cosas porque he reusado bastante código de mi proyecto magearena. Así que sobre la jugabilidad en sí, ya tenemos personajes moviéndose, gestión de mapas, y otras cosas.
Jugabilidad
Movimiento y acciones
El movimiento de los personajes será de 360 grados manejado con el ratón. Los personajes tendrán animaciones mirando hacia arriba, abajo, izquierda y derecha. Las habilidades irán dirigidas en 360 grados.
Tendrás cuatro slots de magias para utilizar. Todavía no tenemos claro si las magias de cada botón serán de diferente tipo o potencia o si tendrás total libertad sin restricciones para equiparte magias.
Habrá reliquias que se recogerán de cofres, boses y otros elementos. Serán reliquias que darán beneficios pasivos. Igual metemos algo que pueda usarse manualmente.
Mazmorras
Todas las partidas empezarán de forma similar. Tendrás varias habilidades para equiparte de entre una lista reducida, todas de nivel bajo y accederás al primer nivel de la mazmorra. Si tú eres el host, los que entren a tu partida podrán equiparse las magias que tú hayas desbloqueado y no las de su partida.
En las mazmorras habrán tesoros, vendedores y bosses. Todos ellos darán opción a obtener reliquias y magias para equipar en lugar de las magias que ya se tengan. Estos no son permanentes, una vez finalizada la mazmorra se perderán.
A parte de conseguir monedas de mazmorra para utilizar en los vendedores, irás consiguiendo ciertos puntos que serán permanentes y que podrás gastar para aumentar el repertorio de magias de entre las que puedes elegir para el equipo inicial.
En caso de estar adentrado en una mazmorra y querer invitar a un amigo, habrá puntos específicos en los que puedas invitar a un amigo ya iniciada una partida.
Equipables
Trajes
TBD
Magias / Arcana
Por ahora tenemos planteado únicamente meter una bola de fuego y algo más para probar diferentes tipos de habilidades que queremos hacer. Una vez hecho esto, nos plantearemos habilidades. No vamos a meter gran cosa, somos dos personas y tenemos poco tiempo y cero habilidad con los gráficos.
Reliquias
Por definir. Darán, en principio, pasivas. Es más fácil encontrar iconos para las reliquias ya que no requieren animaciones en pantalla.
Online
El juego va a requerir de una conexión a internet. Va a estar enfocado para jugar en cooperativo. Si quisieras jugar solo, también podrías, pero va a seguir requiriendo de una conexión por diversos motivos. El primero es que el cliente y el servidor los estamos haciendo con diferentes tecnologías y toda la lógica va a ir en la parte del servidor. Por lo que no vamos a duplicar la lógica del juego en dos tecnologías diferentes. Tenemos pendiente hacer matchmaking para los que no tengan con quién jugar.
El segundo y más importante es que va a haber comercio y otras interacciones entre jugadores, con coleccionables y otros objetos. Entonces obviamente todo el tema del looteo y demás estará centralizado en el servidor. Va a ser algo tipo juegos móviles, queremos una economía (comerciando con items y otras cosas) sana, no algo desde el lado del cliente donde te viene el listillo del cheat engine con 800 trillones de monedas y te empieza a dropear los items más tochos que hay en el juego.
Otro de los puntos fuertes será el PVP, al igual que en Wizard of Legend, que hubo una fuerte comunidad alrededor de él. Básicamente vamos a copiar todo lo que Wizard of Legend ha hecho bien, que son muchas cosas.
Resumen de lo que hay hecho
Para el que no tenga ganas de mirar el roadmap, ya pondremos algún vídeo demostrativo. Pero puedes invitar a amigos, aceptar invitaciones y conectarte a partidas de amigos y verlos moverse por ahí. El mapa está vacío y ahora vamos a hacer que el servidor le dé al cliente el mapa y el cliente dibuje los elementos del mapa. Después de eso, la idea es meter alguna magia y por ahora hacer que os podáis pegar el uno al otro. En el futuro igual nos pensamos meter una arena para pegarte con la gente.
Roadmap
Aquí iremos poniendo una lista de los objetivos más a corto plazo. Tenemos un Kanban por ahí que no vamos a compartir por ahora. Intentaremos mantener esto medio actualizado.