User Tag List

Resultados 1 al 5 de 5

Tema: Motor tileado V3, Round 2.

  1. #1

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,058
    Mencionado
    265 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    927
    Agradecer Thanks Received 
    2,262
    Thanked in
    Agradecido 1,551 veces en [ARG:2 UNDEFINED] posts

    Motor tileado V3, Round 2.

    Holas de nuevo:

    Sorpresa sorpresa, hace tres días tuve un nuevo ataque de insomnio galopante, y tuve una revelación que me sirvió para resolver el problema que tenía con el motor de mapas tileados a modo de parche.
    Como la nueva version de Fenix se está retrasando con cada retraso de la Wiz, y aun no se ha dicho nada de que tambien salga un port para GP2X, me planteé la posibilidad de hacer este engendro mientras se solucionan los raros problemas que estoy teniendo.

    El problema estaba en cargar los mapas de tiles en memoria, porque por alguna razón, la sentencia alloc, que reserva el espacio necesario para guardar los datos, se vuelve loca y me escupe del programa. Pues bien, lo he solucionado usando mapas gráficos:

    Mediante un pequeño código, se convierten los TPR/TMF en FPG normales y corrientes, que guardan un mapa por cada capa. Cada mapa contiene en cada pixel el número del tile que debería ir en esa posición.
    Nos podemos beneficiar del hecho de que existen mapas de 8 y 16bits para almacenar mapas con datos de tipo byte y word, pero no int (tampoco es una gran pérdida, pues sólo pueden haber 1000 tiles por FPG). Otra pega es que el tamaño de los mapas de tiles ya no están limitados sólo por la memoria del sistema, sino tambien por las limitaciones del formato MAP (unos 4000 x 3000 pixels, pero consultadlo porque es fácil que me equivoque, aun así, 4000 x 3000 tiles creo que es suficiente para hacer un Super Metroid sin separar los mapas), y por último que "sólo" podremos usar 1000 capas.

    Pero no he terminado:
    Aunque me han reportado que el antiguo motor V3 fallaba, tengo una version de FenixLand que usa dicho motor y funciona, aun usando alloc, pero que hace cosas raras (el personaje se mueve a razón de cientos de tiles por frame). Y lo que es más sospechoso: intenté compilar la version antigua, la que si funcionaba (con el motor V2), y tambien me ha dado fallos.
    Es posible que haya algun fallo compilando en Wxp64 o con las versiones de UFenix que tengo, no lo se, tengo que mirarlo. Sobre todo, me extraña que en PC haya logrado una mejora de rendimiento del 200% de la version V2 a la V3, y en GP2X apenas se note mucha diferencia. Incluso portando el nuevo motor V3 a FenixLand, tengo los fallos que comentaba antes del personaje que se teletransporta.
    La prueba realizada con un enorme mapa, a 320x240, tiles de 32x32, y dos capas, no ha bajado, en ningun momento, de 70fps, con picos de hasta 120fps.

    En fin, que a ver si puedo hacer pruebas y aislo todo lo que pueda los fallos, porque esto es un cachondeo, y si veo que la cosa va bien, pues lo subiré sin falta.
    No obstante, si alguien quiere probarlo y/o buscar los errores, pues me lo decis y os subo los fuentes para que los mireis.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  2. #2

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    3,508
    Mencionado
    114 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    351
    Agradecer Thanks Received 
    1,281
    Thanked in
    Agradecido 641 veces en [ARG:2 UNDEFINED] posts
    Que grande Drumpi!!!; yo ahora mismo estoy a punto de publicar la fase 1 de mi juego, pero estoy refinando todo aquello que se me antoja un poco cutre...

  3. #3

    Fecha de ingreso
    Jan 2009
    Mensajes
    34
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Pinta bastante bien ^^ Como ya te dije estoy dispuesto a ayudarte en lo que pueda.

    Hoy que no trabajo intentaré ver si es viable mi "motor" mediante carga de sectores (en lugar de columnas o filas).
    - Firma Under Construction, disculpen las molestias -

  4. #4

    Fecha de ingreso
    Feb 2006
    Ubicación
    Frostonville
    Mensajes
    1,289
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    12
    Por mi parte, ya sabes Drumpi que yo ya he cumplido . Espero que mi regalo te anime a darle caña y a sacar el FenixWorld optimizado y a tutti pleni.

    Ya solo falta ue algún grafista te eche una mano con esos tiles (tu mismo lo admitiste xD)

    ¡Un saludete!
    Mi grupo: AntropofobiA Mis 8bits: PaK-Zer0

  5. #5

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,058
    Mencionado
    265 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    927
    Agradecer Thanks Received 
    2,262
    Thanked in
    Agradecido 1,551 veces en [ARG:2 UNDEFINED] posts
    Bueno, para que lo veais, aqui os dejo el código del motor de tiles, y tres ejemplos de uso. El primero está adaptado a GP2X, los otros dos no, sólo para PC. Podeis adaptarlos si quereis, pero incluso a 800x600 va a 30fps
    Probadlo compilándolo vosotros, porque a mi me da fallos, no se si por culpa del SO de mi ordenador, de la version de UFenix, o de algun error de código. Esta demo va de lujo (aunque debería ir más rápida) pero ya os enseñaré las cosas raras que hace el FenixLand DrumpiTileEnginev3.2 powered.
    Descarga
    < - >
    Bueno, pues una cosa más que os subo para probar: el FenixLand con el motor de tiles V3.2. Vereis que se vuelve loco. Para paliarlo he adaptado el "debug mode" a los botones L y R: pulsando R podreis recolocar la cámara usando el joystick y con el L volveis a tener el foco sobre el protagonista.
    Es curioso ver que se descontrola moviendo el personaje, y sin embargo, moviendo manualmente el scroll no. Tambien he visto que, colocando la parte superior izquierda cerca de un suelo, el personaje se queda de pie y responde bien a la dureza del suelo, pero en cuanto le coloco el foco y lo muevo, se descontrola, y lo más gracioso, si saltamos y miramos los datos de posición, hace unos saltos estratosféricos.
    Me gustaría que, dado que estoy inmerso en otras cosas y las tengo perdidas, que alguien pruebe las tres versiones de UFenix con el juego (la beta 1, la beta 2 y la 1.0) a ver si hay alguna mejora, o si alguien encuentra el fallo en el código del enlace anterior... Intentaré estos días echarle un vistazo al código de posicionamiento del personaje y ver si hago funcionar el motor V3 (ni que fuera un coche).
    FenixLandV32
    Última edición por Drumpi; 24/02/2009 a las 11:14 Razón: Edición automática anti doble-post.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •