We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Dynamic Sprite: Difference between revisions

From SnesLab
Jump to: navigation, search
No edit summary
No edit summary
Line 1: Line 1:
{{Select Language|Dynamic_Sprite}}
{{Select Language|Dynamic_Sprite}}


WIP
A Dynamic Sprite is a Sprite that loads its own graphics into the VRAM (Video Memory of the Super Nintendo). This allows the sprite to use an unlimited amount of poses (animation frames) and to have a greater amount of enemy variety in a level.
 
It could also be considered a dynamic sprite if it loads other resources such as its color palette or tilemaps, in these cases it is usually differentiated using the term "Dynamic Palettes", "Dynamic Tilemaps", "Dynamic Background", etc.
 
== Why is a dynamic sprite system necessary? ==
The VRAM of the SNES is very limited, allowing only 64 kb of memory to be used for both level graphics, tilemaps and sprite graphics. If we consider the space that is only destined for sprites (Sprite Pages), in general games do not use more than 16 kb of VRAM for sprites, which is equivalent to a space of 128x256 that is divided between all enemies, characters, player or any entity made with sprites.
 
Also considering that sprites can only use 8 color palettes, a dynamic sprite system that includes dynamic color palettes is also necessary, since, with only 8 color palettes the amount of different enemies you can use in a level is reduced a lot.
 
To solve these problems what is done is to have a system of dynamic sprites that allows to change in real time both graphics and color palettes and thus not to have all these limitations at the moment of working with sprites.
 
== Aplicaciones Prácticas ==
Los sprites dinámicos tienen varias aplicaciones, lo más común es utilizarlos para el player de un juego, aunque en realidad podría ser utilizado para enemigos, bosses, decoración, etc.
 
Acá una lista de utilidades de un buen sistema de sprites dinámicos:
<ul>
<li>Disminuir Tiempo de carga de nivel: Dado que cada sprite carga sus propios gráficos, no es necesario que estos se carguen durante la carga del nivel.</li>
<li>Si añades un sistema de paletas de colores dinámicas, puedes usar cualquier sprite dinámico en cualquier nivel.</li>
<li>Poder tener Sprites con múltiples animaciones y poses sin preocuparse del espacio en la memoria de video.</li>
<li>Poder rotar o escalar sprites sin necesidad de modo 7.</li>
<li>Hacer Players, la mayoría de los sprites usados como player son casi imposibles sin usar sprites dinámicos.</li>
<li>Poder hacer sprites enormes con varias poses, usando técnicas de doble buffer se pueden cargar poses realmente grandes sin preocuparse por flickering.</li>
<li>Jefes: muchos jefes son imposibles de hacer sin sprites dinámicos.</li>
</ul>

Revision as of 20:50, 16 January 2024

English Português Español 日本語

A Dynamic Sprite is a Sprite that loads its own graphics into the VRAM (Video Memory of the Super Nintendo). This allows the sprite to use an unlimited amount of poses (animation frames) and to have a greater amount of enemy variety in a level.

It could also be considered a dynamic sprite if it loads other resources such as its color palette or tilemaps, in these cases it is usually differentiated using the term "Dynamic Palettes", "Dynamic Tilemaps", "Dynamic Background", etc.

Why is a dynamic sprite system necessary?

The VRAM of the SNES is very limited, allowing only 64 kb of memory to be used for both level graphics, tilemaps and sprite graphics. If we consider the space that is only destined for sprites (Sprite Pages), in general games do not use more than 16 kb of VRAM for sprites, which is equivalent to a space of 128x256 that is divided between all enemies, characters, player or any entity made with sprites.

Also considering that sprites can only use 8 color palettes, a dynamic sprite system that includes dynamic color palettes is also necessary, since, with only 8 color palettes the amount of different enemies you can use in a level is reduced a lot.

To solve these problems what is done is to have a system of dynamic sprites that allows to change in real time both graphics and color palettes and thus not to have all these limitations at the moment of working with sprites.

Aplicaciones Prácticas

Los sprites dinámicos tienen varias aplicaciones, lo más común es utilizarlos para el player de un juego, aunque en realidad podría ser utilizado para enemigos, bosses, decoración, etc.

Acá una lista de utilidades de un buen sistema de sprites dinámicos:

  • Disminuir Tiempo de carga de nivel: Dado que cada sprite carga sus propios gráficos, no es necesario que estos se carguen durante la carga del nivel.
  • Si añades un sistema de paletas de colores dinámicas, puedes usar cualquier sprite dinámico en cualquier nivel.
  • Poder tener Sprites con múltiples animaciones y poses sin preocuparse del espacio en la memoria de video.
  • Poder rotar o escalar sprites sin necesidad de modo 7.
  • Hacer Players, la mayoría de los sprites usados como player son casi imposibles sin usar sprites dinámicos.
  • Poder hacer sprites enormes con varias poses, usando técnicas de doble buffer se pueden cargar poses realmente grandes sin preocuparse por flickering.
  • Jefes: muchos jefes son imposibles de hacer sin sprites dinámicos.