Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/09/2011, 11:05
Avatar de DrFaust
DrFaust
 
Fecha de Ingreso: septiembre-2011
Ubicación: Buenos Aires
Mensajes: 308
Antigüedad: 13 años, 3 meses
Puntos: 87
Respuesta: Duda sorbe estructura mysql para juego online

La segunda opción es infinitamente más versátil. Por la temática que tienen tus ejemplos, estoy seguro de que tarde o temprano vas a querer implementar items complejos.

Por ejemplo, vas a querer implementar un sistema de crafting donde cada item lleve el nombre del personaje que lo forjó (Espada Larga de xxLegolasxx), o un sistema de equipo mejorable (Armadura Completa ---> Armadura Completa +1 de Fuego), o un sistema de durabilidad y ruptura de items, etcétera. Y tener los objetos en una tabla aparte, cada uno de ellos con su respectivo set de propiedades únicas, te va a facilitar muchísimo la vida.

Además, es un paradigma más fácil desde un punto de vista del mantenimiento. Por ejemplo, el día en que un jugador encuentre la forma de multiplicar items (SIEMPRE encuentran la forma), va a ser más fácil darse cuenta de que en la tabla de items aparecieron 7000 armaduras +9, que encontrar una ID en el inventario de uno de los personajes.

Respecto a qué columna utilizar como índice, yo tampoco soy un experto en el tema, pero tené en cuenta lo siguiente. Al mostrar el inventario sin duda vas a buscar la ID del usuario en la lista de items. Pero a partir de entonces, cada vez que el juego necesite conocer o modificar algo de un item en particular, va a utilizar la ID del item. Creo que lo segundo va a suceder más frecuentemente que lo primero.

Te convendría utilizar la ID del item como clave primaria (que por cierto siempre debería ser única), y la ID del usuario como índice.
__________________
Desarrollador web profesional

Última edición por DrFaust; 22/09/2011 a las 11:15