BennuplayNet

Started by l1nk3rn3l, July 19, 2010, 02:11:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BoMbErLiNk

Yo hice un chat online con la Fsock y lo que si funcionaban eran los CHAR, los string no.

No me la he mirado pero, que diferencias tiene esta dll con la fsock ? Una inicialización más sencilla ? Un mejor control de datos ?
Es necesario abrir puertos en el router en modo no filtrado ?
Esta portada a linux ?  ;D

Drumpi

Mr Matsusaka ¿soy yo o me estás retando a un combate al mejor de 3 rounds? ;D

Nah, sólo pasaba para dar un nuevo Karma, porque es posible que use esta librería...no sé cuando, pero en la pila de proyectos está cobrando mucha fuerza el Sonic Drift 2, y aun tengo la espinita clavada de tener la GG, el cable 2P, y no haberme podido jugar una partida decente (ni aun teniendo la posibilidad en el emu de GC).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Mr Matsusaka


SplinterGU

drumpi, el de sonic ya es hora.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Juer, ahora le ha dado a todo el mundo por desafiarme ¡las cosas bien hechas! ¡¡¡los desafíos en los concursos!!! :D :D :D

Quote from: SplinterGU on September 12, 2010, 01:04:26 PM
drumpi, el de sonic ya es hora.

Splinter, no te confundas: Sonic Drift es un proyecto de carreras de coches que estaba en la pila pero no había salido a la luz:
http://www.youtube.com/watch?v=xUsMO9IEa7A
(Por fin un video con un ratio de resolución correcto ;D).
Quería haberlo hecho como el original, incluyendo rampas y esas cosas, como el OutRun, pero no sé hacerlo. Luego quería intentarlo con VSE añadiendo cosas nuevas (de ahí mi empeño inicial). Pero las últimas pruebas con el modo7 han terminado por decidirme a hacer el intento con él en, digamos, una especie de remake.

No tiene nada que ver con FenixLand, donde salía Sonic porque eran los sprites que tenía más a mano, ni con el plataformas 3D con VSE, porque aun no he arreglado VSE ;)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Quote from: Drumpi on September 12, 2010, 05:07:51 PM
Juer, ahora le ha dado a todo el mundo por desafiarme ¡las cosas bien hechas! ¡¡¡los desafíos en los concursos!!! :D :D :D

Quote from: SplinterGU on September 12, 2010, 01:04:26 PM
drumpi, el de sonic ya es hora.

Splinter, no te confundas: Sonic Drift es un proyecto de carreras de coches que estaba en la pila pero no había salido a la luz:
http://www.youtube.com/watch?v=xUsMO9IEa7A
(Por fin un video con un ratio de resolución correcto ;D).
Quería haberlo hecho como el original, incluyendo rampas y esas cosas, como el OutRun, pero no sé hacerlo. Luego quería intentarlo con VSE añadiendo cosas nuevas (de ahí mi empeño inicial). Pero las últimas pruebas con el modo7 han terminado por decidirme a hacer el intento con él en, digamos, una especie de remake.

No tiene nada que ver con FenixLand, donde salía Sonic porque eran los sprites que tenía más a mano, ni con el plataformas 3D con VSE, porque aun no he arreglado VSE ;)

mejor aun, vamos con el sonic.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

l1nk3rn3l

#36
La libreria es un clon del diseño de red , que realizaron en div2, me parecio interesante
ese concepto , pero le faltaron bastantes cosas que si se incluyeron en esta libreria
como saber si un cliente esta conectado, control automatico de paquetes sin perdida,
compresion interna de paquetes, enviar solo paquetes modificados, y muchas mas..
no mas mirar el rendimiento logrado...

Actualmente estamos logrando varias de las caracteristicas que se pueden conseguir en librerias
comerciales como raknet, pero a un nivel de abstraccion mucho mayor , cosas que los mas iniciados
agradeceran...


Habran funciones avanzadas futuras como:
- publicar un puntaje online ----  BNP_PUBLISHSCORE("127.0.5.11", "1500","LUCAS",);
- enviar un archivo --- BNP_SENDFILE("/score.dat"); BNP_RECEIVEFILE();
- y otras ideas que se me estan ocurriendo ,

hemos investigado , y herramientas como darkbasic y blitzbasic, no tienen una libreria tan facil de usar
solo tienen algo como :  envia_paquete  , recibir_paquete , udp_send , tcp_send, etc que alguien
que no ha tocado una herramienta , se retirara de inmediato.
-----------


para mandar un string tienes que mandarlo como char[12] con 12 caracteres pienso que estara bien...

recuerda que un dato string es un puntero ... no es la cadena en si...

asi que si mandas una string ese numero no existira en el pc donde envias los datos

