Page 14 of 21

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sat Mar 31, 2012 10:02 pm
by SimulatorOne
Que mal!

Existe un grandisimo bug con este ultimo sistema de Enviar los controles de otros jugadores remotamente.

Desincronizacion o perdida de preciosion, dando hacer que el personaje se maneje de manera erronea...

Esto se proboca si uno de los juegos, sufre algun freno o paro... entonces ya no van a la vez :(

Porcierto la prograamacion es MUY compleja y me tirado como casi 2 dias, solo para probar esto....
Pero no me gusta nada el resultado, ya que a la minima que algunos de los juegos pege una relentizacion... adios la sincronizacion...


yo la verdad prefiero enviar las cordenadas X,Y, aun que no valla muy suavizado... pero se que se actualiza lo mas rapido que puede y siempre es de fiar las cordenadas del personaje.

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sat Mar 31, 2012 11:47 pm
by erkosone
Ya te avisé que es como volver a nacer jeje, no te desanimes, y plantea en papel las cosas antes de empezar, seguro que antes de teclear una sola letra de códgio ya le ves varios problemas y lo re enfocas desde otro punto de vista, la programación en red es compleja, pero no imposible, solo es practica y ya está.

Haber.. que problema tienes cuando se ralentiza algún cliente? que no le llegan a tiempo las señales? también lo puedes hacer a lo bruto de otra manera, recientemente GINO ha publicado unas funciones ultra valiosas para el tema de redes, acceden a nivel de bit a "creo" cualquier tipo de variable, piensa que si generas tanto en el cliente como en el servidor "sin comunicación" osea, en estatico, al iniciar el nivel se generan "128 anillos" por ejemplo, puedes crear una lista en red de los 128 anilos con 4 int´s XD.. es una pasada Simu, entonces cuando un player colisiona en local con uno de los anillos le envia un mensaje como este al server :

"C A 0098" que significaría por ejemplo "Colisiono" "con Anillo" "número 98"

En el servidor compruebas su BIT y si está a lo pones a cero y le dices al cliente que lo ha pillado..



Venga Simu que está tirado!! solo es plantearlo bien, por eso la importancia de acceder a ultra bajo nivel "bit´s" de las variables, sirven como largas listas de ID´s que pueden solucionarte mil problemas.

No te desanimes, que estoy convencido que puedes hacer algo grande. ;)

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sun Apr 01, 2012 12:29 am
by SimulatorOne
:)

gracias por los consejos, lo tendre muy encuenta.

Pues laa verdad creo que estoy pensando mucho como jugador, en vez como servidor para controlar...
y es que me estoy metiendome en mal sitio si no te hago caso xDD

Oie, me recomiendas programar a parte un Servidor? sin jugador... es decir, solo pensado para gestionar los jugadores,comandos y el resto del juego.
Seria el Verdadero servidor la verdad!

Eso lo usas tu en tu Chat :)

Es que me estoy liandome y complicandome la vida mezclando Servidor y jugador... y se me esta cruzando las cosas :S
orden!! >_<

Pues si a ver si puedo reducir la STRUCT.
Porcierto muy bueno ese STRING de comandos. tiene mucha utilidad!!

Pero devo organizarme!

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sun Apr 01, 2012 12:54 am
by erkosone
Estoy montando un ejemplo que te lo vas a poder copiar para tus anillos XD..

Haber, yo me he frustrado cantidad siempre que he intentado juntar el servidor y el cliente en el mismo código, sabes que te digo? que se junta todo, no sabes ya donde está nada, todo está por duplicado y es un autentico kaos..

Yo no tengo el nivel suficiente para juntar todo en un solo prg y echarlo a andar.. es algo reservado para las mentes superiores XD.. yo ya me di cuenta hace tiempo de que está todo mejor y mas limpio en programas separados, donde el servidor tiene poco código y ves de un simple vistazo lo que buscas.. de verdad que admiro a los que son capaces de juntar todo en un solo programa, pero tío.. es una locura XD.. siempre que hago eso acabo arrepindiendome.
server a parte y al que no le guste que no juegue :blind:

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sun Apr 01, 2012 1:05 am
by SimulatorOne
Pues eso es lo que me esta pasando, que se me junta codigo de Servidor junto los Juadores y no me esta gustando...
me resulta muy espeso y muy complejo.

