Registro de Partidas: Bitacora

Iniciado por Krator, Marzo 01, 2007, 08:06:00 PM

Krator

Bueno, abro este hilo a modo de Cuaderno de Bitacora para la creación de nuestro sistema de registro de partidas. Se trata de que vayais viendo como se va haciendo el sistema para a la vez que vamos creandolo, ir perfeccionandolo, debatiendo y veais la evolución.

Lo primero ha sido la creación de las distintas tablas necesarias para recopilar la información que dará luego el resultado de salida a los usuarios.

TABLA PARTIDA
ID_Partida: Un identificador único por cada partida que haya concluido.
Fecha: Fecha en la que se disputó la partida.
Tipo: Tipo de partida (1vrs1, 1v1v1)
Mapa: Nombre del mapa jugado
Dificultad: Dificultad con la que se jugó el mapa
Batalla: Normal o Dinamica (esto está en la tabla de Rob, pero no sé que indica)
Turnos: Simultaneos o Dinamicos (¿es lo mismo que lo anterior?)
Limite: Limite de tiempo para cada turno
Ganador: Ganador de la partida, su ID de nick (todos los demás perdieron)
Tiempo: Número de turnos que ha durado la partida

Tabla Jugador
Esta tabla es para determinar quienes jugaron la partida, 2, 3 , 4 personas, etc
ID: Un identificador único por cada registro (útil)
ID_Partida: La ID de la partida a la que corresponde el jugador.
Jugador: el ID de la torre que identifica a un jugador, que jugó la ID_Partida
Es decir, El JUGADOR estuvo presente en la ID_PARTIDA que está en la tabla.
En esta tabla podemos luego añadir otros datos interesantes, como la faccion que tuvo el jugador, su heroe más poderoso, etc, para luego crear su perfil de jugador. De momento creo que para no complicar las cosas, podemos obviar estos datos y con el resumen de la partida del foro, será sobrado.

Clasificación
ID_Jugador: Su identificador de la torre que le hace unico
NºVictorias: Está claro.
NºDerrotas: Está claro.
NºPartidas: Está claro.
Comienzo: Fecha a partir de la cual se calculará la asiduidad. (Ver abajo)
En realidad está tabla se podría saltar, ya que a raiz de las dos primeras se podría calcular las victorias, derrotas y partidas del jugador, pero creo que puede ser práctica y ahorrar calculos y lecturas de la base de datos, frente a un escaso uso de espacio en ella.


Bueno, el tema de asiduidad puede estar un poco complejo, pues tendría que revisar que semana está dentro la fecha de la partida que jugó ese jugador, en fin, un follón, ya veremos cuando estemos por allí que "jodida" está la cosa con ese tema. Por tanto el llamado "nivel" estaría igual, pues toma el dato de asiduidad. Paciencia.

Eso es todo amigos....for the moment.
Doble cruzado, cuadruple placer.

Lepastur

Buena idea y buen curre Krator.

Cita de: "Krator"Batalla: Normal o Dinamica (esto está en la tabla de Rob, pero no sé que indica)
Pues si las batallas tienen un límite d tiempo x movimiento o no. Es simplemente un dato estadístico xa el perfil del jugador, x ej.

CitarTurnos: Simultaneos o Dinamicos (¿es lo mismo que lo anterior?)
No, está mal expresado. Es otro dato estadístico más, aunq casi todo el mundo jugará seguramente en simultáneo. Debería d poner las opciones: Simultáneos y Normales.

CitarClasificación
ID_Jugador: Su identificador de la torre que le hace unico
NºVictorias: Está claro.
NºDerrotas: Está claro.
NºPartidas: Está claro.
En realidad está tabla se podría saltar, ya que a raiz de las dos primeras se podría calcular las victorias, derrotas y partidas del jugador, pero creo que puede ser práctica y ahorrar calculos y lecturas de la base de datos, frente a un escaso uso de espacio en ella.
Me parece bien.

