Desarrollando un MMO [Heart of Fantasy - Devblog]

blacksmith12

¡Buenas!
Soy un desarrollador backend y llevo casi 3 años desarrollando un MMORPG yo solo como hobby. Abro hilo para pediros feedback, ideas que creáis que estarían bien o cosas que os gustaría ver en un MMORPG survival permadeath con temática de fantasía medieval.

La idea del juego es que el jefe final será, en realidad, un jugador. Cuando alguien lo derrote, esa persona tendrá la opción de reemplazarlo.

Aquí os dejo un video donde enseño lo poco que llevo desarrollado. ¡Si queréis dejar un like, se agradece!

Iré actualizando este hilo a medida que tenga cosas para enseñar.

ACTUALIZACIÓN 28/10/2024

Bueno, bueno, sé que he descuidado este hilo por completo, pero no ha sido en balde. En estos meses he desarrollado un montón de cosas.
Hay tantas que creo que simplemente las enumeraré y acompañaré de alguna imagen. Cabe decir que no hay mucho cambio a nivel artístico, ya que sigo centrado en la programación, pero recientemente he estado pensando en contratar a algún artista que he estado viendo por internet para que me haga modelos 3D de personajes.

Equipo
El típico menú de equipo de un RPG donde puedes ponerte piezas de armadura en diferentes partes del cuerpo; también se pueden equipar armas en las manos, y hay distinción entre armas de una mano y armas de dos manos.
Los stats son los tipicos sacados directamente del clásico Dungeons & Dragons, y cada uno tiene 3 columnas:

Primera columna: Stats base de nuestro personaje, estos se aumentan con el sistema de experiencia que explico luego.
Segunda columna: Bonus de stats que nos da el equipo; en este caso, tenemos +1 de Strength y +3 de Intelligence que nos da el gorro.
Tercera columna: Suma total de los stats.

Almacenamiento
He añadido un sistema de contenedores. Se pueden transferir ítems desde tu inventario o a tu equipo directamente.

Dependiendo del contenedor, algunos se pueden llevar a otro lado.

Nuevas barras de estado
He cambiado la barra de salud. También he añadido el sistema de hambre: tenemos una barra de saciedad que debemos mantener llena comiendo.

Sistema de experiencia
He creado este sistema de experiencia dual.

A diferencia de lo que podéis estar acostumbrados, no hay un nivel base de personaje que debemos ir subiendo. En lugar de eso, tenemos 2 barras de experiencia: la experiencia física (barra roja) y la mental (barra azul).
Cuando alcanzamos el máximo en una de estas barras, recibimos un punto que podemos gastar en mejorar un stat de su respectivo campo. El nivel de los stats NO TIENE LÍMITE (bueno, técnicamente lo que quepa en un int, pero nadie llegará a eso... ¿verdad?).

Experiencia Física: Se recibe experiencia al hacer actividades físicas como atacar a melé, construir o terraformar.

  • Strength
  • Dexterity
  • Constitution

Experiencia Mental: Se recibe experiencia al hacer actividades mentales como usar magia, explorar, craftear o descubrir un ítem nuevo que no habías visto antes.

  • Intelligence
  • Wisdom
  • Charisma

En este ejemplo, tenemos 1 punto de experiencia mental para gastar en uno de sus stats:

La cantidad de experiencia necesaria para conseguir 1 punto es solo 1.000, pero esta cifra se multiplica por el stat máximo de ese grupo.

Es decir:

  • Si tenemos los siguientes stats mentales (INT: 1, WIS: 1, CHA: 1), el stat máximo es 1, así que se necesitan 1.000 de experiencia para conseguir otro punto mental.
  • Si tenemos los siguientes stats mentales (INT: 32, WIS: 27, CHA: 54), el stat máximo es 54, así que necesitaremos 54.000 de experiencia para conseguir el siguiente punto mental.

Como podéis ver, este sistema hace que sea muy tedioso subir todos los stats a la vez. Aunque es posible, requiere mucho tiempo. Por otro lado, podríais elegir centraros solo en algunos stats, dependiendo de vuestra estrategia.