Y la verdad, el Servidor dedicado programado a parte seria lo idoneo. ademas de tener informacion a tiempo real, para debugear,consultar comandos y enviar comandos a los jugadores.

Estoy decidido.

Pues yo ya uso 10 archivos .PRG para simplificar las cosas.
unas 5000 linieas de codigo xD

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sun Apr 01, 2012 1:22 am
by erkosone
Bienvenido a Matrix jeje.. imaginate como tengo yo el ejemplo con la lista de bits para los items en red + los net_players + el jugador local + el protocolo de colisión por tablas con bits en red XD..

Y es un cutre ejemplo.. y todavía sabiendo bien lo que quiero hacer me lo miro todo 100 veces y me paro a fumar un cigarro antes de teclear nada..
Programar en red es un autentico reto para la mente, si eres masoka como yo te gustará mucho jeje.

Y todavía nadie ha abierto la boca sobre la IA en red.. otra cosa que es obligatoria para los juegos, que el cliente en un momento dado de lag largo o micro corte de conexión sepa anticiparse a lo que se supone que iba a pasar y que lo reproduzca XD.. y cuando se recupere la conexión a los 2 segundos recoloque todo en su sitio real y haga las correcciones si ha cometido algún error durante el trance de la IA para un calculo estimado de lo que iva a suceder, y todo eso sin que el jugador se entere de que ha pasado nada XD..

Si es para mear sangre jaja..

Por eso admiro a los programadores de Blitzard en World of Warcraft, lo he jugado en serio durante muchos años, y de verdad que cuando juegas en serio y sabes un poco lo que se cuece detrás del juego a bajo nivel te das cuenta de que es una obra maestra de programación en red. Todavía estoy por ver un solo juego que se le acerque a la suela del zapato en lo que se refiere a programación en red, si lo has jugado sabrás de lo que hablo, solo con jugar una party de 80 players te das cuenta rápido de todo lo que hace el juego y todos los precalculos de IA que tiene el jodio.. es impresionante al nivel que está programado ese juego.

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sun Apr 01, 2012 12:19 pm
by BigHead
erkosone wrote:Por eso admiro a los programadores de Blitzard en World of Warcraft, lo he jugado en serio durante muchos años, y de verdad que cuando juegas en serio y sabes un poco lo que se cuece detrás del juego a bajo nivel te das cuenta de que es una obra maestra de programación en red. Todavía estoy por ver un solo juego que se le acerque a la suela del zapato en lo que se refiere a programación en red, si lo has jugado sabrás de lo que hablo, solo con jugar una party de 80 players te das cuenta rápido de todo lo que hace el juego y todos los precalculos de IA que tiene el jodio.. es impresionante al nivel que está programado ese juego.


Está claro pq un juego al nivel de hoy en dia lo hacen tropecientas personas, por que hay especialistas en cada campo, y en cada campo son muchos que se dedican a lo suyo solamente, nosotros nos decicamos a TODO EL JUEGO AL 100% lo cual es mucho más costoso en tiempo y en curro, vamos que te haces un sonic al nivel que tu lo tienes que es una autentica pasada, estamos hablando de un juego que en su momento hizo un enorme equipo de programacion, y a pesar de que estemos programando en un lenguaje de alto nivel, y los graficos sean ripeados, esto ya tiene un merito y trabajo detras bien grande y que luego nadie fuera del ambito de la programamcion aprecia al nivel que vale ... pero no desesperes que poco a poco sale y que un sonic online sera un autentico bombazo !! a todos los niveles, esto me hace plantearme..¿como demonios hacen para que se pueda jugar a emuladores online de consolas que nunca tubieron juegos online? me hago una idea astracta de como pero aun asi flipo ... y ademas todo lo hacen por amor al arte porque encima son cosas gratuitas, vamos que lo piensi friamente y me siento pulga ... y dejo la pregunta en el aire ...

¡¡¡ Animo simu que Roma no se hizo en dos dias pero tu tienes lo que hay que tener para construirla !!! amor constancia y ganas, y todo esto disfrutando a cada paso que sale adelante !!

Re: [GAME] Rosie ~ The Rascal

PostPosted: Sun Apr 01, 2012 12:43 pm
by SimulatorOne
Bueno de momento voy, bien, pero no he terminado aun con el trabajo.

Tengo ya operativo el Servidor, obtomizado solo para procesar variables,Structuras,arraays y cadenas.
No tiene grficos, solo a base de DRAW_TEXT y DRAW sencillos.