CitarBueno, el tema de asiduidad puede estar un poco complejo, pues tendría que revisar que semana está dentro la fecha de la partida que jugó ese jugador, en fin, un follón, ya veremos cuando estemos por allí que "jodida" está la cosa con ese tema. Por tanto el llamado "nivel" estaría igual, pues toma el dato de asiduidad. Paciencia.
Hombre, mi idea era más sencilla. No habría q mirar en qué semana se está ni nada d nada, simplemente se coteja el día de la primera partida y se empiezan a contar los días, se dividen entre 7 y obtenemos las semanas. Luego se coge el número d partidas disputadas y se divide por el resultado anterior y listo. Lo q sí se puede hacer es dar la opción a un reinicio d la asiduidad, por ejemplo:

Si hay gente q por lo q sea se tira 3 meses sin jugar, pues para no tener q jugar tropecientas partidas xa recuperar la asiduidad, podría solicitar q se le reiniciase, o incluso habilitar un botón para ello. Lo único q habría q estimar es cada cuánto se podría permitir un reinicio. Supongo q con uno o dos meses dsd su última partida bastaría. Como el dato d asiduidad debería d ser reciente para q fuera relativamente orientativo, no importaría permitir los "reinicios". En caso d querer, para diferenciar los jugadores más fanáticos con los ocasionales lo q sí se puede hacer quizá es añadir otro dato como asiduidad general o algo así q vaya aparte (en el perfil x ejemplo) y q cuente con el tiempo general.

¡Saludos!
http://www.rae.es / :worthy: para Krator ¡por ser un campeón! / www.TorredeMarfil.es / Presidente de la plataforma de los Archimagos y Liches flanqueadores de títulos de web.

Krator

Citarse coteja el día de la primera partida y se empiezan a contar los días, se dividen entre 7 y obtenemos las semanas. Luego se coge el número d partidas disputadas y se divide por el resultado anterior y listo.
:thumbsup:  Más fácil para mi

CitarComo el dato d asiduidad debería d ser reciente para q fuera relativamente orientativo, no importaría permitir los "reinicios"
Me parece bien.
Doble cruzado, cuadruple placer.

Krator

Bueno, otra cosa en la que no habia caido, es el lugar que va a ocupar en la torre, con esto me refiero a su ubicación, para así ir poniendo ya los links de manera correcta. Espero que este finde llegue Nam y lea esto para ver su opinión.
Doble cruzado, cuadruple placer.

Lepastur

Sip, quizá habría q sustituir el módulo d Torneos por "Partidas" y q luego ya dsd ahí se accediese a los Torneos pasados y al registro, pero Nam lo organiza todo mucho mejor.
http://www.rae.es / :worthy: para Krator ¡por ser un campeón! / www.TorredeMarfil.es / Presidente de la plataforma de los Archimagos y Liches flanqueadores de títulos de web.

Namerutan

Cita de: "Krator"Bueno, otra cosa en la que no habia caido, es el lugar que va a ocupar en la torre, con esto me refiero a su ubicación, para así ir poniendo ya los links de manera correcta. Espero que este finde llegue Nam y lea esto para ver su opinión.
Pues ahora mismo de memoria, creo recordar que se hizo un apartado "Competiciones", dentro del cual estaba el último Torneo. Ahí dentro podríamos poner el "Registro de Partidas" o algo así...
Mañana lo miro tranquilo.

Krator

Bueno, ya he dejado los archivos de la base de datos para que Nam pueda añadir las tablas (está en mi ftp nuevo, donde mismo que h2_hechizos).

Comentar que a la tabla partidas le he añadido el campo "Tiempo", que indicará cuantos turnos ha durado la partida (edité el primer mensaje).
Al igual hemos puesto en la tabla de clasificación el dato de asiduidad, pues la unica manera de "reiniciarlo" es teniendo el dato guardado.

