Jump to content
Sign in to follow this  
Megadok

ANSWERED Clases,Items y sus correctas formas.

Recommended Posts

Muy buenas uniteros!ūüė≤

Llevo entre manos un JRPG , algo avanzado ya y me encuentro con la duda sobre cuales son las correctas formas para gestionar las clases creadas(criaturas, items, habilidades) etc...

Hasta ahora dispongo de unas bases de datos donde almaceno dichas clases, cuando equipo a una criatura con un item , ésta clase pasa a formar parte de esta criatura, todo normal.

Pero el problema reside en que, si decido cambiar posteriormente las características de este item, debo actualizar todos los items con el mismo nombre que se encuentren dentro de la clases (criatura).

En cuestión de las criaturas, éstas estan en una lista llamada PARTY y en otra lista llamada HEROES, en la primera están los heroes que forman parte del equipo de combate, y en la segunda, todos los heroes disponibles para formar la party, por lo tanto, si tengo a un heroe "Goku", éste se repite en la lista HEROES y en la lista PARTY. No más decir que si decido actualizar dicha criatura, debo buscarla por todos los sitios donde este almacenada y cambiar sus variables.

Bien!(tost√≥n)ūüíÄ

He pensado en crear una base de datos de criaturas y de objetos, y otra de criaturas y objetos "enUso". Cada clase tiene un ID unico, y para las listas que las contienen, en vez de almacenarlos en variables de clases, almacenarlos por otras clases que solamente guardan el nombre, el tipo, y el ID. Para buscar una referencia. Consiguiendo que, si modifico en la base de datos original, solamente tenga que buscar dicha clase en la base de datos de clases en uso, y que todos los scripts que necesiten llamar a esas clases, las hagan a traves de su nombre, tipo y referencia.

De la primera forma, tengo al mismo heroe almacenado varias veces, de la segunda forma, solamente dispongo de una clase unica y lo dem√°s son referencias.

¬ŅC√≥mo veis este sistema?¬ŅQu√© se suele hacer de manera profesional?¬ŅAg√ļn tutorial o base de informaci√≥n al respecto para sus correctas formas?

Gracias por la paciencia!ūüėĄ

Edited by Megadok

Share this post


Link to post
Share on other sites

Hola Megadok, es importante siempre tener centralizada la información, pero también debes tener en cuenta que aspectos de los "Items" son mutables, quiero decir

image.png

Todos tus ítems deberían estar centralizados, siempre conservando el estado "original", esto quiere decir que estos ítems nunca sufrirán un cambio en tiempo de ejecución.

Entonces¬†¬ŅC√≥mo creo alteraciones de los atributos de estos √≠tems?

Para esto puedes crear una estructura de relación entre ítems y atributos

image.png

¬ŅComo identificar a que entidad pertenece cada alteraci√≥n?

Para esto puedes crear otra estructura para almacenar el ID del √≠tem y el de la entidad, pero en este caso, de esa forma podr√≠as crear una estructura de datos escalar en la profundidad, esto quiere decir que por cada entidad de entidad tendr√°s 2 niveles de profundidad anidados. ¬ŅC√≥mo solucionarlo?, en la estructura "ITEM<->ATTR" puedes agregar el ID de la entidad haciendo que cada atributo a√Īadido a un √ćTEM tenga como resultado una entidad responsable.

image.png

Esta solución se puede implementar de forma bastante sencilla, la complejidad luego es definir que datos son "runtime" o "persistentes" y en que momento se realizara la sincronización entre ambos.

Share this post


Link to post
Share on other sites

Mil gracias¬†francoe1¬†, me parece perfecto! Lo bueno es que es genial, lo malo, que tengo que dar mil tijeretazos ahora a mi proyecto para implementarlo...pero vamos, todo genial.ūüėé

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...