• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

How where when Metal slug sprites made?

This is impressive, but wouldn't it have been a lot easier and less expensive to have animators draw the characters ala Skull Girls? Can't understand why they felt the need to bankrupt themselves with the high res pixel art approach. I mean for KOF14 I thought for sure they'd use the KOF12/13 sprites and simply add five or six new characters into the mix along with a few new backgrounds; the fact that they decided to completely abandon all of those assets and start from scratch in 3D is rather telling.

Do you think they salvaged the 3d models tho?
 
also interesting video for the thread on metal slug sprite layering

https://www.youtube.com/watch?v=-2PiaH8CO64
I've never seen this before and it's really interesting. What really intrigued me the most is that the two render planes are used for the main character and the enemies, and they constanly flicker between them. It's like the even frames of animation (or sync refresh) are drawn on layer one, and odd frames are on the layer two.

My best guess as to why this is done is that it makes it possible to render things twice as fast, as the process of drawing on these layers is something probably hardware accelerated, so while the graphics hardware draws on one layer, you prepare stuff on the CPU that's going to go to the other layer on the next frame etc.
 
Bit by bit. Literally. There were only like 64 colors. They just used hex numbers for the colors they wanted and put them in a grid.

I can't imagine that software developers would not write a simple tool for drawing sprites before actually coding them directly through hex numbers.
 
How was original super mario bros made? I always wondered this

Ancient photoshop?
I know on C64 at least there were some sprite editors. You'd get a grid and you put colors in there, then it saves the sprite into the data stream that you can then use in your game. But early on, I'm pretty sure sprites were made using pen and paper grid, then entering numbers accordingly. I did that for a few sprites on C64, it wasn't that time consuming tbh. because sprites were small.

As for the backgrounds in those games, they were practically always done using reusable blocks that could be tiled, and sometimes color-swapped. An example is the infamous cloud = bush in SMB.
 
I can't imagine that software developers would not write a simple tool for drawing sprites before actually coding them directly through hex numbers.
They could have. It would have been proprietary and probably output it as code they could put in the game code as assembly.

I'm sure by the time SMB3 came along they had proper tools though.
 
I can't imagine that software developers would not write a simple tool for drawing sprites before actually coding them directly through hex numbers.

they did. I'm not sure the exact editor they used for the early NES games, but this is the one they used for SMB3:

sVysgv5.jpg


And this is an unreleased retail version of the SMS Graphics Board, which is similar to a sprite editing software and hardware they used for the master system:

nQl2Rzv.jpg


Z0HoVWh.png


PshWHUQ.png
 
Was phothoshop even available to these guys at that time?
What software did they use?
What method did they use, did they draw than scan the art and turn it into pixels?

Photoshop was definitely available, but SNK (and most likely Irem/Nazca by extension) used their own in-house software to create art assets. There probably wasn't anything magical about these tools though, mainly that they were tailored towards stuff like palette and sprite restrictions for the hardware they were developing for (Neo Geo in this case).

Based on the concept art that is out there it's not conclusive wether they scanned and drew over it, or if they just started created from scratch. Either way, there's an inhuman amount of talent at display, from everything to backgrounds to vehicle design to character animations. There's no "cheating" the way this game looks, it's pure craftmanship by people at the peak of their abilities.

3Kn71DQ.png
002b.gif
 
tumblr_inline_nplcoqCycL1ri065t_500.gif

Man, as it sways back and forth, the detail never loses its sharpness. Every line is perfect on every frame, there's not a sign of some unnatural looking pixel jitter anywhere, even though there's like a thousand animated components in just that one sprite...

Now imagine if you take a static image from that animation, load it in Photoshop and rotate by one degree. Lol.
 
tumblr_inline_nplcoqCycL1ri065t_500.gif

Man, as it sways back and forth, the detail never loses its sharpness. Every line is perfect on every frame, there's not a sign of some unnatural looking pixel jitter anywhere, even though there's like a thousand animated components in just that one sprite...

Now imagine if you take a static image from that animation, load it in Photoshop and rotate by one degree. Lol.

I might be wrong about this particular sprite, but I believe the neo geo could free transform sprites via code without any need for the artist to animate rotating sprites or angled sprites.

for example there is this one part on metal slug where you can use the tank on the very edge of a cliff and you will notice that the sprites are completely different when the tank is tilted.

Also some interesting sprites effects can be seen whenever the player chooses to continue, the character sorta scales from the sky to the ground into position.

If you see the bridge gif from metal slug snow stage, is something out of this world.
 
I might be wrong about this particular sprite, but I believe the neo geo could free transform sprites via code without any need for the artist to animate rotating sprites or angled sprites.

for example there is this one part on metal slug where you can use the tank on the very edge of a cliff and you will notice that the sprites are completely different when the tank is tilted.