Bueno, si ya tenemos la seccion de "Competiciones" (que ya he mirado y existe), podemos colocarla allí definitivamente.


Un saludo.
Doble cruzado, cuadruple placer.

Lepastur

Me encantará ver y probar la Beta del registro, Krator. En cuanto haya algo listo y os haga falta un cable, aquí m tenéis :worthy:
http://www.rae.es / :worthy: para Krator ¡por ser un campeón! / www.TorredeMarfil.es / Presidente de la plataforma de los Archimagos y Liches flanqueadores de títulos de web.

Krator

Bien, dia 2  :roll1:

Bueno, una vez ya creadas las tablas, he decidido comenzar por la parte en que se muestra la clasificación.
Por el momento ya se muestra primeramente la cabecera con sus imagenes sacadas de la tabla que Rob nos hizo aqui

Por ahora, debajo de la casilla JUGADOR, solo se muestra un número, a espensas de localizar a Nam y preguntarle sobre la BD y saber como sacar el nombre y avatar a partir del id de la torre.

Ya se ha realizado el sistema de SUPREMACIA, que mira las victorias del jugador de esa misma tabla y la divide entre el numero de partidas (también en esa tabla, aunque no sea visible) y multiplicado por 100.
Supremacía = (Victorias / Partidas jugadas) *100

Al igual hemos realizado el sistema de ASIDUIDAD, donde primero hemos debido preguntar que partidas y cuantas ha realizado el jugador que se muestra en la tabla de PARTIDAS_JUGADOR. De los resultados obtenidos, hemos preguntado su primera fecha dentro de la tabla PARTIDAS.
Por otra parte, hemos calculado la diferencia de dias entre la actual y la de esa primera partida, y la hemos dividido entre 7.
Es decir, semanas = (fecha de hoy - fecha primera partida suya) / 7 y redondeando por encima el numero de semanas.
Y para acabar:
ASIDUIDAD = (numero de partidas / semanas obtenidas)

A partir de ahí, sacamos el nivel con
Nivel = Supremacía * [1+Log(Asiduidad)]

En resumen, que a espensas de que Nam me diga como son las tablas de los usuarios para poder sacar el nombre y el avatar a partir del id de usuario de la web, esta parte estaría acabada.
Sin embargo aún no podéis ver este resultado, debido a que Namerutan aún no ha añadido las tablas a la base de datos de la web y a que éstas además, están vacias. Al igual, si no es mucho pedir, le pido a Nam, que haga la pagina de inclusión de mis PHP para que se muestren dentro de la web (dentro del bloque).



PD: Me cago en la madre y el padre de la asiduidad!
Doble cruzado, cuadruple placer.

Lepastur

Cita de: "Krator"PD: Me cago en la madre y el padre de la asiduidad!
Por si acaso, te diré que el Log debe d ser neperiano, es decir, Ln(x). No, no es cachondeo :wink:
http://www.rae.es / :worthy: para Krator ¡por ser un campeón! / www.TorredeMarfil.es / Presidente de la plataforma de los Archimagos y Liches flanqueadores de títulos de web.

Krator

Bien, más cosas.

Me quedó ayer todo muy mono, pero claro, tal y como lo hice, pero dejé a un lado el reinicio de asiduidad. He cambiado el nombre en la tabla Clasificación, pasando de llamarse Asiduidad por Comienzo, y aquí es donde se guarda desde que fecha se debe calcular la asiduidad; así que he modificado un poco el código para este cambio.
Comentar también que aunque no se ha dejado claro, entiendo que el reinicio debería estar controlado por alguien de los "moderadores" de este registro.

Por último y como nos acercamos al fin de semana, que es cuando aparece nuestro querido Nam, podemos dejar aquí los resultados ya anotados, siguiendo la estructura de las tablas aquí indicas (primer post), o bien rellenar este cutre-archivo en Excel. Habrá campos que no sepais rellenar, como ID_Jugador, no importa, dejadlo en blanco.

