Learning NES Pixel Art with restrictions

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

Post Reply
User avatar
Fjamesfernandez
Posts: 57
Joined: Thu Oct 01, 2015 5:34 pm
Location: NYC

Learning NES Pixel Art with restrictions

Post by Fjamesfernandez »

First off, I want to say, "Hi" to everyone being that I am new here :D

So what am I doing here? For the past years I've been working on nothing but High Res Pixel art for MUGEN. Ignoring the hell out of Low Res sprites, but the pass recent months (while helping two of my friends) I started to work on Low Res sprites. The Lowest of them all with super limitations... NES SPRITING! Ha-ha I would be lying if I didn't want to smash my keyboard for how limited your space and colors are :(

So for doing things like this:

Image

To NES Graphics, its stabbing my brain out :D I give nothing but respect and praise to though who can workout the limitations the right way. So here I am trying to do the same thing. Lets just hope it goes the right way.

Now, since I've been helping those two, I went back to continue writing my story that I had stopped the process a few years back... Well more than a few :shock: and decided to make an RPG out of it for none other than the NES! Mind you though, I have very little knowledge on what can and can not be done on the NES and I didn't want to bother the other two with my 101 questions. I am a pixel artist, not a coder. But I want to design with the mind set of a coder because I think it is very important for a pixel artist and a coder to be on the same page.

Right now I just want to get the graphic design part down and worry about the rest later but I would still like to know if certain things can be done. I was hesitant to show the first opening world/stage that I've been working on for the past week... or was it two? Ha-ha

I had to update and tweak things a few times before getting it right and have no palette issues >< I felt like exploding after words >< Everything here was done from scratch other than researching tiles and what not to do and things to avoid. All I have every sprited was characters. This is my first time doing environments/stages.

<Training 1 by myself FJF> :D

One of my questions I had was, is it possible for the NES have a time cycle? Or should it just be triggered in an event?

<Environment Time Cycles>

As I am designing I always ask myself if certain things can be done but not being a coder or fully understanding the limitations and no one to turn to this is where you guys come in :D I don't want to post up progress after progress, but I will when I have certain ideas that I am not sure if the NES can handle it. I just dont want to design stuff and then having to scrap it. Its a waste of time lol

In Mugen all you do is sprite/animate and the rest is up to the coder. As a spriter you dont need to worry about much other than keeping your animations together with the palette and not worry about much of any limitations.

Thank you for taking the time on reading this post and I hope you guys and gals like what you see. Thoughts and comments are welcome as always.
Last edited by Fjamesfernandez on Mon Sep 02, 2019 1:31 am, edited 1 time in total.
User avatar
darryl.revok
Posts: 520
Joined: Sat Jul 25, 2015 1:22 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by darryl.revok »

is it possible for the NES have a time cycle?
Definitely. Friday the 13th has a day/night time cycle, as does Simon's Quest, although the latter tends to catch a lot of flak for stopping the game to perform the palette change.

I'm guessing you're pretty aware of the palette and size limitations. Also, keep in mind that you only have access to 256 8x8 background tiles at one time.

Looking like a good start so far! Good luck with NES development. If you need help, don't hesitate to ask. The beginning is always going to be the toughest part.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by tokumaru »

Fjamesfernandez wrote:One of my questions I had was, is it possible for the NES have a time cycle? Or should it just be triggered in an event?
That's a funny question for an artist to ask, since it has nothing to do with art! Anyway, any computer that can do games can simulate the passage of time. It's just a matter of incrementing a counter at a fixed interval. Then, when the counter reaches specific values it can trigger events, like palette changes/animations or anything else, really. What you can't do is have time pass while the console is off. For that you'd need a clock (and a battery to keep it running) in the cartridge that could be read by the program. Some Pokemon games on the GBC had that. It's possible to create a cartridge like that for the NES, but AFAIK, it hasn't been done yet.

BTW, the sprites are looking good so far. :)
User avatar
Fjamesfernandez
Posts: 57
Joined: Thu Oct 01, 2015 5:34 pm
Location: NYC

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by Fjamesfernandez »

@ darryl.revok:
Definitely. Friday the 13th has a day/night time cycle, as does Simon's Quest,
Wow, I have completely forgot about FT13 and I never got to play Simon's quest, but that's good to know.
I'm guessing you're pretty aware of the palette and size limitations.
Yes. A friend of mine took his time to explain it to me. It took me a little to understand all of it. You basically have 4 palette groups. Pal(1) - Pal(2) - Pal(3) - Pal(4) That's 16 colors with transparency included. So you only have three colors in each palette. One of my palettes is strictly for my Hub the other 3 is for my environments. The character sprites aren't included.