Also some interesting sprites effects can be seen whenever the player chooses to continue, the character sorta scales from the sky to the ground into position.

If you see the bridge gif from metal slug snow stage, is something out of this world.

The neo geo has no support for sprite rotation.
 
The neo geo has no support for sprite rotation.

Okay, now I'm not sure if your familiar with nearest neighbor options on phothoshop
but if you rotate any metal slug sprite by one degree it would destroy the look, how is it possible for the neo geo to keep the sprite in it's actual uniformed sequence? 0_0
 
Okay, now I'm not sure if your familiar with nearest neighbor options on phothoshop
but if you rotate any metal slug sprite by one degree it would destroy the look, how is it possible for the neo geo to keep the sprite in it's actual uniformed sequence? 0_0

er, because they're drawing it all by hand.

The sprite you're looking at isn't many individual sprites being rotated and tweened, it's all one sprite that has many frames of animation.
 
er, because they're drawing it all by hand.

The sprite you're looking at isn't many individual sprites being rotated and tweened, it's all one sprite that has many frames of animation.

Sorry, perhaps I didn't explain myself properly,
I wasn't referring to any sprite in particular, I was talking about how if you rotate (say) the tank of metal slug via phothoshop using Nearest neighbor (only tech I know that keeps the pure pixels format) it destroys the sprite. but when the neo geo does the rotating (via code,using only one sprite) the sprite remains perfectly drawn with very little to no destruction of the actual place of the pixels.

I hope that made more sense :/
 
Sorry, perhaps I didn't explain myself properly,
I wasn't referring to any sprite in particular, I was talking about how if you rotate (say) the tank of metal slug via phothoshop using Nearest neighbor (only tech I know that keeps the pure pixels format) it destroys the sprite. but when the neo geo does the rotating (via code,using only one sprite) the sprite remains perfectly drawn with very little to no destruction of the actual place of the pixels.

I hope that made more sense :/

the neo geo isn't rotating. The neo geo has no ability to do that. They actually drew all the frames of rotation by hand.

but, to your general question - there are many ways to rotate an image using math, and different rotation techniques produce different visual artifacts. Nearest Neighbor is an interpolating algorithm for rotation - each rotation produces new interpolated pixels. This makes it considered a noisy (as opposed to lossy) scaling method. It takes the original image and adds new information to it through interpolation.

You can apply a pure, non-interpolated rotational matrix to pixel positions and not produce any visual artifacts at all if you wish. It all depends on the rotation algorithm one is using, and which algorithm you are using depends on many circumstances, such as speed and accuracy.
 
Sorry, perhaps I didn't explain myself properly,
I wasn't referring to any sprite in particular, I was talking about how if you rotate (say) the tank of metal slug via phothoshop using Nearest neighbor (only tech I know that keeps the pure pixels format) it destroys the sprite. but when the neo geo does the rotating (via code,using only one sprite) the sprite remains perfectly drawn with very little to no destruction of the actual place of the pixels.

I hope that made more sense :/

I don't think you understand what Krejlooc was saying. The Neo Geo didn't support sprite rotation the way you describe, only scaling. The reason why it looks "perfectly drawn" is because they drew all those frames (or used a rotate function in their art tool and then cleaned it up pixel by pixel, same difference).
 
I forget what game, but there was one that basically rotoscoped 3D models. It looked very, very nice. I don't mean cell-shading, they went in by hand and pixelized the image the 3D model was creating for them.
 
I forget what game, but there was one that basically rotoscoped 3D models. It looked very, very nice. I don't mean cell-shading, they went in by hand and pixelized the image the 3D model was creating for them.

Probably the most notable game to do this is the modern King of Fighters games.
 
