Bennu Game Development

Foros en Español => Proyectos => Topic started by: DCelso on December 01, 2008, 04:03:23 PM

Title: manic miner
Post by: DCelso on December 01, 2008, 04:03:23 PM
hola a todos,
no se como me lié a investigar un motor para hacer juegos tipo manic miner y he ido depurando poco a poco el sistema hasta tener algo bastante estable, el problema es que he mezclado muchas técnicas, tanto de mapas de durezas como de colisiones como mezcla de ellas,  de animaciones y de sistema de baldosas (tiles). Y claro he llegado a un punto en que yo entiendo el código a la perfección y no soy capáz de imaginarmelo de otra forma.

Bueno el problema es que lo veo demasiado complejo para el proyecto APAGAME4BE y necesitaría que me ayudasen los expertos en simplificar un poco el código con técnicas alternativas más sencillas, cambio de nombre de variables o ideas distintas en la implementación.
He intentado de que sea lo más descriptivo posible.
Una cosa chula que me ayudaría sería algo al estilo de lo que hace osk con los códigos fuente que pilla de otras personas y explica linea a línea. Osk si quieres ayudarme con ello te lo agradeceré.
Dejo aquí el fuente y contadme que os parece.

Gracias de antemano a todos.
Title: Re: manic miner
Post by: SplinterGU on December 02, 2008, 05:23:51 PM
vamos a echarle un ojo...
Title: Re: manic miner
Post by: SplinterGU on June 03, 2009, 11:34:09 PM
este al final no quedo en nada?

Lo probe ayer, y:

1) despues de morir 3 veces sale con un error de un proceso que no se puede acceder.
2) la vuelta del bicharraco que va de aca para alla, da un salto y en un momento esta caminando sobre el aire.
3) el salto de wally como que se hace muy grande o largo.
Title: Re: manic miner
Post by: DCelso on June 03, 2009, 11:52:40 PM
Tío ni me acordaba de que puse este post.
Pues tendría que analizarlo, viendo la fecha, creo que hice más cosas después de ella.
De todas formas me quedé a medias en una reimplementación más sencilla, a ver si lo retomo y lo inserto al apagame4be
Title: Re: manic miner
Post by: SplinterGU on June 04, 2009, 12:50:43 AM
para eso mismo rescate este post... ;)

esta muy bien, merece la inclusion.
Title: Re: manic miner
Post by: DCelso on June 15, 2009, 12:53:38 PM
Buenoo, a ver parece que no se usar un switch case, resulta que tengo programado lo mismo con elseifs y va y en cuanto lo cambio a swicth case casca que da gustito :(.
A ver quien puede ayudarme.
De camino, si podeis ayudarme a facilitar el código mejor que mejor, tengo algunas cosas quen no me gustan del todo y me failtan algunas cosas por implementar que agradecería ideas porque estoy ahora mismo espeso espeso sin ideas :(.
A ver:
* animar las cintas.
* cuando saltas con el minero hacia algún obstáculo de ladrillo macizo y no da justo en el pixel de control de frontal, lo atraviesa, queda feo.
* estructuras para guardar los datos.
Gracias de antemano.

El motor es facilote, usa una imagen de tiles para dibujar el escenario y luego una imagen de durezas de los mismos tiles donde cada color representa un tipo de colisión distinta.
Title: Re: manic miner
Post by: DCelso on June 17, 2009, 03:52:45 PM
Veo que no interesa nada el manic miner :D
Title: Re: manic miner
Post by: laghengar on June 17, 2009, 04:14:31 PM
 No he podido mirarlo :S
Title: Re: manic miner
Post by: SplinterGU on June 17, 2009, 05:39:11 PM
(DCelso) Por que dices eso?
Title: Re: manic miner
Post by: laghengar on June 17, 2009, 09:30:07 PM
Joder, no he visto nada, he tratado de encontrar el error acotándolo, pero es que va dando saltos y así cuesta dar con ello. Los switch y case me han parecido que están perfectos. Si no es un bug, vas a tener que volver a hacer el código de otra forma. Pero no te aceleres que puede ser por una tontería.

Un saludo y suerte.
Title: Re: manic miner
Post by: mz on June 23, 2009, 05:26:38 AM
Creo que el problema está en que antes tenías algo así:
[code language="bennu"]case T_MINER_PART2 , T_MONSTER_PART2 , T_MONSTER_PART3 , T_MONSTER_PART4:
// no hacer nada[/code]

Y luego lo cambiaste por:
[code language="bennu"]case T_MINER_PART2 , T_MONSTER_PART2 , T_MONSTER_PART3 , T_MONSTER_PART4:
deadly_object (i,j,tile_data[j]);[/code]

No me he puesto a mirar el resto del código, sólo quería hacer funcionar la última versión para probarlo. Está genial, espero que lo continúes. :)

Dejo adjunta la versión con este cambio y algunas otras cosas menores.
Title: Re: manic miner
Post by: DCelso on July 09, 2009, 11:10:01 PM
Con respecto a los swith case ahora va bien con las últimas versiones de bennu, ya no se si por casualidad se ha corregido o bien fue corregido a posta o simplemente fue fallo mio y he corregido algo sin querer :D.

En cuanto a lo que dices, mz, si te das cuenta en el "tileset", la imagen con todos los sprites, los números para t_miner_part2, t_moster_part2, etc son partes de un objeto ya creado por lo que no hay que tratarlas, es decir, al leer t_miner_part1 creo el objeto minero completo por lo que, en teoría no debería leer nunca t_miner_part2 ya que no necesito crear al minero por segunda vez y por tanto, por seguridad si leo ese sprite no debo hacer nada ni crear objeto ni dibujar en el mapa. Lo mismo pasa con el monstruo.
Lo que puse para crear un objeto mortal "deadly_object" era para hacer pruebas, por lo que debe de ir comentado.