Así cuando llegue, incluirá las tablas en la base de datos y ya pueden ir con los primeros resultados, que además permitirá ver con ejemplos la evolucion del desarrollo.
Doble cruzado, cuadruple placer.

Lepastur

Cita de: "Krator"He cambiado el nombre en la tabla Clasificación, pasando de llamarse Asiduidad por Comienzo
No sé a qué te refieres, sin una imagen... De todas formas, con que ponga Asiduidad actual o quizá reciente se entiende de sobra, y eso de Por Comienzo no acabo d cogerlo del todo.

Citar, y aquí es donde se guarda desde que fecha se debe calcular la asiduidad; así que he modificado un poco el código para este cambio.
¿Te refieres que hay una tabla aparte que calcula la asiduidad? De ser así, pues genial, siempre q funcione. Vosotros sois los técnicos :wink:

CitarComentar también que aunque no se ha dejado claro, entiendo que el reinicio debería estar controlado por alguien de los "moderadores" de este registro.
Podría hacerse así, pero no creo q sea muy difícil poner un botón de reinicio que mediante dos simples condiciones "haga efecto" o no. Es decir, el botón se pone y al pulsar se comprueban los días que lleva sin jugar, si es menor a cierta cifra que estipulemos, por ejemplo un mes, el resultado sería inocuo, es decir, un simple link a la página actual por ejemplo con un cartelito informativo d por qué no se puede reiniciar. Si es mayor, pues se pone el contador a cero más el link a la página actual con el mensajito pertinente.

CitarPor último y como nos acercamos al fin de semana, que es cuando aparece nuestro querido Nam,
Ayer apareció, pero coincidió con una caída transitoria de la Web, así q no pudo revisar ni lo d las noticias ni ojear el Foro, ni tratar d sacar una copia d la BD, pero en esto último ya se puso CrOwN. A ver si tiene algo d tiempo para este finde y t echa un cable.

Citarpodemos dejar aquí los resultados ya anotados, siguiendo la estructura de las tablas aquí indicas (primer post). Habrá campos que no sepais rellenar, como ID_Jugador, no importa, dejadlo en blanco.
M figuro que la ID_Jugador será la ID d registro de la web, q sale al pasar el cursor por el botón "profile" q figura bajo nuestra firma, y q este dato es el q va en "Ganador". Lo q no sé poner es el campo ID_Partida, pues no sé si cuando el sistema comience a funcionar lo hará dsd el 1, o si se puede poner a funcionar dsd el número q vaya al haber introducido los datos manualmente de las partidas ya jugadas.

CitarAsí cuando llegue, incluirá las tablas en la base de datos y ya pueden ir con los primeros resultados, que además permitirá ver con ejemplos la evolucion del desarrollo.
Ok, pues me pongo y t relleno la tablita, aunq no sé qué código le has puesto por ejemplo al tipo de partida, qué es Límite (no sé si se refiere de tiempo o de nivel del héroe) o el código de "batallas", q m figuro q se refiere al "Modo de Combate": Dinámico o Normal. Improviso un simple código a base de iniciales y ya tú lo corriges o lo q sea.