I might be wrong about this particular sprite, but I believe the neo geo could free transform sprites via code without any need for the artist to animate rotating sprites or angled sprites.
I know what you mean, but even if NeoGeo had some hardware based sprite rotation support (which I don't think it did, it had scaling though) or if they used a CPU for sprite rotation like some Amiga games did - that would usually create some stray pixels around the edge that I don't see on that sprite. Still, I'm not excluding the possibility that the cannon tower was made to sway using a technique like that. Still, seeing how many other things are animated on that tower (like changing shadows etc) I doubt it.

You can apply a pure, non-interpolated rotational matrix to pixel positions and not produce any visual artifacts at all if you wish. It all depends on the rotation algorithm one is using, and which algorithm you are using depends on many circumstances, such as speed and accuracy.
I think that's what nearest neighbour does. It doesn't interpolate pixels creating blurry looking pixel art. Actually, surprisingly enough, that metal slug sprite rotated by 2 degrees in Photoshop using nearest neighbour, looks very respectable. Rotating it by 1 pixel however introduces some stray pixels around some of the edges - but only very few. I don't think it's entirely impossible that the gun tower on that lobster sprite was swaying using some CPU-driven sprite rotation (some Amiga games were able to accomplish that, despite hardware having no support for it - MC68000 had enough grunt to do it), although I think it's unlikely.

*edit* Oh wow - Nearest Neighbor does in fact interpolate, I've just witnessed it, it just doesn't interpolate the color, so there's no blurryness added. When you do free transform in Photoshop, the realtime preview of that is a simple matrix transform, which ruins edge lines of the sprite in many places. But when you apply the change, final transform looks way, way better, with most of those ruined edges nicely cleaned up. Although that makes it very clear to me that no kind of realtime rotation available to NeoGeo would be able to produce results that are as clean as the actual sprite we see above is. It's an open and shut case IMO that the rotation was manually animated, even if the big enemy sprite was a multi-sprite composition.
 
Very obviously layering of some sort.

It's a single layer sprite, and the number of independently rotating segments would be impossible to perform in software on the m68k inside the Neo Geo.

Now, what is likely is the sprite was drawn in segments and combined using something like deluxe paint, but each segment would be hand tweaked. This is not tweening.
 
Given the amount of care you put into your OP, I'm surprised at what you expect of the people responding to your thread.

- where for were

- Metal slug

- put in OT instead of Gaming

Way to go, OP.
For whatever reason this post made me lose my shit for like 10 minutes. :lol
 
Very obviously layering of some sort.
While that may be so, I think the end result is rendered as a sequence of single layer images. You can see the rendered layers on the video posted earlier in the thread. Maybe it was just animated in a more layered fashion to preserve the sanity of whoever had to do it. To make the job at least a bit more bearable. Keep in mind also that the metal slug tank itself would animate using stretch and squish to some degree, so that was clearly done with every new frame having to be entirely different.
 
I think that's what nearest neighbour does. It doesn't interpolate pixels creating blurry looking pixel art. Actually, surprisingly enough, that metal slug sprite rotated by 2 degrees in Photoshop using nearest neighbour, looks very respectable. Rotating it by 1 pixel however introduces some stray pixels around some of the edges - but only very few. I don't think it's entirely impossible that the gun tower on that lobster sprite was swaying using some CPU-driven sprite rotation (some amiga games were able to accomplish that, despite hardware having no support for it - MC68000 had enough grunt to do it), although I think it's unlikely

Nearest neighbor itself actually describes the interpolation method. It interpolates the final pixel output using a single "nearest neighbor" pixel to a considered pixel. This produces a minimal amount of noise (you get 1 final pixel for every pixel considered) but you still interpolate your data.

What I was saying is that there are numerous ways to rotate, including ways that don't interpolate at all. The problem with doing that is your rotated image produces holes when doing this:

RzyOkPa.png


z1ZgrAe.png


This type of artifact is called Speckling. And it might be acceptable in certain situations. Really, the result of your rotation depends entirely on method and the method depends on the needed speed and accuracy.
 
Nearest neighbor itself actually describes the interpolation method. It interpolates the final pixel output using a single "nearest neighbor" pixel to a considered pixel. This produces a minimal amount of noise (you get 1 final pixel for every pixel considered) but you still interpolate your data.

What I was saying is that there are numerous ways to rotate, including ways that don't interpolate at all. The problem with doing that is your rotated image produces holes when doing this:

This type of artifact is called Speckling. And it might be acceptable in certain situations. Really, the result of your rotation depends entirely on method and the method depends on the needed speed and accuracy.
Yeah, edited my post with similar findings just before you posted that. You can see practically both things at work in Photoshop, before and after you apply the final transformation. That makes me wonder which technique was in use by the arcade hardware that had built-in rotation.
 
Very obviously layering of some sort.

Very obviously not so. The only thing on Huge Hermit that is layered are the effects such as the water and blast. There are no layers on the other enemy objects (for their idle animations anyway). You're welcome to go through Huge Hermit's VRAM data which I've conveniently uploaded here and here, but having used that myself to piece together those animations, I can tell you it's not.

An example of something that does use layers though is the Ohumein-Conga's attack animation, which has a layered arm.
tumblr_inline_o3f5qk0wwi1ri065t_500.gif


Also the Huge Locust's grabbing attack, which requires certain parts to be drawn overtop.
tumblr_inline_nv5kj8s4xZ1ri065t_540.png


EDIT: Also like a million other people have said, the NeoGeo can't do sprite rotation.
 
I know it's not really what you're asking for, but SNK talks a little bit about it on their KOF XII website to compare it to their new DOT ART method that they used on KOF XII and XIII.
 
Yeah, edited my post with similar findings just before you posted that. You can see practically both things at work in Photoshop, before and after you apply the final transformation. That makes me wonder which technique was in use by the arcade hardware that had built-in rotation.

Sega's old super scalar games apparently used inverse rotation, they would consider an array of pixels on the screen that need to be filled (X by Y) and figure the final pixel output based on an array of original, non-rotated pixels. The reason you get speckle errors in the first place is because you operate under the assumption that every pixel will run through a rotation formula and arrive at one final output location, but accuracy errors will sometimes produce pixels at the wrong spot. The speckles you see are pixels that are missing, being drawn in the wrong spot because of weird fractional errors. If you go backwards instead, you ensure no speckle, every pixel that should be filled is, and the process is fast and works itself well to being handled in hardware. It uses no interpolation.
 
If I recall the Sega Saturn version of Metal Slug came with a digital artbook full of unfinished sprites and pixel art.

Those SNK folks were frame by frame, pixel by pixel for sure.
 
Hardcoding. There weren't that many pixels, and the hardware was limited, so they hardcoded the sprites in using binary, from my understanding.

The sprites were created on paper, and then refined pixel by pixel using graph paper

Concept_art_for_Mario.jpg


super-mario-sprites.jpg


Allen-3.jpg


from there they would code each pixel in one by one on a grid (I would imagine, going that far back to the first Donkey Kong and Mario Bros. 1).



Oh, I don't really have a central repository of links to hand out, but you are pretty mistaken about EWJ. The sprites were not cleaned up between ports, and that's actually a really big problem with the SNES port. The two machines run at different resolution, and the machine rasterization they employed (called Digicell animation) was configured for the Genesis resolution. As a result of minimal touchup, the sprites actually run way too fat on the SNES. EWJ SNES looks really weird when running on a CRT, like everything is way too fat.

Yeah, Mortal Kombat had this issue on the SNES as well. The sprites were designed for the Genesis resolution and ended up really fat on the SNES. for MKII on the SNES, they squashed the sprites horizontally so they wouldn't look as wide when stretched to 4:3.

Sprites at native resolution:
DfBkhPl.png

(Genesis left, SNES right)

4:3:
SNES:
rIdEEET.png

Genesis:
yNwkCzQ.png


The SNES sprites were lower detail. I think they may have also did the same for the sprites in Earthworm Jim 2 for the SNES.
 
The Metal Slug games are impressive in how well they're animated and the sheer amount of frames they put on the cartridge. Though it was a NeoGEO game so the cartridge was bigger than a cinder block, but still.
 
The sprites were created on paper, and then refined pixel by pixel using graph paper

Concept_art_for_Mario.jpg


super-mario-sprites.jpg


Allen-3.jpg


from there they would code each pixel in one by one on a grid (I would imagine, going that far back to the first Donkey Kong and Mario Bros. 1).
This is awesome. Glad I kept reading (first few posts kinda turned me off the thread.)
 
from there they would code each pixel in one by one on a grid (I would imagine, going that far back to the first Donkey Kong and Mario Bros. 1).

Eh, thats the way people visualize the data because it's convenient, and matches the way it'll be output on screen, but that's not usually the case. The NES uses planar graphics, not chunky graphics, to save space. Where chunky graphics could be literally mapped in a grid, planar graphics must be spread across 2 8-bit bitplanes. This means a 4-color pixel can be represented in 2 bytes rather than 3 bytes.

Planar graphics work by treating each bit in a byte as a separate component of a binary number that is computed across n number of planes. so like so:

Code:
bitplane 1: 1 0 0 1 0 0 1 0
bitplane 2: 0 0 1 1 0 0 1 1

to see the resulting sprite data, you read top to bottom, to produce 8 pixels:

Code:
b1: 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0
b2: 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1
Re: 1 | 0 | 2 | 3 | 0 | 0 | 3 | 2

where each number of "Re" maps to 1 of 4 palette colors. This means the two bitplanes must be stored as sequential bytes, represented in hex:

byte 1: 10010010 = decimal 146 = $99
byte 2: 00110011 = decimal 51 = $33

thus, every 8 pixels horizontal is represented as two bytes, and are organized into tiles that are 16 bytes long. Our row of pixels above would be $9933. That would be the data they would be inserting into the binary. If we wanted to make a single tile of the row of pixels above, our sprite data would be $9933 $9933 $9933 $9933 $9933 $9933 $9933 $9933. That's one 8x8 tile.
 
It's a single layer sprite, and the number of independently rotating segments would be impossible to perform in software on the m68k inside the Neo Geo.

Now, what is likely is the sprite was drawn in segments and combined using something like deluxe paint, but each segment would be hand tweaked. This is not tweening.

but isn't it original made with layers, then exported as 1 single sprite? edit: duh thats what you said. nvm. lol
 
Top Bottom