Bullet online

Started by Windgate, December 06, 2010, 11:13:14 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

Me agrada dejaros este proyecto, apenas he podido dedicarle unas cuantas horas durante este puente, pero le he puesto mucha ilusión y lo he documentado lo mejor posible:

Requisitos: http://trinit.es/DescargaDirecta/BennuOthers/BennuPlayNet/Bullet/screenshot/requirements.pdf
Jerarquía de procesos: http://trinit.es/DescargaDirecta/BennuOthers/BennuPlayNet/Bullet/screenshot/process%20hierarchy.pdf
Protocolo: http://trinit.es/DescargaDirecta/BennuOthers/BennuPlayNet/Bullet/screenshot/protocol.pdf

El concepto es sencillo, es un shooter en el que manejas naves en un espacio infinito. Permite cambiar la IP a la que conectar desde el menú, elegir entre 3 tipos de naves y aniquilarse disparando con el ratón. Si actúas como servidor, con la tecla F1 pueden lanzarse 10 clientes locales para trastear.

Cada tipo de nave deja un item distinto al morir que ofrece hasta 3 acumulaciones de mejora. Actualmente la nave Tank deja el item de escudo que reduce el daño recibido y la nave Sniper deja el item de radar que muestra cursores para ver la posición de los enemigos y la distancia hasta ellos. Falta el item misil, que será un disparo autodirigido, pero está pendiente porque todavía me estoy planteando cómo implementarlo.

Están cubiertos muchos de los requisitos del juego, en breve quiero tener un modo de batalla por equipos y otro modo de capturar la bandera. Por ahora es siempre todos contra todos.

Si alguien quiere hacer alguna prueba que me mande privado y nos conectamos, lo probé con Prg desde México y Sandman desde Alemania, junto con otros 2 españoles, y el rendimiento de red era más que aceptable.

DESCARGA: http://trinit.es/DescargaDirecta/BennuOthers/BennuPlayNet/Bullet/Bullet%200.1.3.zip

Como siempre, el código y recursos están abiertos, incluso la documentación está en formato de Open Office por si alguien quiere utilizarlo como plantilla.

PD: Agradezco cualquier tipo de reporte de fallos, sugerencias, etc. :D
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

FreeYourMind


SplinterGU

si no me equivoco ya hay un modulo hecho para bennugd, no recuerdo si fue sandman quien lo hizo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

l1nk3rn3l

#3
con codigo fuente...

sip, excelen te...


DCelso

;D, en el requirements.pdf pone
" capture de flag "
:D, no se, me hizo gracia :D

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

anda, y menú con acento.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

¿que es eso de jerarquía de procesos?

S parece a un diagrama de objetos de UML.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

oriun

A este paso convertiremos BennuGD en una especie de UDK o algo así. Mejor dicho, convertireis...

Windgate

Quote from: SplinterGU on December 06, 2010, 01:14:39 PM
si no me equivoco ya hay un modulo hecho para bennugd, no recuerdo si fue sandman quien lo hizo.

¿Un módulo para qué? ???
Quote from: DCelso on December 07, 2010, 12:47:40 AM
¿que es eso de jerarquía de procesos?

S parece a un diagrama de objetos de UML.


Sí, la idea es hacer un poco de ingeniería del software, que para cerrar proyectos medianamente complejos es esencial. La jerarquía de procesos es un árbol genealógico que indica qué procesos invocan a qué procesos, con puntos suspensivos en las flechas se ponen las invocaciones condicionales, con puntos suspensivos en los procesos se indican aquellos que no están siempre en ejecución, el borde más grueso diferencia procesos de simples funciones...

Me está viniendo muy bien llevarlo al día, aunque ahora mismo tendría que añadirle varias cosas.

Por cierto, el juego ha avanzado bastante, ya funciona el modo capturar la bandera, he mejorado la GUI, puesto sonidos, un visor de ranking de jugadores, el sistema de chat funciona pero sólo con números por un problema de conversión de string a array de char, funcionan los distintos tipos de item...

