Page 15 of 21

Re: [GAME] Rosie ~ The Rascal

PostPosted: 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.

Source Code (Gemix) [ Download ] [ Hide ]
  • STRUCT JUG_NET[TOP_JUG_NET];//0=SERVER, 1,2,3...=JUGNET.
  •   STRING CMES[99];//COMANDOS
  • END


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

PostPosted: 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 :P

Re: [GAME] Rosie ~ The Rascal

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: Tue Apr 03, 2012 11:06 pm
by SimulatorOne
como se puede comprimir esos datos de una STRUCT?

Re: [GAME] Rosie ~ The Rascal

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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
Source Code (Gemix) [ Download ] [ Hide ]
  • 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


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.