[Devlog] World

kidandcat

World

Introducción

Hola! me he animado a abrir un devlog porque estoy motivado con este proyecto y espero llevarlo lejos!

La idea es hacer un juego (MMORPG ofc) del estilo de Pocket Pioneers. Quiero mantener el sistema de casillas, tanto para facilitar el editor de mundo como para poder usar movimiento con touch, enfocado en dispositivos móviles (me ha parecido una forma muy comoda de interactuar con todo, al contrario de los switches digitales a los que estamos acostumbrados), también le estoy dando vueltas a la mejor forma de implementar un sistema de combate.

El primer paso de mi idea es crear los sistemas necesarios para después poder construir el juego en sí sobre ellos, ya que la mayoría de los sistemas serán usables en runtime (editor de escenarios, NPCs, elementos interactivos, etc).

Cuando esté la base lista tengo una idea de las características que quiero que tenga el juego, pero no tengo en mente ninguna temática.

Tenéis todo el código subido a Github https://github.com/kidandcat/godot-world. Licencia MIT (mi propósito es divertirme y si alguien le saca partido a esto, pues yo que me alegro)

Tecnologías

Godot 3.1 para el cliente. El servidor está desarrollado en Go, la comunicación es mediante WebSockets. La base de datos es BuntDB (https://github.com/tidwall/buntdb), una DB en memoria (persistencia con log) con indexado espacial y transacciones.

Capturas

De momento no hay mucho que enseñar (me da pereza grabar un video). Por otro lado mi especialidad son redes y sistemas en tiempo real, asi que probablemente no vais a ver grandes avances gráficos (mi idea es encontrar/encargar un pack de assets o conseguir a alguien que se apunte al proyecto para hacer esa parte).




Roadmap

9
Jastro

#1 cuanto tiempo

Estare vigilando tu proyecto, ve poniendo avances :O

1
carra

Parece un proyecto ambicioso, a ver qué tal va saliendo. Suerte!

1
B

#1 tu avatar mola mil

1 1 respuesta
kidandcat

#4 Gracias! lo dibujé yo :)

1 respuesta
B

#5 muy currado

1
kidandcat

Update!
Visualmente apenas ha habido cambios, he corregido un montón de bugs, ahora el posicionamiento de elementos en el grid funciona a la perfección, incluyendo la sincronizacion servidor<->cliente tanto a la hora de crear como al cargar el mapa.

Ahora el sistema de grid soporta sin bugs tanto el posicionamiento vertical como rotaciones. El path finding solo tiene en cuenta las colisiones con los elementos que esten en el mismo nivel vertical que el jugador.

Todas estas cosas están ya preparadas para ser controladas a traves de variables exportadas, por lo que seguramente en el próximo update tenga ya UI para controlar todas esas variables (ahora las voy cambiando en Godot en real time).

Como veis en el Gif, me he motivado poniendo todo tipo de elementos para hacer las pruebas, la eliminación está implementada en el servidor, pero no en el cliente, por tanto de momento no puedo borrar elementos :sweat_smile:

PD: Todos los cambios están en Github, hay unas instrucciones básicas en el Readme para ejecutar el proyecto, pero si tenéis algún problema no dudéis en preguntar!

carra

La verdad es que viendo el gif, parece que podría ser divertido un editor de niveles que funcionara así. Para juegos vista aerea tipo zelda o roguelikes podría funcionar

Ridote

Yo ni me rayaría en hacer un juego, déjalo como paquete de Godot de editor de niveles

kidandcat

Nuevo update! Este finde no le he dedicado mucho tiempo, pero he añadido una UI funcional, me viene muy bien para testear. Aparte de eso más bugfixing. El próximo paso es hacer que el modelo se quede en una posicion fija cuando hagas click, en modo "edicion" (en vez de que siga al puntero del mouse) y que tengas que pulsar un boton para crear el modelo (y no solo un click derecho).

Le estuve dando vueltas a cambiar el material del modelo cuando este en modo "editar", pero parece que no va a ser fácil, asi que a lo mejor hago otra cosa, como que parpadee.

1
kidandcat

Update!
He mejorado la UI, lo he preparado todo para mobile, y he metido un modo "editar", todo orientado a mobile first.
Y ya se pueden eliminar meshes, he estado probandolo un rato en movil y la verdad es que esta quedando muy cómodo.

También le he metido luces bakeadas, he probado sombras en tiempo real y iban bastante bien en el movil, pero mi movil es de gama alta y muchas veces me ha pasado ya en el curro que mi movil mueve cosas que un gama baja directamente se tuesta, asi que no me fio mucho de que vayan a ir tan bien, por eso he metido el GIProbe al final, esta guay porque se puede bakear en runtime, asi que si añades/modificas/eliminas un mesh, se rebakean las sombras.

El listado de meshes de abajo no responde a los swipes (solo si le das justo en la barra de scroll), ya veremos si es fácil de solucionar con godot :)

PD: estoy reventado del curro, pero este finde creo que montaré ya el server para poder usar el APK desde el movil en cualquier momento y poder compartirla para que me den feedback. Todavía me queda algún bug escurridizo que arreglar respecto al grid.

Una vez deje esto finiquitado, me pondré a avanzar otras cosas como el personaje principal.

rvaquero

Tiene buena pinta. Seguiré el desarrollo.

kidandcat

Bueno, después de un finde corto, y mucho trabajo en el curro, he podido ver qué le pasaba al exportar el APK, básicamente que no tenía permisos de red, asi que solucionado!

https://drive.google.com/file/d/1SUS0xaAJImn40zYsSPul66cI9lPQn0us/view?usp=sharing

Los controles todavía son un poco cringes, y todavía tengo que arreglar algunos glitches que hacen que desaparezcan los modelos en el lado del cliente al editar (si cierras y entras, estarán ahi de nuevo), pero ya se puede editar el terreno (de prop en prop) desde el móvil.

PD: Ya monté el servidor en un VPS.

PDPD: el listado de modelos de abajo solo se puede mover usando la barra de scroll, otra cosa más a solucionar...

Usuarios habituales