En un rato subo versión nueva y os excitará, estoy seguro :D
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

DjSonyk

Quote from: Windgate on December 08, 2010, 01:13:23 AM
Sí, la idea es hacer un poco de ingeniería del software, que para cerrar proyectos medianamente complejos es esencial. La jerarquía de procesos es un árbol genealógico que indica qué procesos invocan a qué procesos, con puntos suspensivos en las flechas se ponen las invocaciones condicionales, con puntos suspensivos en los procesos se indican aquellos que no están siempre en ejecución, el borde más grueso diferencia procesos de simples funciones...

Me está viniendo muy bien llevarlo al día, aunque ahora mismo tendría que añadirle varias cosas.

Por cierto, el juego ha avanzado bastante, ya funciona el modo capturar la bandera, he mejorado la GUI, puesto sonidos, un visor de ranking de jugadores, el sistema de chat funciona pero sólo con números por un problema de conversión de string a array de char, funcionan los distintos tipos de item...

En un rato subo versión nueva y os excitará, estoy seguro :D

Espero que no sea uno de esos proyecto que dejas siempre a medias ^^

SplinterGU

Quote from: Windgate on December 08, 2010, 01:13:23 AM
Quote from: SplinterGU on December 06, 2010, 01:14:39 PM
si no me equivoco ya hay un modulo hecho para bennugd, no recuerdo si fue sandman quien lo hizo.

¿Un módulo para qué? ???

hoy parece que no estoy hablando en español... el problema debe ser mio... sin dudas...

intentare de nuevo, sin preguntas ni acertijos (iba a decir, cual es el titulo del hilo?, pero bueno)... mejor lo digo...

"creo que sandman hizo un modulo para implementar la bullet en bennugd"

creo, puede que me equivoque.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Siempre te puedes pillar este fabuloso libro


Windgate

Splinter, Bullet es sólamente el nombre del juego, es un shooter 2D online, nada que ver con la librería Bullet, que es una librería 3D xD

Entre que no nos entendemos y que no nos leemos... :D

SonyK, este no quedará a medias por una sencilla razón, no lo he hecho para probar cosas nuevas, sino que he partido de un análisis de requisitos a los que ceñirme para completar exclusivamente esos requisitos y absolutamente nada más fuera de ellos, que es el principal problema que hace fracasar el 99% de los proyectos.

Ahora dejo la nueva versión y si miras el /doc/requirements verás que tengo cumplidos más del 80% de los requisitos, de hecho salvo algún bug que tengo que corregir por culpa del modo Capture the Flag el juego ya resulta jugable y adictivo xD

Dejo aquí la versión actual, pero aviso, tiene algún bug por culpa del radar, que sirve para detectar tanto jugadores como banderas, recomiendo jugarlo con el RunWin.bat para que la consola muestre los posibles errores de ejecución, si alguien ve alguno que no sea del radar que avise, pero me extrañaría:

DESCARGA: http://trinit.es/DescargaDirecta/BennuOthers/BennuPlayNet/Bullet/Bullet%200.1.5.zip

PD: Mañana Jueves intentaré hacer una prueba en red local con unos 12 jugadores para ver la estabilidad.
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

SplinterGU

jua! fail completo mio... se me mezclaron las cosas, si lei, lo que pasa es que a veces me tengo que levantar de la pc, entre leidas y posteadas, y lei lo del bullet y lo de la fisica, y me lo mezcle.

la bullet es una libreria de fisica.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Noivern

buenas!
Estuve mirando tu pdf de los requisitos (Windgate), y sale que vas a poner misiles que buscan objetivo. Quizás te pueda servir parte de mi juego (Deadly Eye). Descargate el .prg que esta en el hilo de proyectos; busca el proceso misil y hechale una ojeada, ya que hacen exactamente lo mismo: buscan objetivo (si es que previamente no se les asigna o bien si ese objetivo muere o desaparece de pantalla) y lo persiguen con un bonito movimiento de giro. A ver si esto te ayuda a terminar antes =)