Registrarse

[Essentials] Stalkear a tus jugadores o cómo supimos quiénes os habiáis pasado la beta


Esto es justo antes de publicar la verdad

Bueno, igual alguno ya se dio cuenta si se dignó a mirar los scripts del juego, pero hemos estado monitorizando vuestra actividad en el juego :D Y ahora os vamos a comentar como hacer vosotros lo mismo con el vuestro. Esto es muy útil para comparar el número de personas que descargan el juego con el número de personas que lo empieza, llegan una parte en concreto o inlcuso lo terminan. Evidentemente este script requiere conexión a internet para funcionar.

Lo primero que tendréis que hacer es montaros un servidor, podéis tener uno en casa como tengo yo, pagar por uno si lo vais a usar para más cosas, o pillaros uno gratuito en https://www.000webhost.com/ por ejemplo.
Lo siguiente será crear una base de datos, no entraré en detalles sobre cómo hacerla, si habéis podio configurar un servidor podéis hacer esto también, una vez creada la base de datos crearemos en ella una tabla, yo decidí llamarla "registro", pero cambiando las líneas de código apropiadas podéis configurarlo a vuestro gusto.
En fin, creamos una tabla con los valores que queramos meter, en mi caso una id (que siempre es necesaria), el nombre del juegador, su id de entrenador, una etiqueta para saber a que parte han llegado y la fecha.

Aquí tenéis el código .sql para crear la tabla:

Código:
--
-- Table structure for table `registro`
--