He aquí el código utilizado:
Tipo -> S=Singular (1vs1); T=Triangular; A=Aliados(Este aún no se ha utilizado, pero sería lo suyo.
Combate -> N=Normal; A=Siempre Automático; D=Dinámico (como el anterior, no se ha utilizado aún).
Dificultad -> D=Difícil; N=Normal; F=Fácil

Si hay algún problema con la programación el asignar una misma letra en campos distintos, pues se escribe todo, aunq m figuro q eso no es problema, aunqué deberíamos convenir en una misma codificación.

Por cierto, en cuanto a los mapas, habría que subir los originales y los que se vayan a jugar xa que se les pueda dar una ID o algo por el estilo, lo cual tb podría suponer un conflicto en el sistema de validación de los mismos, ya q no estoy seguro si para q la web dé una ID al mapa hay q validarlo antes o no. Espero q el formato de la fecha sea el correcto.

Aquí t dejo la tabla de las partidas hasta ahora, Krator, si hay algo q modificar m lo dices.

¡Saludos!
http://www.rae.es / :worthy: para Krator ¡por ser un campeón! / www.TorredeMarfil.es / Presidente de la plataforma de los Archimagos y Liches flanqueadores de títulos de web.

Krator

Paso a paso, aunque la mayoria de tus dudas Lepas, podías haberla resulto mirando el primer post mio donde escribí los campos de las tablas y su significado.

CitarNo sé a qué te refieres, sin una imagen... De todas formas, con que ponga Asiduidad actual o quizá reciente se entiende de sobra, y eso de Por Comienzo no acabo d cogerlo del todo.
Quería decir, que al inicio puse en la tabla de Clasificacion, un campo llamado Asiduidad, y que ahora lo voy a llamar Comienzo. En este campo se guarda a partir de que fecha va a valer para calcular la asiduidad (por ejemplo el ultimo reinicio que haga alguien)

Citar¿Te refieres que hay una tabla aparte que calcula la asiduidad?
No, es lo que acabo de explicar arriba. Un dato necesario para el calculo de la Asiduidad es saber a partir de que fecha se comienza (primera partida o ultimo reinicio).

Lo del reinicio, poder se puede...a ver que más opiniones vienen  :thumbsup:

CitarA ver si tiene algo d tiempo para este finde y t echa un cable.
Le necesitamos sobre todo para la BD y para que me vaya explicando como saber a partir del ID de la torre, obtener el nick y avatar, pues no conozco como va aquí la BD. Aunque se me está ocurriendo que puedo mirar el ultimo torneo que puede que esté ahí la solución.

CitarM figuro que la ID_Jugador será la ID d registro de la web
Pues sí

Citarbotón "profile" q figura bajo nuestra firma, y q este dato es el q va en "Ganador"
Sí, es el ID de la torre que tenemos cada usuario registrado.

CitarLo q no sé poner es el campo ID_Partida, pues no sé si cuando el sistema comience a funcionar lo hará dsd el 1
Lo has puesto bien en el fichero que me has enviado, luego será la maquina quien los vaya dando...(de 1 en 1 de manera secuencial)

CitarOk, pues me pongo y t relleno la tablita...y ya tú lo corriges o lo q sea.
Bien, vamos por pasos. Como te comenté antes, debes mirar el primer post donde se explica que hace cada campo (pero si incluso he preguntado yo que eran algunos de esos que me preguntas, y son los mismos que los de las tablas de Rob y tuya).

Limite: Limite de tiempo para cada turno
Lo demás creo que lo entiendes tu mejor que yo...
Por cierto hijo, no hace falta codigos, se pone Normal, Dinamico...con toas las letras)  :tongue:
Eso sí, estos datos serán fijos, se escogeran de una "caja"(combo) y no permiten escribir.

Yo no tenia pensado que los mapas se relacionaran con los de la web, y la verdad es que casi mejor obviar, yo pensaba unicamente en el nombre del mapa que se ha jugado, pues esto no es un torneo ni parecido.

CitarEspero q el formato de la fecha sea el correcto
No te preocupes  :thumbsup:

CitarAquí t dejo la tabla de las partidas hasta ahora, Krator, si hay algo q modificar m lo dices.
Muy bien Lepastucin, pero debiste fijar que había 3 paginitas en el Excel para rellenar, pero dont worry, los datos que necesito están, ya las relleno yo manualmente.

Y ahora despues de esto piro sin revisar lo que he escrito que me esperan de hace rato
Doble cruzado, cuadruple placer.

Lepastur

