User Tag List

Página 4 de 4 PrimerPrimer 1234
Resultados 46 al 53 de 53

Tema: Cuando un Atari STE se cree una NeoGeo

  1. #46

    Fecha de ingreso
    Sep 2005
    Mensajes
    11,851
    Mencionado
    181 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    260
    Agradecer Thanks Received 
    639
    Thanked in
    Agradecido 451 veces en [ARG:2 UNDEFINED] posts
    Claro, cuando he dicho lo de bajar los FPS no había tenido en cuenta que se usan los 60fps para emular 30fps reales, pero con colores diferentes, y que se mezclen en la retina. A lo mejor a 40fps sí que se ve demasiado obvio el truco, pero si no fuera por eso, si se usasen las paletas "normales", el poder tener enemigos tan tochos funcionando a 30 fps, para esa máquina, por lo que tengo entendido, sería un logro impresionante.
    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. #47

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    2,739
    Mencionado
    79 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    162
    Agradecer Thanks Received 
    406
    Thanked in
    Agradecido 244 veces en [ARG:2 UNDEFINED] posts
    Actualización con muchas de las mejoras a nivel del driver gráfico,

    ahora sólo se redibujan los tiles del escenario que de verdad hacen falta; aquellos que están bajo los sprites, o que van a estar bajo los sprites no se redibujan. Se mantiene casi todo el tiempo a 50 fps, las ralentizaciones son muy puntuales. Más o menos salen en pantalla hasta la mitad de sprites que saca una NeoGeo (si consideramos el fondo como scroll, que en una NeoGeo no es así).

    Por otra parte, dada la masiva cantidad (o tamaño) de los sprites, he prescindido del overscan; me gustaba mucho disponer de 240 líneas, pero el truco exige perder un tiempo de CPU totalmente necesario; me habré de conformar con 200 líneas; con una pantalla de 320x200

    He podido capturar el audio, aunque he tenido que hacerlo por separado y luego juntarlos; el sonido que vais a escuchar está en 8 bits a 12.5 KHz (hasta 4 voces, aunque en esta demo apenas se usan 2 voces); y se escucha así de bien


  3. Los siguientes 5 usuarios agradecen a masteries este post:

    fbustamante (22/07/2020), Karkayu (22/07/2020), romeroca (22/07/2020), selecter25 (22/07/2020), swapd0 (22/07/2020)

  4. #48

    Fecha de ingreso
    Feb 2005
    Ubicación
    Málaga
    Mensajes
    1
    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
    Esté muy currado. Ya quisiera yo saber hacer eso

  5. #49

    Fecha de ingreso
    Sep 2005
    Mensajes
    11,851
    Mencionado
    181 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    260
    Agradecer Thanks Received 
    639
    Thanked in
    Agradecido 451 veces en [ARG:2 UNDEFINED] posts
    Seguramente lo que voy a decir no aplique a este tipo de scrolls con chorrocientos colores, tiles muy detallistas, y seguramente ya hayas pensado en ello, pero no está de más comentar la idea por si acaso:
    ¿Has tenido en cuenta, al pintar la nueva fila o columna en el buffer, si en dicha posición ya estaba pintado el mismo tile/imagen/maraña de puntos? Lo mismo te sirve para ahorrar algún ciclo de dibujado más, sobre todo si es un scroll tileado tipo SMBros.
    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%

  6. #50

    Fecha de ingreso
    Sep 2006
    Mensajes
    5,320
    Mencionado
    31 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    777
    Agradecer Thanks Received 
    763
    Thanked in
    Agradecido 555 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Drumpi Ver mensaje
    Seguramente lo que voy a decir no aplique a este tipo de scrolls con chorrocientos colores, tiles muy detallistas, y seguramente ya hayas pensado en ello, pero no está de más comentar la idea por si acaso:
    ¿Has tenido en cuenta, al pintar la nueva fila o columna en el buffer, si en dicha posición ya estaba pintado el mismo tile/imagen/maraña de puntos? Lo mismo te sirve para ahorrar algún ciclo de dibujado más, sobre todo si es un scroll tileado tipo SMBros.
    No es mala idea, me la apunto.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  7. #51

    Fecha de ingreso
    Sep 2006
    Mensajes
    5,320
    Mencionado
    31 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    777
    Agradecer Thanks Received 
    763
    Thanked in
    Agradecido 555 veces en [ARG:2 UNDEFINED] posts
    Por cierto ¿de que metal slug es ese tanque?, me parece un poco raro tiene como un cañón en la parte de las ruedas.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  8. #52

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    2,739
    Mencionado
    79 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    162
    Agradecer Thanks Received 
    406
    Thanked in
    Agradecido 244 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Por cierto ¿de que metal slug es ese tanque?, me parece un poco raro tiene como un cañón en la parte de las ruedas.
    Es un tanque no utilizado de Metal Slug 1; ese cañon raro es un lanzallamas que cuenta con su propia animación para la llamarada, que tampoco fué utilizada.
    Aún sin haber sido utilizado en el juego (ni en ningún otro metal slug), los datos de estos gráficos están presentes en la ROM de este primer juego de la serie.


    Como update de hoy:

    -Me he puesto a invetigar cómo tratar los "overrun", las situaciones en las que 1 fotograma tarda en dibujarse más tiempo del que se dispone para 1 fotograma, cuando tarde más de un retrazo vertical completo ( 1 VBL ).

    -Hasta ahora se producía una caída inmediata a 25 fps, ralentizándose en exceso y perdiéndose el efecto del coloreado dualfield.



    Solución:

    -Sabiendo como funciona, a muy alto nivel, el engine; con este esquemita:
    Editado: El esquema se ve como una m*****, ni con las etiquetas de code queda bien, pero se entiende. xD

    Esto: |-----------------------------. Representa el tiempo que tarde 1 cuadro en actualizarse y dibujarse en el buffer que le corresponde.


    Código:
    (1st frame)                          (odd)                                         (even)                                (odd)
    VBL_IRQ                               VBL_IRQ                                    VBL_IRQ                              VBL_IRQ
    |        (Frame time)                |                                             |                                       |
    |-----------------------.        |-------------------------------------------.      (Time Lost)   |---------------------------.
    -He podido recuperar el tiempo perdido, y poder utilizar el Time lost para empezar a dibujar el siguiente cuadro.

    -Como mejoras, el juego ya no se ralentiza tanto, y se mantiene el efecto del dualfield.

    ->Problema, como el shifter está tomando un framebuffer donde aún no se ha terminado de dibujar todo, aparece un efecto en los sprites parecido al de la consola NES cuando pones más sprites de los que esta puede dibujar.

    -Para ralentizaciones momentáneas, el truquito funciona bien, porque un pequeño parpadeo de algunas partes en algunos sprites, bueno es pasable.
    Hay que estudiar el añadir un frameskip para estas situaciones.


    -Falta por completar y añadir la detección de que un sprite no se está moviendo, para no tener que redibujarlo. Esto también ayudará en muchas situaciones.
    Última edición por masteries; 23/07/2020 a las 19:33

  9. Los siguientes 3 usuarios agradecen a masteries este post:

    fbustamante (23/07/2020), Karkayu (23/07/2020), selecter25 (23/07/2020)

  10. #53

    Fecha de ingreso
    Sep 2006
    Mensajes
    5,320
    Mencionado
    31 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    777
    Agradecer Thanks Received 
    763
    Thanked in
    Agradecido 555 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    Es un tanque no utilizado de Metal Slug 1; ese cañon raro es un lanzallamas que cuenta con su propia animación para la llamarada, que tampoco fué utilizada.
    Aún sin haber sido utilizado en el juego (ni en ningún otro metal slug), los datos de estos gráficos están presentes en la ROM de este primer juego de la serie.
    Hala!, a desperdiciar memoria XDXDXD

    Para que no baje entre 50hz y 25hz una solución suele ser el triple buffer, pero en este caso por eso de usar dos pantallas para representar ¿necesitarías 6? eso seria una burrada.

    Tal vez lo mejor sea que tengas dos zonas de código, uno que hace toda la IA, mover protagonista, etc, y la otra solo de dibujado. Cuando se termina un Frame deberías poder ejecutar la parte del calculo para el siguiente pero te tienes que esperar antes del código de dibujado si no se ha producido un vbl.

    PD: lo malo es que la parte de la lógica ocupara muy poco (incluso en un juego real terminado) en comparación con la parte de dibujado.
    Última edición por swapd0; 23/07/2020 a las 20:24
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

Página 4 de 4 PrimerPrimer 1234

Permisos de publicación

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