Sistema de habilidades/maestrias
Cuando se cumplen ciertos requisitos, se desbloquean maestrias o habilidades.
Por ejemplo, al haber descubierto el ítem "Espada Larga" y haber alcanzado cierto nivel de Strength, se recibe la habilidad "Maestría de Espada Larga", la cual empieza en el nivel 1. Desde ese momento, cada golpe que demos usando una espada larga nos dará experiencia en esta maestría. El nivel de maestría con el arma se tiene en cuenta al calcular el daño hecho en un ataque. Este nivel TAMPOCO TIENE LÍMITE.

Sistema de terraformación
Si tenemos una pala equipada, podremos terraformar el terreno pulsando el icono de Terraforming. Esto nos pondrá en el modo terraform y podremos seleccionar un área para subir o bajar el nivel y dejarla completamente plana.

Terraformar es un proceso lento que requerirá tiempo. Una vez designada el área de terraformación, varios jugadores pueden cavar a la vez, agilizando el proceso. ¡Mejor hacerlo en compañía! Esto nos lleva a la siguiente característica.

Sistema de construcción de bases
Si abrimos el menú de construcciones, podremos seleccionar una y ponerla en el mundo.

Al hacer clic en construir, podremos colocar el plano de nuestra construcción en el mundo. La zona en la que coloquemos la construcción debe ser plana. Así que, en caso de que esta requiera varios tiles, será necesario terraformar la zona previamente.

Cuando coloquemos la construcción, aparecerá una "zona de construcción".

Una vez llevemos los materiales necesarios a la zona de construcción, podremos terminarla.

Instancias
Podemos entrar a los edificios. Estos son instancias completamente separadas del mundo exterior (overworld). Esta casa es solo una prueba; en el futuro, habrá varios prefabs de casas con distintos tamaños y el suelo será de madera en lugar de arena... xD

La idea es que tanto las futuras mazmorras generadas proceduralmente como el mundo subterráneo también usen este sistema de instancias. Esto me permite tener conexiones separadas y las cosas más controladas.

IA
He añadido una IA bastante básica que sigue al jugador con el algoritmo de pathfinding A Star. He aislado la lógica en una clase que podré extender para hacer diferentes tipos de entidades. Por ahora, esta se puede matar, lo cual deja un cadáver en el suelo. Los cadáveres de animales y monstruos podrán desollarse para obtener materiales.
De momento uso los mismos sprites que tiene el jugador...

Ciclo de dia y noche
Un dia en la vida real son 2 dias en el juego. hay un ciclo de dia y noche, el cual cambia el filtro de la camara segun la hora dividido en 4 fases, 2 fases largas y 2 fases cortas:

Dia (fase larga)

Atardecer (fase corta)

Noche (fase larga)

Amanecer (fase corta)

Creo que no me dejo nada...
Tengo pensado subir vídeos a YouTube explicando cada punto más en detalle.
Si queréis estar al día de los avances, podéis seguirme en Twitch (@blacksmith3), donde hago streaming del desarrollo prácticamente a diario.

Gracias por leerlo todo, en cuanto tenga mas actualizo hilo!

9
Theryk

/prompt house, rpg, pixelart style, isometric

¿No es el segundo thread que abres? juraría que ya lo vi en gamedev hace un mes.

Ánimo anyways. :)

1 respuesta
mgarlop

Déjà vu.

Animo y suerte con tu proyecto!

1 respuesta
blacksmith12

#2 #3 Postee un enlace acortado sin darme cuenta (YouTube Studio te da enlaces acortados) y mi cuenta fue baneada automáticamente... No volverá a ocurrir lo juro, cuidare este hilo como si fuese parte intrínseca de mi proyecto xD

Mikimouse

Esteticamente se ve bien

4 meses después
blacksmith12

Hilo actualizado!

3
Condoriano

Currazo

Usuarios habituales

  • Condoriano
  • blacksmith12
  • Mikimouse
  • mgarlop
  • Theryk

Tags