Tiene un modo que añadir, que Oculta la ventana del servidor, y queda como 2º Plano ejecutandose en la lista de Procesos del Windows, este no molesta en la barra de tareas.

Lo mejor que consume muy poco (demomento...) solo un 4 y 6% de la CPU 1,6Ghz.

De momento tiene seteado a 60FPS.
aun que el juego en modo Multijugador de momento Solo funcione a 50FPS.
Eso de momento estoy por mirarmelo...

De momento el servidor solo hace de Escucha, de Spia y recibe todos los datos de todos los Clientes.

Tambien captura los comandos,Chat y sucesos del sistema.
Es como un Chat LOG
Tambien permite Introducir directamente un comando enviado por el servidor, o puede enviar un comando como si lo hubiera enviado un cliente.


de momento solo eschucha, y puede enviar textos,comandos a sus clientes.

Los clientes aun no saben que existe un servidor que les controle(de momento), pero sabe que se pueden conectar gracias al servidor.

Pues ahora estoy trabajando en el sistema de CHAT y el envio de comandos.
Funciona un poco... pero algunas veces me falla o se me repite indefinida mente el mensaje enviado.
Debo pulirlo entre Servidor y Cliente.

De momento laa STRUCT
Solo tiene un STRING CMD[99]; y variables basicas del jugador: X,Y,GRAPH,FLAGS,ANGLE
Que es para enviar comandos y chat.

Esta STRING la consulta el Servidor para su CHAT LOG y por si hay que ejecutar un comando.

Los comandos son palabras claves, para activarlas, y sirven para muchas cosas:

-Cargaar un jugaador y obtener todos sus datos: Nick de usuario, Skin de jugador,SCORE,VIDAS,RINGS.
Los obtiene para el Servidor, y del servidor Rebota para sus clientes.
-Posibilidad de expulsar a un jugador, con un comando, el Servidor respondra a ese comando.
-Devolver info, sobre la posicion X,Y de un jugador en concreto,el Servidor envia esa info al Cliente solicitado.
-Devolver info, sobre cuantos jugadores estan conectados al Servidor.,el Servidor envia esa info al Cliente solicitado.
-Cancelar la partida activa, volviendo a todos los Jugadores al Lobby.,el Servidor enviara a todos al LOBBY
-Confirmar que el Jugador esta listo para jugar en el Siguiente nivel.,el Servidor consulta la peticion.
-Cerrar o Abrir el permiso de Entrada de nuevos jugadores,a una paartida o Lobby.,el Servidor cambiara esa opcion.

------------Pensados para Debugear----------
-Posibilidad de Trucar la posicion XY del jugador de manera forzosa,Debuger, El servidor lo recolocara.
-Posibilidad de Trucar las Vidas, Debuger, El servidor lo cambiara.
-Posibilidad de Trucar los RINGS, Debuger, El servidor lo cambiara.
-Posibilidad de Trucar los SCORE, Debuger, El servidor lo cambiara.
-----------------------------------------------------

De momento quiero trbajar esto de la comunicacion del CHAT Basico,
y despues los Comandos.

De momento solo estoy trabajando en el LOBBY para hacer estos codigos :)

Re: [GAME] Rosie ~ The Rascal

PostPosted: Mon Apr 02, 2012 6:46 pm
by Tekja
Wow sonic power, menudo juegazo te estas currando :O

Como buen fan de sonic me encantaría probarlo, pero me da que mi obsoleto equipo sería incapaz de mover eso :-*

Tendré que conformarme con los vídeos :-D


PD: ojala te quede como los grandes juegos de sonic que lanzó sega en su época dorada, y de los cuales guardo un buen puñado como si fuese un auténtico tesoro ;-)

Re: [GAME] Rosie ~ The Rascal

PostPosted: Mon Apr 02, 2012 8:57 pm
by SimulatorOne
Tekja wrote:Wow sonic power, menudo juegazo te estas currando :O

Como buen fan de sonic me encantaría probarlo, pero me da que mi obsoleto equipo sería incapaz de mover eso :-*

con un Pentium 3 de 800Mhrz creo que ya tiraria bien :)

Puedes provalo en un Windows 2000 o, XP.
con 256MB de RAM libres(que no usa el S.O) puedes ejeuctarlo.

Es probarlo :)