CREATE TABLE IF NOT EXISTS `registro` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_id` text NOT NULL,
  `player_name` text NOT NULL,
  `type` text NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=Aria  DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 AUTO_INCREMENT=112 ;
Ahora necesitamos un script en el servidor para recibir los comandos del juego y guardarlos en la base de datos:

PHP:
<?php

	if(isset($_REQUEST["player_name"])){
		$MYSQLSERVER = "SERVIDOR";
		$USER = "USUARIO";
		$PASSWORD = "CONTRASEÑA"; 
		$DATABASE = "BASE DE DATOS";
		
		$mysqli = new mysqli($MYSQLSERVER, $USER, $PASSWORD, $DATABASE);
		
		if ($mysqli->connect_errno) {
			echo "ERROR DB";
			exit;
		}
		
		$sql = "INSERT INTO registro (player_name, player_id, type) VALUES ('".$_REQUEST["player_name"]."','".$_REQUEST["player_id"]."','".$_REQUEST["type"]."') ";
		
		if (!$result = $mysqli->query($sql)) {
			echo "ERROR SQL";
			exit;
		}
	}
	
?>
Teniendo todo esto solo necesitamos un sencillo script de ruby:

Código:
def pbSendStatus(data)
  begin
    data = {"player_id"=>$Trainer.id, "player_name"=>$Trainer.name, "type"=>data}
    response = pbPostData("DIRECCION DONDE TENGAS METIDO EL CODIGO PHP", data, filename=nil, depth=0)
  rescue Exception
    Kernel.pbMessage("Baya, ha habido un error tomto pero peudes jugar")
  end
end
Usarlo es muy sencillo, y si el jugador no tiene conexión a internet o el servidor está caido salta un error avisando del problema.
Para usarlo, llamamos al script desde un evento y pondremos entre los paréntesis una frase o palabra clave para identificar la entrada en la base de datos.
Algo como esto:


Con esto luego podemos hacer un analisis y determinar si hay mucha gente que deja el juego en cierta parte y así centrarnos en el porqué.
 
Última edición:

Xabier2012

Usuario mítico
Resumo como funciona:

Durante el juego se llaman ciertos métodos (funciones o scripts, como queráis llamarlos) y esto lo que hace es enviar los datos de tu nombre junto a una palabra clave que indica en que avance de juego estás. Esto mediante internet pasa a la base de datos de este señor y así se mira cuanto han avanzado los jugadores.
 
M

Miembro eliminado 28262

Invitado


Yo le puse KAKA a mi jugador :v
jajaja buena esa lince
+34 prro
 

Ryuzaki-sama

Te voy a comer >:D
Eso se puede hacer??????? OStia tio!
No tenia la menor idea de que esto era posible, ni siquiera pensé en hacer algo así xD
Intenté comentar algo más pero no tengo nada que decir lelelel
 

DeadApolo

A'KERIA'S TRACES
¿En serio nadie se queja de esto?

Bueno...
¡Yo me quejo! ¡Esto es ilegal!
...
Nah es broma xDDD.
----------------------------------------------------------------------------------
La verdad creo que esto nos podría ayudar a centrarnos en las partes en las que los jugadores se han estancado más. Vamos, si 10 personas de las 12 que han jugado se han estancado en el mismo lugar es porque algo está fallando o algo es demasiado difícil, las otras 2 probablemente hayan sido más inteligentes o algo así.
De ese modo no tenemos que esperar al Feed back de la comunidad, que de por sí es bien escaso, y nos permitirá avanzar más rápido.

Al menos así lo veo, aunque yo no hago RPGs en este momento, tengo los conocimientos mínimos para hacer un proyecto decente sin ningún problema xDDD, así que me agrego como alguien capacitado para utilizar el sistema.

Saludos muy atentos de parte de su colega(No me gustó como suena, pero bueh...)

ApoloD - DeadApolo actualmente.​
 

Jaizu

Usuario mítico
No me parece bien, no porque me importe qué sepas cuando juego si no que nos estés chupando el internet perruso (?)
Pero bueno, ya tuve bastante de php este verano, no más por favor (?)
 

Lunos

Enfrentando a La Organización
Miembro insignia
¿En serio nadie se queja de esto?

Bueno...
Ya ves. Si te pueden sacar X información, ¿Que no te pueden sacar?
Esto es en esencia un script keylogger, exclusivo del juego, pero aun asi.

Igual está bien, es sencillo, tranquilo y obviamente aqui dificilmente la gente se pondrá a desarrollar cosas peores usando esto como base, peeero te deja pensando, sin dudas.
 
Ya ves. Si te pueden sacar X información, ¿Que no te pueden sacar?
Esto es en esencia un script keylogger, exclusivo del juego, pero aun asi.

Igual está bien, es sencillo, tranquilo y obviamente aqui dificilmente la gente se pondrá a desarrollar cosas peores usando esto como base, peeero te deja pensando, sin dudas.
Vamos a ver... de esto a un keylogger (que registra toooodas tus pulsaciones de teclado hay un buen trecho) esto lo único que hace es enviar información existente en el juego y enviarla a una base de datos, ni siquiera guardamos la IP del usuario... XD
 

Lunos

Enfrentando a La Organización
Miembro insignia
Vamos a ver... de esto a un keylogger (que registra toooodas tus pulsaciones de teclado hay un buen trecho) esto lo único que hace es enviar información existente en el juego y enviarla a una base de datos, ni siquiera guardamos la IP del usuario... XD
Ya, por eso digo que es sencillo y tranquilo.
Lo de keylogger fue como referencia, llamemosle "Gymslogger" e igual cuela.
 

Rembry

Hakuna Matata
Al parecer soy el único Alvaro que se a pasado el juego, además es mi nombre real. Pero no tenía ni idea de que se pudiera hacer esto. Puede venir bien a la gente, aunque en mi caso seria una perdida de tiempo. Aun así me parece que este RPG era el mas adecuado para implementar este sistema.
 

Dockun

Veterano reencarnado
Con un poco de imaginación este sistema podría tener más usos. Por ejemplo, se me ocurre que no debería ser muy difícil modificarlo para convertirlo en un ranking online para speedrunners, ¿cierto?

Tampoco hay mucho que pensar, la de información que os sacar juegos online y otras aplicaciones para usarla sobre todo para haceros propaganda sin que os enteréis… Pokémon GO es más “peligroso” que esto.
 
Arriba