GNU XFree Fighter


Historia para GNU XFF

Publicado en version_operativa por xfighter en Enero 25, 2010

Ahora de exámenes de Febrero, así que llevo un tiempo sin programar, pero en navidad  avance un poco , supongo que ahora en las nuevas vacaciones que tengo de Carnavales, avanzaré otro buen trozo del videojuego.

Os cuento, En total tengo planificado incluir un total de 5 nuevos personajes más , además del monigote y el único personaje que tengo. Para ello estoy primero haciendo en papel , y alguno que otro ya lo tengo escaneado, ahora solo me falta pasarlos por el Gimp y aplicar texturas.

Todavía no se en que licencia pondré las imágenes supongo que en GPL o con la Creative Commons. Estoy abierto a sugerencia ;-) .

Cuando decida en que licencia los pongo los subo , a ver si le gusta al personal.

También estoy escribiendo una historia para el videojuego, quiero ponerlo en un futuro apocalíptico , dentro de este blog abriré una nueva página para tal efecto , tanto para las imágenes como para las fotos.

LA DICHA DE LA VIDA CONSISTE EN TENER SIEMPRE ALGO QUE HACER, ALGUIEN A QUIEN AMAR Y ALGUNA COSA QUE ESPERAR.

Thomas Chalmers (1780-1847). Matemático escocés

Un primer paso para incluir AI en GnuXff

Publicado en Uncategorized por xfighter en Enero 16, 2010

He empezado vagamente a incluir  que la maquina luche contigo, pero solamente he creado una especialización de la clase Luchador , siendo esta especializada a:

1.  Jugador ( un hombre/mujer  que controla mediante mando/teclado  el luchador.

2. Maquina ( un luchador que lo maneja el ordenador, actualmente  tiene un comportamiento un poco mecánico.

Si tengo tiempo y soluciono problemas mayores  Intentaré meterle una AI en condiciones.

Un saludo.

HE APRENDIDO QUE NADA ES IMPOSIBLE Y TAMBIÉN QUE CASI NADA ES FÁCIL.

Anónimo

Año nuevo, Menu nuevo

Publicado en Uncategorized por xfighter en Enero 2, 2010

Hola a todos camaradas.

Estoy “la mar” de contento con el proyecto poco a poco vamos mejorando,aunque la cosa va lenta ( por culpa de mis estudios ).

He avanzado bastante pero queda muchisimo por hacer, Roma no se hizo en un día.

Avances:

  • Por fin un menú
  • Nuevos jugadores ( falta todavía por subir a la forja )  y por supuesto GPL.
  • Mejorado los controles ( pero aún petan , hay que mejorar el autómata y organizar el spagetti formado después de varias madrugadas y noches desvariantes )
  • Introducida formas de juego contra la máquina (pero aún no hay IA, que digo aún no se mueve la máquina, solo hay una clase Máquina ).

Retos para el Nuevo Año

  1. Introducir un modo contra la máquina
  2. Mejorar el búfer para las magias y movimientos especiales.
  3. Introducir un modo de entrenamiento contra objetos y jugadores , a modo de tutorial.
  4. Introducir un modo eliminatorio
  5. Introducir un menú para controlas los controles del teclado o joystick totalmente funcional ( ahora esta dibujado )
  6. MEJORAR LOS GRÁFICOS E INTRODUCIR EFECTOS guapos en todo lo que son las magias, movimientos etc..
  7. Mejorar los controles hasta que no quede ningún Bug ( con el mando analógico del joystick maltratando y dando a lo loco a los botones a veces me casca.

Un saludo a tod@s.

NO NOS ATREVEMOS A MUCHAS COSAS PORQUE SON DIFÍCILES, PERO SON DIFÍCILES PORQUE NO NOS ATREVEMOS A HACERLAS.

Lucio Anneo Séneca

La jugabilidad y otras mejoras ….

Publicado en Motor del juego, version_operativa por xfighter en Diciembre 23, 2009

Ahora me encuentro mejorando la jugabilidad y sincrnnizando el escenario  y  su movimiento.

Tarea un poco peñazo ;-)

Sin embargo estoy avanzando bastante en estas vacaciones y me estoy centrando en perfeccionar lo que ya tengo hecho, para luego someterlo a una fase de pruebas , con mis amigos ( que es allí donde saco mis fallos y los mejoro )

He introducido una mejora en Jugabilidad, debido a que he tenido en cuenta dos cosas :  “El autómata” ya definido  y las pulsaciones de los mandos o teclados.

Un aspecto a mejorar es el buffer de los eventos, ya que debido a las prisas inexplicablemente se confunden los bufferes de ambos jugadores, una vez que termine este contratiempo y generalize las llaves , movimientos especiales y magias , tendre por fin una pequeña Beta.

Las colisiones es otra de las asignaturas pendientes ya que el sistema esta muy automatizado , en la clase Colisiones y cuando salta y golpeas pueden pasar cosas extrañas

NO NOS ATREVEMOS A MUCHAS COSAS PORQUE SON DIFÍCILES, PERO SON DIFÍCILES PORQUE NO NOS ATREVEMOS A HACERLAS.

Lucio Anneo Séneca

Versión para windows

Publicado en Uncategorized por xfighter en Diciembre 17, 2009

Por alguna extraña razón que investigaré en breve , mi proyecto de wxdev++ no compila si no le pongo un Winmain e incluyo windows.h . cosa extraña, pero la quiestión es que ahora funciona.

dejaré un fichero proyecto de wxdevc++ en el directorio gnu_xff/trunk.

ahí dejo unas cuantas imagenes:

Ahora me dedicaré a meter efectos de sonido y algún que otro personaje nuevo. que esta el juego un poco soso, y encima hay moviminetos que no tiene animación este personaje.

Un saludo a todos.

LA MAYOR PARTE DE LOS FRACASOS NOS VIENEN POR QUERER ADELANTAR LA HORA DE LOS ÉXITOS.

Amado Nervo

Wiki de GNU XFF

Publicado en version_operativa por xfighter en Diciembre 12, 2009

He  sacado un wiki que complementada con este blog espero que le sirva al usuario.

La wiki al igual que este blog estará en continuo desarrollo.  pensad en la wiki como el sitio ideal para tener conceptos de como se juega, se instala , etc.. y en el blog como un contenedor de noticias, detalles técnicos , inquietudes etc…

Enlace :

http://gnuxfreefighter.wikiole.com/Inicio

Un saludo a tod@s.

Lo difícil no es encontrar la verdad: es organizarla.

Gnu XFF en diferentes Sistemas Operativos

Publicado en Uncategorized por xfighter en Diciembre 8, 2009

Ahora como debido al curro debo estar en windows todo el tiempo  usando por supuesto software libre  : wxwidgets junto con un IDE bastante bonito llamado  wxDevC++, que es como el devc++ de  toda la vida pero incluyendo un enterno tipo Borland para formularios , etc …

Yo he instalado la SDL , en el Dev c++ anteriormente  pero en wxDevC++ este es una maravilla , así que cuando haya pasado el proyecto a este entorno, a lo mejor ya me planteo hacer un manual de instalación en condiciones y una wiki, para ambos sistemas operativos ( windows y GNU/linux  ) .

Además  como ahora le estoy cogiendo un poco de mania a ubuntu , a lo mejor veís en próximos videos al juego rulando en otras distribuciones como  slaxzenwalk.

GRANDE ES EL ARTE DE COMENZAR, PERO MAYOR ES EL ARTE DE CONCLUIR.

Henry Wadsworth Longfellow

Zona de Pruebas: Bugs y jugabilidad

Publicado en version_operativa por xfighter en Diciembre 3, 2009

Ante todo darle las gracias al principal Player que  ha participado conmigo de manera desinteresada, sin él no hubiese encontrado ni la mitad de los bugs y ahora mismo estaría seguramente con otro proyecto:

Gracias  Alfonso, conocido por nuestros amigos Alfonso Porras :-) .

La técnica que he usado para las pruebas  es ir escribiendo un fichero  global “registro.txt” todo lo relevante que iba pasando: valores de los estados, acciones .. etc , de manera que cuando Alfonso y yo jugabamos  y el juego “petaba o hacia algo extraño” siempre podia echar el vistazo a ese fichero”.Así he encontrado centenas de bugs ( no exagero ) .

Mi gran fallo fue que me lancé muy pronto a programar, entonces me pregunté lo siguiente:

¿ Seré capaz de hacer un juego de lucha ?

Esta claro que me puse a programar sin haber echo un análisis  ni diseño  serio , sin documentar , simplemente guiándome de los pseudocódigos que fui escribiendo  un cuaderno.

La cosa se empezó a poner fea ,  fallos cuando te cubres , cuando saltas y aprietas otro botón , cuanto te agachas y le das adelante ….. etc , he tenido  que crearme un autómata , controlar el búfer del teclado , vaciarlo, en fin el que ve la documentación un poco lo verá.

Ahora mismo me encuentro un poco de parón y pensando como quitaré varios bugs  y comportamientos anómalos como el cubrirse  que no se comporta nada bien, como el movimiento del escenario ( que en versiones antiguas del juego se mueve , pero no muy bien que digamos ) …etc … a ver si me acuerdo y publico todos los bugs ;-)

