Sprites with identical size. Source: Final Fantasy© game.

Sprites with identical size. Source: Final Fantasy© game.

Source publication
Article
Full-text available
This paper introduces a tool to semi-automatically generate meta-data from game sprite sheets. MuSSE is a tool developed to extract XML data from sprite sheet images with non-uniform – multi-sized – sprites. MuSSE (Multi-sized Sprite Sheet meta-data Exporter) is based on a Blob detection algorithm that incorporates a connected-component labeling sy...

Contexts in source publication

Context 1
... sheets in which all sprites have identical sizes can be loaded by indexing the sprites according to their position in the sheet: starting at 0 for the top-left image and increasing their width to get adjacent columns and their height for subsequent lines [1]. In Fig. 1, we see an example of a sprite sheet where sprites have the same size. Nevertheless, developers and artists will usually need to work with sprites with different sizes inside the same sprite sheet. In Fig. 2, we see an example of a sprite sheet with nonuniform sprite sizes: Since the programmer does not know every specific sprite ...
Context 2
... each pixel in selected area if current pixel is foreground Fig. 10 shows an input monochrome image and the result of the labeling process. We can see that the labeling process sometimes gives multiple labels to the same blob. One critical question is that the blob which is easily identifiable by human eye as a single blob is often interpreted by the algorithm as several distinct [14]. To understand ...
Context 3
... corresponding representatives. A representative is given by the minimum value in the table of equivalence, i.e. minimum label id compared to surrounding neighbors. That process is described below: That will guaranty that all equivalent labels are assigned the same region value. We can apply this to the examples shown in Section A. The example in Fig. 10 has the following table of label equivalence: As a result, the algorithm will reduce labels 1 and 6 to label 1, and labels 2, 3, 4 and 5, to label 2. Notice that labels 7 and 8 were excluded to simplify this illustration. See Fig. 11 for an example: Unfortunately, that won't work for all images. According to our algorithm, the images ...
Context 4
... labels are assigned the same region value. We can apply this to the examples shown in Section A. The example in Fig. 10 has the following table of label equivalence: As a result, the algorithm will reduce labels 1 and 6 to label 1, and labels 2, 3, 4 and 5, to label 2. Notice that labels 7 and 8 were excluded to simplify this illustration. See Fig. 11 for an example: Unfortunately, that won't work for all images. According to our algorithm, the images referenced by labels 7 and 8 ( Fig. 12) would both be reduced to label 7, however, the threshold value must be adjusted first. Selecting a small threshold will split the image into two different blobs: one for the whole image ...
Context 5
... table of label equivalence: As a result, the algorithm will reduce labels 1 and 6 to label 1, and labels 2, 3, 4 and 5, to label 2. Notice that labels 7 and 8 were excluded to simplify this illustration. See Fig. 11 for an example: Unfortunately, that won't work for all images. According to our algorithm, the images referenced by labels 7 and 8 ( Fig. 12) would both be reduced to label 7, however, the threshold value must be adjusted first. Selecting a small threshold will split the image into two different blobs: one for the whole image corresponding to label 7 and one for the small image corresponding to label 8. This will result in the following table of label equivalence: This ...
Context 6
... result in the following table of label equivalence: This happens mainly because we will be looking only at a small area around each pixel. Thus, we need to increase the threshold to look further away from each pixel, identifying separated parts: elements that are detached from the "main body" of the image. Applying the process to the example in Fig. 12 will result in the corresponding table of label equivalence: As a consequence, the algorithm will correctly identify labels 7 and 8 as belonging to the same sprite. This generates the blob displayed in Fig. 13. A more practical example on threshold values will be shown in Section IV-A. ...
Context 7
... pixel, identifying separated parts: elements that are detached from the "main body" of the image. Applying the process to the example in Fig. 12 will result in the corresponding table of label equivalence: As a consequence, the algorithm will correctly identify labels 7 and 8 as belonging to the same sprite. This generates the blob displayed in Fig. 13. A more practical example on threshold values will be shown in Section IV-A. ...
Context 8
... 1 can be activated by clicking and dragging the mouse over the image. This way, the Blob detection algorithm is only applied to that selection of the sprite sheet (Fig. 14). If the user chooses Option 2, the algorithm is applied to the whole sprite sheet image. Fig. 15 illustrate the process. ...
Context 9
... 1 can be activated by clicking and dragging the mouse over the image. This way, the Blob detection algorithm is only applied to that selection of the sprite sheet (Fig. 14). If the user chooses Option 2, the algorithm is applied to the whole sprite sheet image. Fig. 15 illustrate the process. ...
Context 10
... a new sprite for that animation, with their corresponding name, position and size. An animation is the quick succession of game images (sprites) to give the illusion of movement. Thus, those various animations are used inside a game to give entities the idea of movement: running characters, attacks, special effects, moving scenarios, and others. Fig. 16 shows an example XML with two animations. Example applications of MuSSE are shown in Fig. 17 and 18, where the Blob detection algorithm is applied to entire sprite sheet and to a subset of sprites: Fig. 19 shows a close-up from Fig. 18. The sprite sheet used for this example has sprites with low connectivity. In other words, sprites ...
Context 11
... is the quick succession of game images (sprites) to give the illusion of movement. Thus, those various animations are used inside a game to give entities the idea of movement: running characters, attacks, special effects, moving scenarios, and others. Fig. 16 shows an example XML with two animations. Example applications of MuSSE are shown in Fig. 17 and 18, where the Blob detection algorithm is applied to entire sprite sheet and to a subset of sprites: Fig. 19 shows a close-up from Fig. 18. The sprite sheet used for this example has sprites with low connectivity. In other words, sprites with detached parts from the "main body". As described in Section III, that particularity ...
Context 12
... are used inside a game to give entities the idea of movement: running characters, attacks, special effects, moving scenarios, and others. Fig. 16 shows an example XML with two animations. Example applications of MuSSE are shown in Fig. 17 and 18, where the Blob detection algorithm is applied to entire sprite sheet and to a subset of sprites: Fig. 19 shows a close-up from Fig. 18. The sprite sheet used for this example has sprites with low connectivity. In other words, sprites with detached parts from the "main body". As described in Section III, that particularity causes the smaller -disconnected parts -to be mapped as new blobs: As pointed out before, smaller thresholds for our ...
Context 13
... give entities the idea of movement: running characters, attacks, special effects, moving scenarios, and others. Fig. 16 shows an example XML with two animations. Example applications of MuSSE are shown in Fig. 17 and 18, where the Blob detection algorithm is applied to entire sprite sheet and to a subset of sprites: Fig. 19 shows a close-up from Fig. 18. The sprite sheet used for this example has sprites with low connectivity. In other words, sprites with detached parts from the "main body". As described in Section III, that particularity causes the smaller -disconnected parts -to be mapped as new blobs: As pointed out before, smaller thresholds for our connected-component method will ...
Context 14
... connectivity. In other words, sprites with detached parts from the "main body". As described in Section III, that particularity causes the smaller -disconnected parts -to be mapped as new blobs: As pointed out before, smaller thresholds for our connected-component method will result in a higher number of blobs in the selected image, as seen in Fig. 19. That problem can be solved by selecting a more suitable threshold for the ...
Context 15
... value starts at 1 (one) pixel and must be manually set according to the distance between the small parts and the sprite body. MuSSE will correct the bounding boxes for sprites with isolated parts if the threshold is adjusted to a higher value. For this example, a threshold of 8 (eight) pixels where necessary. As a result, the following sheet (Fig. 21) can be attained: MuSSE's XML is ready to be used into developers' engine but -as practical as it is -some compatibility adjustments are necessary in the suggested XML structure. These adjustments relate mostly to missing meta-data that might be required by some ...

Similar publications

Preprint
Full-text available
In this paper we present a near-complete dataset of over 3M videos from 61K channels over 2.5 years (June 2019 to December 2021) from the social video hosting platform BitChute, a commonly used alternative to YouTube. Additionally, we include a variety of video-level metadata, including comments, channel descriptions, and views for each video. The...
Article
Full-text available
Background: The Severe Acute Respiratory Coronavirus (SARS-CoV-2) has emerged in a variety of forms since its first appearance in early December 2019. The Omicron variation (B.1.1.529) was recently confirmed as a relatively new Variant of Concern (VOC). There are several mutations in this S-protein, making it an exclusively lethal version of the pr...
Preprint
Full-text available
Labeling and maintaining a commercial sound effects library is a time-consuming task exacerbated by databases that continually grow in size and undergo taxonomy updates. Moreover, sound search and taxonomy creation are complicated by non-uniform metadata, an unrelenting problem even with the introduction of a new industry standard, the Universal Ca...
Conference Paper
Full-text available
This article presents an innovative approach to metadata handling implemented in the ARCHE Suite repository solution. It first discusses the technical requirements for metadata management and contrasts them with the shortcomings of existing solutions. Then, it demonstrates how the ARCHE Suite addresses those problems. After one year of use, we can...