Reason why I asked was because one, its your classic random battle so there wont be any visual monsters running around (still a thought) but I did wanted to include certain mobs that you can see at specific times in the game.
keep in mind that you only have access to 256 8x8 background tiles at one time.
Hmmm... yes the gif you saw was 256x240 if that's what you meant. I just enlarged the gif so you guys can see it clearly.
Looking like a good start so far! Good luck with NES development. If you need help, don't hesitate to ask.
Thank's :D will do. Love your pixel art animations too. I looked at some of your work a few days ago while doing my research :D
The beginning is always going to be the toughest part.
Oh how I know this very darn well. Took me 10+ years to craft my spriting. Hell I am still learning. There's no end.

-------------------------------------------------------------------------------------

@ tokumaru:
That's a funny question for an artist to ask, since it has nothing to do with art!
I can't help it! That's how I stress myself out to the fullest. Every time I work on an animation I think to myself is it possible or is it going to cause issues. Well not every time but you get what I mean.
Then, when the counter reaches specific values it can trigger events, like palette changes/animations or anything else,
Great! I was worry of two things. (1) that if a person is camping for a mob in a stage that you couldn't make the cycle go through unless you zoned out and came back. (2) If only way to cycle was that the nes would had to do like a loading screen and thought that would mess you up while in a random battle where it kicked you out of the fight or something like that haha. See what I mean? I over think things.
What you can't do is have time pass while the console is off. For that you'd need a clock (and a battery to keep it running) in the cartridge that could be read by the program. It's possible to create a cartridge like that for the NES, but AFAIK, it hasn't been done yet.
Oh don't temp me! I am known to take on challenges haha
BTW, the sprites are looking good so far
Thank you. The char sprites are just place holders at the moment until I crank out a sprite style. Kinda hard with such limited space >< but I have to over come them.
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by dougeff »

Re:256 tiles. I think you're misunderstanding. The background is constructed from arranging tiles. The PPU has access to 256 unique ones for background and 256 unique ones for sprites, at any given time.

Technically, you could have more than 256 on screen...by swapping ROM banks mid-frame, but very few NES games do this.

The same for Sprite colors, technically you can layer sprites on top of each other, so you could have a sprite that uses 6 colors (2 sprites on top of each other). But, the NES is very limited with sprites, so use this only sparingly. It is more common to have a character constructed out of sprites that use different palettes...like head one palette, shirt one palette, pants a third palette.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by dougeff »

So, for the boy walking that you posted...
1st palette pink, orange, brown...most things
2nd palette yellow, white, black...face/hair
3rd palette 2 blues, white...pants and socks
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by Kasumi »

This is a thing I wrote a while ago for pixel artists about NES stuff: http://wayofthepixel.net/index.php?topi ... #msg115062 (I've been meaning to update it to make it easier to read. Also, wow, broken image will try to find the original.)

That post links to this post, which may be a little easier to digest: http://wayofthepixel.net/index.php?topi ... #msg144531

Here's another somewhat similar topic: viewtopic.php?f=21&t=10808

NES is somewhat complicated in that different cartridges can make the limitations different.

Your NES art seems to be falling into the trap of making the grid very obvious. While yes, NES graphics are tiled, it doesn't necessarily need to look quite like that.

Check out some of surt's work: http://pixeljoint.com/pixelart/96743.htm
Or ptoing's: http://pixeljoint.com/pixelart/80652.htm (Sorta breaks some rules, but still good reference.)
And then there's this for a darker, late game style: http://imgur.com/a/kUrra

I only mention this because your non NES art is good, and your NES art is very, very basic. People starting out with tiled graphics tend to draw inside the grid. Instead, try drawing stuff regularly (with color limitation in mind) and edit it to fit the grid later for a more organic look.
User avatar
darryl.revok
Posts: 520
Joined: Sat Jul 25, 2015 1:22 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by darryl.revok »

