Creando gráficos para nes / dendy

Mis artículos anteriores hablan sobre cómo comenzar a programar para dandy en ensamblador. Aprendimos a dibujar sprites y fondos, también discutimos brevemente qué son una tabla de atributos y una tabla de nombres, también descubrimos cómo leer un controlador. En esos artículos usé chr del juego super mario bros 2 porque no era un artista, pero aún así para crear un juego tuve que buscar herramientas que me ayudaran a crear mis gráficos para el juego. Debajo del corte están las etapas de desarrollo de gráficos.






Me tomó bastante tiempo encontrar una herramienta para Linux para crear una tabla de nombres, después de un tiempo incluso comencé a escribir la mía propia en php. La idea era simple y ya estaba a punto de completarse. Es posible convertir una imagen bmp o png píxel a píxel. De izquierda a derecha 128 píxeles y de arriba a abajo 256 líneas. A continuación, determinamos el color de cada píxel, y puede haber solo 4 de estos y, dependiendo del color, establecemos los bits apropiados, cada píxel en el archivo chr se describe por 2 bits, de acuerdo con el siguiente principio:





  • color 0 = 00 = 00000000





  • color 1 = 01 = 00000001





  • color 2 = 10 = 00000010





  • color 3 = 11 = 00000011





Es decir, estos 2 bits son solo los 2 últimos bits del número de secuencia de color. En este caso, el color 0 en los sprites es un color transparente. En segundo plano, este es el color de fondo.





chr 2 , 128 128 . 1- ( ), 2- ( , ). , , node.js img2chr









$ npm install -g img2chr
      
      



2- 1- ( png), 2- chr





img2chr test.png test.chr
      
      



chr .





FCEUX

, FCEUX Windows, wine. , nametable attribute table .





, . 128256 8 , .





. .





, , , . , .





, , , . .









. . , , .









img2png test.png t.chr
      
      



. PPU $2004





  1. Y -













  2. X -









LDA #100 ;    A  100
STA $2004 ;    Y   $2004
LDA #$01 ;    1 (0- , 1- ) 
STA $2004 ;    
LDA #%00010110 ;  
STA $2004
LDA #100 ; x  
STA $2004
      
      



Y mi sprite se mostró en la pantalla. Eso no pudo sino alegrarse. Después de eso, saqué todos los sprites para dibujar al héroe, salieron 10 de ellos, por supuesto esta es una cantidad muy grande de sprites, ya que podemos llegar a las limitaciones del prefijo, por ejemplo, 64 sprites en la pantalla en al mismo tiempo, pero hablaremos de esto en los siguientes artículos.





Articulos anteriores:





  1. Programación NES





  2. Leer el controlador








All Articles