Lo bueno que ya por fin una vez que realicé  un  análisis y  un diseño  medianamente buenos y ayudado por el bendito Doxygen , me han echo que  “yo mismo” ,imagínate el lector de mi código ( pobre mortal ….) ,entienda el código.

Moraleja y consejo de un pobre aprendiz de programador o violador de segmento:

Para un proyecto medianamente grande: Análisis y Diseño obligatoria, documentar te ayudará. Y sobre todo a la hora de las pruebas buscarse a un amigo o alguien ajeno a tu proyecto  para que pruebe tu software.

Un saludo a todos.

PREFIERO EL BASTÓN DE LA EXPERIENCIA QUE EL CARRO RÁPIDO DE LA FORTUNA.

Pitágoras

Nuevo Concurso Universitario del Software Libre

Publicado en Uncategorized por xfighter en Noviembre 30, 2009

Hola , como sabéis he inscrito mi proyecto al nuevo concurso del software libre , la verdad que con mucha ilusion y con un buen sabor de boca del año pasado , por que importante fue que aprendí tanto de mis pocas virtudes como de mis múltiples errores.

Quiero dejar claro que os encontraréis un código , ya algo documentado  con Doxygen , estructurado de manera lógica siguiendo OO.  El cual tiene ya un año de trabajo casi, aunque ese trabajo sea de fines de semana, tiempos libres etc , si que puedo decir que este año quiero entregarlo como proyecto fin de carrera para ya por fin ser titulado en  ingeniería técnia en informática.

Me gustaría estar más activo este año que el año pasado y por ello empezaré con buen pie escribiendo este post y muchos muchos más ….

Un saludo a Tod@s

DALE VALOR A LAS COSAS NO POR LO QUE VALEN, SINO POR LO QUE SIGNIFICAN.

Gabriel García Márquez

Explicación de un combate

Publicado en Motor del juego por xfighter en Agosto 24, 2009

lucha_diag

La lucha se desarrollara de la siguiente forma

class Escenario {

Jugador uno,dos;

vector<Magia> v_magia;

void listen_(){

mover( uno);

mover( dos)

mover ( magia)

comprobar_colisiones( uno,dos,v_magia);

calcular_daños( uno,dos,v_magia);

}

void Ejecuta_(); // cambia estados y aplica los cambios

void dibuja(); // dibuja la pantalla , las magias y los personajes

};

Así me queda un sistema un poco más acoplado que lo que yo esperaba, en realidad este diagrama es una simplificación de lo que pasa en realidad, por que  las colisiones dependen del Subsistema de colisión que en mi caso yo lo he modelado como una clase la cual pertenece a cada jugador y que hace corresponder estado-> vector< SDL_Rect >  y con funciones estaticas  para poder ver si una magia ( con su propio SDL_Rect para sus colisiones ) colisiona con el cuerpo de jugador.

Pero estas comprobaciones las hace La clase escenario la cual tendrá control sobre jugador mediante una interfaz defina por un objeto, llamemoslo estado_comun, que no solo controlará eso , sino que muchas más cosas, esta clase merece una explicación mucho más detallada , pero será más adelante.

cambia_estadps

Bueno, un saludo a todo el mundo y  a ver si tengo la beta para octubre totalmente funcional.

PUEDE CONSIDERARSE BIENAVENTURADO Y NO PEDIR MAYOR FELICIDAD EL HOMBRE QUE HA ENCONTRADO SU TRABAJO.

Thomas Carlyle

Página siguiente »