Hmmm... yes the gif you saw was 256x240 if that's what you meant. I just enlarged the gif so you guys can see it clearly.
That's the proper resolution but that's not what I was talking about. You've got 32 x 30 tiles on your background, so that's a total of 960 background tiles that are displayed on the screen at one time. (I suppose to be pedantic you could say it's possible to have more than that showing if some are half scrolled in.)

What I was saying is that the background tiles that are being drawn all have to come from a maximum table of 256 tiles. You may already know this, and I don't think your images have a problem with this, I'm just pointing it out in case you didn't know.

The NES will be able to access a total of 512 8pixel x 8pixel graphic tiles at one time. (These can be switched in and out with mappers, but there will still always be a total of 512 at a time) Half of the tiles are for sprites and half are for backgrounds, hence 256 tiles for backgrounds. So, that makes it difficult to do something like a full image for the background without repeating. It CAN be done (like in Smash TV) but it's advanced.
Love your pixel art animations too.
Thank you! The ones you saw on here are most likely older ones that I've replaced. I just started with this a couple months ago and I'm still learning. It's been several years since I've drawn much to be honest. I used to do screen printing.

I looked down through your Mugen animations. Your stuff is really good. I like the girl with the suit and Katana. You shouldn't have much trouble getting into this. One thing I do is make little rules for my drawings to keep things for consistent. Like, I never draw an outline pixel on a corner, except for special exceptions when I'm trying to define an object that's not thick enough to have color. Or like, I never have my arms progress in a diagonal line without an adjacent horizontal or vertical pixel. I don't know if that made sense, but the point is that I find it helps a lot to have my own set of rules to make design consistent. There's a lot less to work with with lower pixel resolution as I'm sure you've noticed.

And if you're drawing a curve, always be mindful of the length of your "steps". Like, don't have a step that's three pixels and then one that's two and then one that's three. You probably won't have any problem with this. Your drawing skills are a bit above mine. :)
that if a person is camping for a mob in a stage that you couldn't make the cycle go through unless you zoned out and came back.
I'm not sure if I understand this. Obviously the NES has limits, but you have a lot of freedom to program your time to cycle however you want it. I haven't heard anything about how you'd want this to happen that would be impossible for the NES.
If only way to cycle was that the nes would had to do like a loading screen
Games like Simon's Quest tend to make people think this is true, but it's not the case. AVGN even pointed out that it wasn't necessary to do so in Simon's Quest because FT13 didn't.

What has to happen is that you have to go into an NMI. This happens once every 60th of a second, I believe. So, it's not hard to make this happen in real time. You just can't make it happen at the point in your logic that the program realizes this needs to happen. Let me try to explain that better. You get to a point in your game logic where your time counter triggers a palette change. Since you're not in NMI at that very millisecond, you set a flag that you program can check in NMI to know to do the palette change at the proper time.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by tokumaru »

Fjamesfernandez wrote:Great! I was worry of two things. (1) that if a person is camping for a mob in a stage that you couldn't make the cycle go through unless you zoned out and came back. (2) If only way to cycle was that the nes would had to do like a loading screen and thought that would mess you up while in a random battle where it kicked you out of the fight or something like that haha. See what I mean? I over think things.
These exceptions have to be taken into consideration by the programmer and dealt with in a way that doesn't cause trouble. The system itself will not impose any limitations regarding these things. Every behavior is possible, it just has to be explicitly programmed into the game.

If the game is in a state where certain actions shouldn't be triggered, a simple solution would be to not check the time at all when in that state. Then, when going back to the state that is supposed to handle those actions, just check if the time is more than the time when the actions should have been triggered, and handle everything retroactively.

Anyway, these are just the rules of the game, and the programmer is free to implement practically any rules they want.
Oh don't temp me! I am known to take on challenges haha
Well, it would certainly be interesting to see an NES game with a real-time clock... :)
User avatar
Fjamesfernandez
Posts: 57
Joined: Thu Oct 01, 2015 5:34 pm
Location: NYC

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by Fjamesfernandez »

dougeff wrote:Re:256 tiles. I think you're misunderstanding. The background is constructed from arranging tiles. The PPU has access to 256 unique ones for background and 256 unique ones for sprites, at any given time.
Umm, that's when I get lost >_> I am not going to lie (Uncomfortable laugh) that just sounds to me as 256 unique sprited tiles that are broken up to make one puzzle (canvas). which to me if I were to count each tile on the stage, it would be around 900 tiles. So in other words that stage would be cropped ingame... Brain exploding >< But I guess this is what you mean. If so, would it be something that you can have the camera to scroll with the player rather than loading each zone?

Image
dougeff wrote:The same for Sprite colors, technically you can layer sprites on top of each other, so you could have a sprite that uses 6 colors (2 sprites on top of each other). But, the NES is very limited with sprites
That I know. Rule is you cant have more than 8 sprites on the same horizon (Scan line) any more than that will cause the "Flicker effect". I thought about just one layer on top but thats it. See around the world it would work fine. but will cause issues when heading in places that may have NPCs around the area unless I put the NPCs in a way that wont cross each other to make the flicker, but still.

