Ver la versión completa : H.E. Ahora hay choques
He dado vuelta y media al codigo segun hemos decidido Race, YotA y yo.
1.- Se ha dividido el fuente 'process.c' en varios segun el objecto que manejan. Ahora existe 'hero.c', 'robot.c' y 'bloq.c'. De este modo cada programador se puede hacer cargo de uno o varios fuentes. Sera necesario un fuente para cada tipo de nuevo objeto.
2.- La estructura 'object' tiene nuevos miembros: back_x, back_y son las posiciones anteriores al proceso (sirven para retroceder en caso de choque). Tambien existen las funciones variables process y collision. La primera funcion se ejecuta en cada frame para todo objeto visible(+holgura) y la funcion 'collision' se ejecuta cuando un objeto choca con otro. En las dos funciones se pasa el puntero al objeto (this) y para la segunda funcion se pasa tambien el puntero al objeto con el que choca (other).
3.- Las iniciaciones de los objetos se realizan todas en la misma funcion init_process dentro de 'process.c'. Esto tendra sentido cuando se carge desde disco el mapa de la pantalla.
Si algun cambio no os parece bien o sencillamente quereis hacer cualquier comentario, podemos discutirlo por aqui o por #gp32spain.
Bueno, como alguien me pregunto como dibujar fuentes en la pantalla, ahora se puede ver las vidas y los puntos, a modo de ejemplo.
Para visualizar los choques, si el heroe choca contra una caja este se para pierdiendo su velocidad y suma un punto. Si un robot choca contra una caja, este se para, pero si choca contra el heroe ademas se pierde una vida.
¡Esto cada vez se parece mas a un juego!
;)
Como va siendo ya habitual dejo el codigo fuente y tambien la version ejecutable (carpeta gpmm/ dentro del RAR).
msjavier
11/09/2003, 09:31
Saludos a todos los geperos !!
Me parece genial lo que estais haciendo entre todos, seguid asi. ;)
Por cierto que intento probar el juego con el geepee32 0.40 y no me sale nada, se queda todo entre negro y blanco.
Yo llevo un par de semanas haciendo un jueguecillo, y ahora me he decidido por usar las sdl, pero tambien me pasa lo mismo al intentar ejecutarlo con el geepee. Solo con inicialicar SDL e intentar cargar una imagen me pasa, se queda todo en negro pasando a blanco de vez en cuando.
Hay algun problema con las SDL y el geepee o es que estoy haciendo algo mal.
Supongo que tienes creada la imagen SMC con las imagenes que quieres visualizar.
Escrito originalmente por msjavier
Saludos a todos los geperos !!
Me parece genial lo que estais haciendo entre todos, seguid asi. ;)
Por cierto que intento probar el juego con el geepee32 0.40 y no me sale nada, se queda todo entre negro y blanco.
Yo llevo un par de semanas haciendo un jueguecillo, y ahora me he decidido por usar las sdl, pero tambien me pasa lo mismo al intentar ejecutarlo con el geepee. Solo con inicialicar SDL e intentar cargar una imagen me pasa, se queda todo en negro pasando a blanco de vez en cuando.
Hay algun problema con las SDL y el geepee o es que estoy haciendo algo mal.
msjavier
11/09/2003, 09:56
No, las pase a un array con el gp32converter.
Con el api de la gp32 me funciona perfectamente pero ahora que me he puesto a ver como van las sdl me he dado cuenta de que parte del trabajo que tenia hecho lo tenia ya con las maravillosas SDL, y posiblemente mucho mejor implementado.
Asi que me he puesto a portarlo y me encontrado con lo que comente en el otro post. Pensaba que era cosa mia pero ya no se que pensar.
O te refieres a que tengo que hacer una smc con el fxe y las imagenes del filmat ?
No se, la verdad es que yo lo tengo todo metido en el ejecutable. De momento me resulta mas comodo.
Chui, una cosa a ver si sabes que puede ser
Al compilar el fuente me sale el ejecutable y tal, detecta colisiones y tal, pero me ocupa 20k menos y me sale un cursor de raton en una de las esquinas (y el juego va mucho mas lento XD). Esto solo pasa si lo compilo yo, aunque no me da error ni na de na, o es una tonteria o me veo reinstalando las librerias XD
msjavier-> O bien creas la imagen SMC con todas las imagens en gpmm/filmat o bien cargas las imagenes con SDL_LoadBMP_RW para cargarlas desde memoria.
Yota-> Perdona pero tengo ciertos bugs en la beta2 de SDL que ya tengo solucionado; no puedes poner double buffer. Aparte la paleta de 16bits no es correcta. Estoy esperando a desarrollar un nuevo core de sonido con dma para publicar una nueva version. Si me acuerdo, esta noche dejare por aqui el precompilado de la libSDL.a solucionando estos problemas.
msjavier
11/09/2003, 11:06
Pues lo he probado y me sigue pasando.
Incluso me he bajado un programilla de pureba (sdltest) y al ejecutarlo se me queda la pantalla en negro, luego blanco y luego me sale el logo de SDL now!!. Y asi sucesivamente.
Es como si no funcionara bien el doble buffer o que el repintado fuera demasiado lento.
Bueno, no se, seguire usando el api de la maquina y mas adelante lo volvere a intentar con las SDL.
De todas formas muchas gracias por la ayuda y sigue con las SDL, que tienen pero que muy buena pinta. ;)
Saludos !!!
El sdltest hace eso exactamente, sarcarte el logo de SDLnow. Es solo un test. Si t sale una y otra vez es porque no hay puesto reboot.
Aun asi, hay un bug en el doublebuffer.
CUANDO ESTE EN CASA OS POSTEO EL PRECOMPILED !!!
msjavier
11/09/2003, 11:45
Vale tio, muchas gracias.
Ere un monstro !!!!
Tengo unas ganas de tener algo dencente del juego para poder enseñarlo ...
Acabo de oir la musica y oye, es pegadiza la jodia XDDD
Hay un cachito que me suena a Intro y todo jajaja
ya he separado por un lado el bloq.c que se encarga unicamente de determinar con que bloque esta chocando, y luego tengo las funciones por cada tipo separadas
De momento solo esta el movable.c para objetos "arrastrables", pero estoy WIPeando para pensar en objetos originales que sorprendan un poco para los mapas nuevos.
WIP
cuando tengamos la funcion de laser, un objeto reflector, que cambie la direccion, tengo un par de ideas para idear puzzles utilizandolos para conseguir pasar de pantalla... pero todo es cuestion de probar y probar
Pensando en una funcion de pulsador(unicamente activable por la piramide, cuando la haya claro xD)
Objetos destrozables por el laser, con un contador de estado (cosa de un momento en cuando este el laser.c)
Barreras de energia (experimentando con ellas esta noche XD)
Con mis modificaciones meto el txt diciendo las 4 tonterias que voy haciendo y lo que estoy pensando, que lo sepais mas que nada
Joe tio, pues sigue pensando que lo de los reflectores esta mu bien.
De todas formas, creo que lo mejor es hacer el primer nivel igual que el juego original y luego otros 4 o 5 mas nuevos.
Por lo que tenemos que tener al menos todos los objetos del juego original... luego todo lo que se nos ocurra.
Pues si no me dejo alguno los originales son:
1.- Barriles, se pueden arrastrar o mover a disparos
2.- Columnas de cristal, no se mueven
3.- Columnas destrozables, con disparos las destruyes
4.- Bloques, no se pueden arrastrar, pero con disparos las puedes mover
5.- Fueguecitos, no se mueven, pero te quitan energia si los tocas
Esta noche he estado probando ademas de las barreras (que me sirven de complemento), teleporters, que me dan mucho juego tambien.
Otra cosa, los disparos, seran 3 tb de tope , y que al impactar los puedas volver a disparar? curiosidad mas que nada
Podriamos una vez implementado el laser, comenzar a mirar la estructura del archivo ascii donde estara el mapeado. Asi despues podremos hacer experimentos mas completos con objetos moviles y estaticos
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.