Page 15 of 21
Re: [GAME] Rosie ~ The Rascal
Posted: Tue Apr 03, 2012 5:46 pm
by SimulatorOne
Bueno pensandolo mucho mucho.
Al final he decidio que gestione los datos enviados entre Servidor y Clientes
con solo un STRING unico, de 100 posiciones... (de momento seran de 100)
100 Caracteres, son = a 100Bytes , son igual a 100 posiciones x 256 valores = 25.600 combinaciones diferentes.
Al ser una STRING me resulta mas facil gestionarlo, y se puede manejar como un array
y puedo introducir valores como un array de tipo byte
con solo una STRING de 4 posiciones, puedo almacenar 4 Caracteres si.... pero si lo trato como si fuese un Array de tipo Byte
Puede almacenar unos cuantos datos

0,0,0,0
hasta
255,255,255,255
Luego al ser una STRING puedo enviar comandos y texto de chat.
[Codebox=gemix file=Untitled.gemix]
STRUCT JUG_NET[TOP_JUG_NET];//0=SERVER, 1,2,3...=JUGNET.
STRING CMES[99];//COMANDOS
END[/Codebox]
con solo eso, ya puedo enviar los datos necesarios...
lo que si aun debo determinar la longitud de caracteres para enviar en el CHAT.
Re: [GAME] Rosie ~ The Rascal
Posted: Tue Apr 03, 2012 6:32 pm
by erkosone
Animo Simu, ya estás cambiando el chip, mola
Si, los String puedes enviar numeros y letras, es lo suyo, y cuando funcione el tema de bit´s... imaginate.. por cierto, recuerda que para el chat, no tienes por que enviar un string en una sola vez

Re: [GAME] Rosie ~ The Rascal
Posted: Tue Apr 03, 2012 8:51 pm
by SimulatorOne
si puedo juntar en un solo STRING comandos + chat
por eso debo limitar a un numero de caracteres a enviar para el CHAT.
y los comandos tambien necesito reservar un numero de cadenas...
tambien podria usar 2 cadenas por separado.
uno para chat
y otro paara traansmision de datos y comaandos.
Seriaa dividirlo / 2 ese STRING de 100 posiciones
no se...
para comandos con 40 caracteres creo que tengo suficiente...
y 60 para el chat...
Re: [GAME] Rosie ~ The Rascal
Posted: Tue Apr 03, 2012 9:15 pm
by erkosone
joer.. comandos 40 chars jeje.. vas a enviar el Quijote o que? bueno.. depende lo grande que sea el juego claro..
yo por ahora ya tengo implementado en mi deathmatch 2 eventos que funcionan bien, las colisiones con objetos de la tabla cero y las colisiones con objetos de la tabla 1, 64 procesos controlados por tablas de "bytes

" que serán bits en el futuro.. y con un solo byte para enviar el tipo de evento, tengo con 1 byte 255 tipos de eventos, y con otro byte tengo para indicar que objeto es al que le afecta el evento, por ahora necesito 2 bytes para control de todo el juego + 2 listas de 31 bytes.. joer.. que rabia me da XD.. dichosos bytes..
Haber si acabo una versión jugable del juego y nos pegamos un torneillo
Y dale caña a este proyecto haber para cuando podemos jugar a dobles por red!
Re: [GAME] Rosie ~ The Rascal
Posted: Tue Apr 03, 2012 10:01 pm
by GINO
También hay que recordar que se puede comprimir la información...
Re: [GAME] Rosie ~ The Rascal
Posted: Tue Apr 03, 2012 11:06 pm
by SimulatorOne
como se puede comprimir esos datos de una STRUCT?
Re: [GAME] Rosie ~ The Rascal
Posted: Wed Apr 04, 2012 12:33 am
by erkosone
creo que se refiere a los arrays de chars, no se.. yo ya intento que no sea mas compactable la info, pero no me queda claro a que se refería, haber si nos lo explica, ahora me ha dejado loco.
Re: [GAME] Rosie ~ The Rascal
Posted: Wed Apr 04, 2012 11:19 am
by GINO
Creo que se me fue la pinza, pensé que había una funcion para comprimir los datos, como compress_file pero para datos en memoria. Estaría bien incluirlo.
Re: [GAME] Rosie ~ The Rascal
Posted: Wed Apr 04, 2012 12:09 pm
by erkosone
mm.. puede ser útil si.
Ya decía yo XD.. no quise poner nada en el post pero me sonó a 'momento de encefalopatia espongiforme' jeje..
Re: [GAME] Rosie ~ The Rascal
Posted: Thu Apr 05, 2012 4:12 pm
by SimulatorOne
pues me tenido que relajarme 2 dias...
por que me es complejo...
por el echo de transportar informaacion: variables,Strings de otros jugadores y servidor...
por seguridad decidi por crear esta STRUCT
[Codebox=gemix file=Untitled.gemix]CONST
TOP_JUG_NET=4;//TOP JUGADORES NET 4=4 JUGADORES
top_STRNET=15;
top_STRNETC=47;
GLOBAL
STRUCT JUG_NET[TOP_JUG_NET];//0=SERVER, 1,2,3...=JUGNET.
short XY[1];//COORDENADAS(4 BYTES) -32768/32767
BYTE GFAL[3];//GRAPH,FLAGS,ALPHA,ANGLE+45 (4 BYTES) 0/255
STRING CMES_S[top_STRNET];//COMANDOS 16 BYTES (PARA SERVIDOR)
STRING CMES_C[top_STRNET];//COMANDOS 16 BYTES (PARA CLIENTE)
STRING CHAT_S[top_STRNETC]; //CHAT 48 BYTES (PARA SERVIDOR)
STRING CHAT_C[top_STRNETC+1];//CHAT 49 BYTES (PARA CLIENTE)
DWORD LOGCHAT;//NUMERO DE CHAT 4bytes(control de chat)
END[/Codebox]
Tiene varias STRING para permitir el uso de Entrada de datos/envio y recepcion de comandos, y mensajes de chat.
LOGCHAT es un controlador que numera la liniea de chat, para evitar que se creen Duplicados en otros jugadores.
Y luego esta XY y GFAL que son datos de cada jugador que siempre cambian, cordenadas, grafico flags...
solo pesa 8 bites todo eso.
De momento no hay Buffer de comandos ,ni de chat...
pero seria bueno crear un buffer de envio de comandos ,chat en los clientes.
y un buffer en el servidor de comandos pendientes por hacer.
Los comandos son ultra rapidos, el servidor siempre esta listo para recibir comandos...
a no ser que justo en ese momento otro cliente le envie otro comando...
entonces ese comando se almacena en el buffer, como una lista de comandos por hacer.