--------------------------------------------------------------------------------
tokumaru wrote:These exceptions have to be taken into consideration by the programmer and dealt with in a way that doesn't cause trouble. The system itself will not impose any limitations regarding these things. Every behavior is possible, it just has to be explicitly programmed into the game.
Nice to know so that I don't have to worry about things so much and just enjoy the art part lol
tokumaru wrote:these are just the rules of the game, and the programmer is free to implement practically any rules they want.
Well said.
tokumaru wrote:Well, it would certainly be interesting to see an NES game with a real-time clock... :)
We'll see. I never like to waste a programmers time waiting on artwork and animations to be done. What cant take a spriter years to do. A darn programmer comes in and puts in all in a matter of days or weeks ><
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by dougeff »

Maybe you could build a cart with a clock in it...that updates the SRAM with time information.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
darryl.revok
Posts: 520
Joined: Sat Jul 25, 2015 1:22 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by darryl.revok »

Umm, that's when I get lost
Did you see my explanation of this?

You have 960 tiles on the screen, but those 960 tiles must draw from a pool of 256 tiles. So you will have to use some tiles multiple times. It appears that you did this.
any more than that will cause the "Flicker effect"
Technically, you have to program the game to make sprites flicker. Their default behavior is to disappear.
A darn programmer comes in and puts in all in a matter of days or weeks
The programmer who builds an NES RPG in weeks must be the best NES programmer of all time. :D
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by lidnariq »

tokumaru wrote:Well, it would certainly be interesting to see an NES game with a real-time clock... :)
Although they're quite expensive, you can get special battery-backed RAMs that include a physical real-time clock.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by Kasumi »

Fjamesfernandez wrote:
Umm, that's when I get lost >_> I am not going to lie (Uncomfortable laugh) that just sounds to me as 256 unique sprited tiles that are broken up to make one puzzle (canvas).
That's exactly what it means. You can only have 256 UNIQUE 8x8 pixel areas in your level.

This may help. These 256 tiles:
Image
are used to draw this map (Ignore the Mega Man sprite.):
Image
The tiles are colored by a palette, and then placed in the map. (simplified)
Your map can be as large as you like, as long as it doesn't have more than 256 unique 8x8 pixel areas. (There are exceptions, but forget about those until you understand the concept better.) When a new area is loaded, this new area can use a different set of 256 unique tiles. This is how different stages of Mega Man have different looks.
Rule is you cant have more than 8 sprites on the same horizon (Scan line) any more than that will cause the "Flicker effect".
A bit pedantic, but having more than 8 sprites per scanline doesn't cause flicker. It causes additional sprites to simply not be drawn. Flickering is the programmer's response to this, so that different sprites end up not being drawn. If the programmer did nothing, one object might end up entirely hidden, instead of it only being hidden on certain frames. The hardware does not flicker sprites automatically.
User avatar
Fjamesfernandez
Posts: 57
Joined: Thu Oct 01, 2015 5:34 pm
Location: NYC

Re: Learning NES Limits, Pixel Art, & wat can & can not be d

Post by Fjamesfernandez »

dougeff wrote:So, for the boy walking that you posted...
1st palette pink, orange, brown...most things
2nd palette yellow, white, black...face/hair
3rd palette 2 blues, white...pants and socks
Yeah got it, though that would drive me crazy. Just an animation I did that the cape had to be in another layer made the animation longer to do haha.
Kasumi wrote:I only mention this because your non NES art is good, and your NES art is very, very basic. People starting out with tiled graphics tend to draw inside the grid. Instead, try drawing stuff regularly (with color limitation in mind) and edit it to fit the grid later for a more organic look.
Thanks for the links. I will study them. The reason why I got so stuck on grids was because I was trying to avoid using too many colors on things. I have a habit of over detailing things and I was trying to force myself to think in smaller space. I will work on this definitely. Thanks for pointing that out.
darryl.revok wrote:Did you notice....
Yup I did. Sorry about that. Didn't notice the post at first while I was replying to the other stuff haha. but yeah things are really getting cleared up now. Thanks
lidnariq wrote:Although they're quite expensive, you can get special battery-backed RAMs that include a physical real-time clock.
Cool. Well I am not worried about the cost atm. Right now just focused on getting the art done along with the story and other stuff before we get to the money part haha.
Kasumi wrote:The tiles are colored by a palette, and then placed in the map. (simplified)
Your map can be as large as you like, as long as it doesn't have more than 256 unique 8x8 pixel areas. (There are exceptions, but forget about those until you understand the concept better.) When a new area is loaded, this new area can use a different set of 256 unique tiles. This is how different stages of Mega Man have different looks.
Got it! so even if you a do a little camera scroll (IE Zelda) you can only use those 256 loaded tiles for that screen area until you zone out to the next area where it will load another set.
Last edited by Fjamesfernandez on Fri Oct 02, 2015 10:59 am, edited 1 time in total.
Post Reply