....
para saber la ip del servidor ya voy a crear un a funcion para tal proposito..

Gracias por las sugerencias....

--------

BoMbErLiNk, no esta portada a linux, pero esta disponible el codigo , que es 100% multiplataforma
asi que correra en MAC y Linux perfectamente...
y en si es facil de usar, pues deberias echarle un vistazo y me das tu opinion ,
lo que yo diga solo seria spam...


--------------
Si encuentran errores desearia que nos lo reportaran ...

Drumpi

Yo me conformo con que se pueda usar como si de lectura/escritura de ficheros se tratase (enviar una struct, un array o un tipo de datos definidos, por ejemplo). Si encima lleva incorporado gestión de errores y de paquetes ya sería... :D

De todas formas, aun no estoy preparado para ponerme a ello ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Phoenix

Si lo de pasar la cadena con chars funciona perfecto!

Estoy probandola con una aplicacion sencilla, en la que el cliente se conecta al servidor y pulsando la tecla h(cambia el valor de una variable de las que está compartiendo) le saluda, entonces el Servidor le devuelve el saludo(cambiando otra vez el valor de dicha variable), pero a partir de aqui el cliente ya no se entera de que el servidor cambio el valor de la variable que comparten y entonces no coge la respuesta (Parece un trabalenguas con tanto saludo xDDDD). La pongo por aquí a ver si le puedes echar un vistazo, por que yo no soy capaz de encontrar el error xD. Gracias de nuevo.


l1nk3rn3l


SplinterGU

karma por adelantado! pero cuales son los cambios o mejoras de esta nueva version?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Lo he probado y me ha funcionado de lujo, además veo que es muy poco el código necesario.

Mil gracias l1nk, en cuanto me ponga a fondo te reporto errores, si los encuentro :P

Por cierto, ¿Algún listado de funciones por ahí?, también me comprometo a ampliarlo/mejorarlo/traducirlo
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

l1nk3rn3l

#42
nuevo ejemplo de chat disponible.. (para los que desean el viejo estilo de enviAR paquetes)
Gracias a Phoenix , por el aporte...

con ese ejemplo alguien puede crear un lobby(aceptar/rechazar  interactivamente a los clientes/chatear mientras esperan)

si alguien tiene ejemplos sencillos , me serian de mucha ayuda..


como puede verse los ejemplos basicos, alguien puede hacerse un simple
pong , un tres en linea , etc, con pocas lineas..


Las mejoras que no nombre:
documentacion disponible
nuevas opciones como fast_mode , ejemplos expert,  entre otras cosas..
ver changelog..

actualmente se podria hacer un mariobros cooperativo..

ahora, estoy terminando los ejemplos hard... que estaran en la proxima... version..


Comparaciones:


aqui un ejemplo en darkbasic tan complejo que es usar multiplayer
http://www.thegamecreators.com/?m=view_product&id=2030&page=dbep

ejemplo en blitzbasic
http://www.blitzbasic.com/Community/posts.php?topic=83448

Prg

No había podido probar la librería, pero a ver si en esta semana puedo revisarla. Si hago algun ejemplo sencillo te lo pasaré. Saludos :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Phoenix

#44
Gracias por mirar el ejemplo que pusé! Y por las demas cosas que estas añadiendo a la liberia! :D

De todas formas... el ejemplo de chat que pusiste solo vale para una conexion de un cliente con el servidor, luego si conectas otro ya el server se vuelve loco por que esta pendiente solo de lo que dice el primero y los saludos se disparan. He estado modificando algunas cosillas para hacerlo generico, pero me sigue sin ir correctamente. Cuando el primer cliente saluda, el valor del id_text lo pone a 1, entonces el server se da cuenta de que vale 1 y modifica el valor de id_text para ese cliente lo pone a 2, pero este cliente ya no se da entera de que lo modificaron(aunque realmente si vale 2). He puesto unos textos para saber el valor de id_text solo del primer cliente, con lo que si pruebas a conectar un cliente y saludas al servidor, el servidor pone el valor id_text este a 2, pero el cliente no se da cuenta, ahora, si ejecutas en ese momento, otro cliente, este ya si ha actualizado el valor del id_text del cliente 1 que vale 2  :'(. ( Te dejo una captura por si no me explique en condiciones xD http://img203.imageshack.us/f/serverclient.png/)

Editado:

He empezado también ahora a hacer un 3 en raya y me pasa exactamente lo mismo que con el "chat" , llega un momento que uno de los 2 no se da cuenta que se modifico un valor de la estructura que comparten, con lo que entonces ya no se si lo estoy haciendo bien  ;D, ni idea, en fin, dejo el ejemplo del 3 en raya por aqui tb.