Cita de: "Krator"Paso a paso, aunque la mayoria de tus dudas Lepas, podías haberla resulto mirando el primer post mio donde escribí los campos de las tablas y su significado.
Lo siento, pero de eso hace ya tiempo y ahora ando con la cabeza liada en otras cosas :toy_tonto:

CitarQuería decir, que al inicio puse en la tabla de Clasificacion, un campo llamado Asiduidad, y que ahora lo voy a llamar Comienzo. En este campo se guarda a partir de que fecha va a valer para calcular la asiduidad (por ejemplo el ultimo reinicio que haga alguien)
Ok, es q no había visto lo d las otras hojas (siempre me pasa con los Excell) :cool:

CitarLo del reinicio, poder se puede...a ver que más opiniones vienen  :thumbsup:
Pues creo q es más cómodo q tener pendiente a los organizadores del registro.

CitarAunque se me está ocurriendo que puedo mirar el ultimo torneo que puede que esté ahí la solución.
Eso mismo te iba a decir. Si t hace falta q t copie algún fichero PHP del sistema del Torneo II de Nam, sólo tienes que pedirlo y lo buscaré.

CitarPor cierto hijo, no hace falta codigos, se pone Normal, Dinamico...con toas las letras)  :tongue:
Eso sí, estos datos serán fijos, se escogeran de una "caja"(combo) y no permiten escribir.
Me figuro q t refieres a una persianita desplegable ¿no? Si es eso sería estupendo, pero me refiero al código a utilizar mientras el sistema no esté listo y haya que anotar las cosas manualmente xa q luego el sistema lo interprete. Lo digo más que nada por el tema de tildes y demás, aunq si no hay muchas partidas, no hay mucho inconveniente en cambiar el código si hiciese falta. Por otra parte, parece q por ahora seré el único en tocar el archivo, así q no habría problemas por el momento d coordinación.

CitarYo no tenia pensado que los mapas se relacionaran con los de la web, y la verdad es que casi mejor obviar, yo pensaba unicamente en el nombre del mapa que se ha jugado, pues esto no es un torneo ni parecido.
Ah, ok, yo sólo lo decía porque igual podría ser útil crear una estadística sobre los mapas que juega cada uno para que el usuario sepa cuán trillados los tiene el rival q quiera elegir.

CitarMuy bien Lepastucin, pero debiste fijar que había 3 paginitas en el Excel para rellenar, pero dont worry, los datos que necesito están, ya las relleno yo manualmente.
Cuando lo tengas, publica el archivo para que vayamos cogiéndole el tranquillo a la dinámica de las tablas.

¡Nos vemos!

P.D. -> Cambié el campo "Batalla" por "Combate". Espero q no provoque conflictos. De ser así, pues vuélvelo a cambiar :tongue:
http://www.rae.es / :worthy: para Krator ¡por ser un campeón! / www.TorredeMarfil.es / Presidente de la plataforma de los Archimagos y Liches flanqueadores de títulos de web.

Krator

CitarAh, ok, yo sólo lo decía porque igual podría ser útil crear una estadística sobre los mapas que juega cada uno para que el usuario sepa cuán trillados los tiene el rival q quiera elegir.
Eso podríamos verlo si en un futuro desarrollamos la parte del perfil del jugador, donde ese dato, daría una pista más del jugador.

CitarCuando lo tengas, publica el archivo para que vayamos cogiéndole el tranquillo a la dinámica de las tablas.
Mañana publico un ejemplo, porque he visto que no está bien relleno lo que me has dado. Con eso de que estabas liado, no te has fijado que significa cada dato y hay cosas mal.
Por favor, fijate mejor que significan e intenta rellenarla de nuevo, sino espera que publique un ejemplo y luego ya me la rellenas de nuevo.

CitarP.D. -> Cambié el campo "Batalla" por "Combate". Espero q no provoque conflictos. De ser así, pues vuélvelo a cambiar
Si quieres se puede poner con ese nombre.
Doble cruzado, cuadruple placer.