AuthorTopic: NES Restrictions: Survival Mockup  (Read 7859 times)

Offline Mr. Fahrenheit

  • 0010
  • *
  • Posts: 326
  • Karma: +0/-0
    • View Profile

NES Restrictions: Survival Mockup

on: November 10, 2013, 06:14:59 am


I'm trying to make a mockup of a survival type game, where you run around and try not to die, pretty self explanatory. It takes place during the wild west time period, so the character is a cowboy type, with a horse. So far I'm using two of the four bg palettes, and two of the four sprite palettes.

Two main questions, Is making my tree a sprite a good idea? I was thinking it could get chopped down, and the sprite aspect of that would be useful, I'm not sure if background tile's can be removed. And can you have a sprites like the bison and horse I made? or would I have to shove them into an 8x8 box?

Besides that, just regular old C+C!  ;D

Offline VinceBetteridge

  • 0001
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
    • Vince's Blog

Re: NES Restrictions: Survival Mockup

Reply #1 on: November 10, 2013, 06:32:34 am
Most interactive elements are made into objects (or sprites) at the programming stage. What this means for you is that you would want the your objects (tree, bison, horse, etc.) and all their animations set to a sprite sheet with transparency. After the player harvests the tree it could be left in, but back in the NES days you needed every asset you had used for more important things. This is why you often saw objects either disappear immediately or fade away via blinking.

Offline Kasumi

  • 0010
  • *
  • Posts: 275
  • Karma: +1/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #2 on: November 10, 2013, 12:12:49 pm
Quote
I'm not sure if background tile's can be removed.
Sure. Every time Mario hits a block by jumping the background is getting updated. Blocks are even turned into sprites just to animate them. To bounce up, they need to not be aligned with the grid. So they're erased from the background, drawn as sprites moving up, then back down. When they're aligned again, they become part of the background again. Or, if he's destroying the block, the parts are exploded as sprites, and the block is removed from the background.

What you'd want for the tree depends. The biggest thing to think about is that the tree needs 7 sprites to be drawn, nearly 1/8 of the 64 that can be on screen at once. That said, it doesn't look like an environment where you'd need a lot of them. You could also make the top slightly less wide to use only 6 sprites. If it's in the background, you could fill an entire area with them the way Mario fills 1-2 with brick blocks.
Quote
And can you have a sprites like the bison and horse I made?
Yep, you get transparency for sprites. Different 8x8 parts of a larger sprite also don't have to be aligned in any specific way or be the same palette. Sprites are pretty free on NES.

It's definitely worth using an extra sprite (or two) to make the horse a little more horse like.

Quick edit using 1 extra sprite, don't be shy about extending upwards. Could use two extra sprites and make the legs super tall, which would be more reminiscent of a horse.
« Last Edit: November 10, 2013, 12:14:48 pm by Kasumi »
I make actual NES games. Thus, I'm the unofficial forum dealer of too much information about the NES

Offline Mr. Fahrenheit

  • 0010
  • *
  • Posts: 326
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #3 on: November 10, 2013, 07:45:31 pm
I'm having a hard time making a HUD for it. Can a hud use transparent tiles? or can they not show the playing field through the back of them.

I'm thinking having something like this



I'm not sure if It's possible to pull something like that off without extreme tweaking with the palette/ working around the limitations, though I guess thats half the fun. I'd probably also put something in the lower right to balance it out a little I guess.

Also, There's no god damn skin color, besides the one!

Offline Johasu

  • 0010
  • *
  • Posts: 187
  • Karma: +0/-0
    • @johasu232
    • Johasu232
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #4 on: November 10, 2013, 08:22:34 pm
A lot of the old NES games used a black border and placed their HUD within that. This was pretty common well into the SNES days as well.
I suspect it was because of the color restrictions and it allowed much more dynamic HUD styles as they didn't have to compete with the screen sprites and such.
Maybe this will help you?  Maybe not.  I thought I would put it forward though.

Edit:  If you made your transparent the black for the border?  Another thought.  :huh:
« Last Edit: November 10, 2013, 08:34:02 pm by Johasu »
Gallery:  http://johasu.deviantart.com/gallery/
Twitter:  @johasu232

Offline Kasumi

  • 0010
  • *
  • Posts: 275
  • Karma: +1/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #5 on: November 10, 2013, 08:26:19 pm
Quote
Can a hud use transparent tiles?
If it's made out of sprites. See Metroid's HUD. But of course, there are only so many sprites.

You could do what you've got in maybe 24 sprites if you shrink it a fair bit. (I'm thinking get rid of the portrait, 6 for each bar, 4 for each item slot, 4 for landscape.) That may not even be so bad considering how small everything is. Gotta watch palettes, though.

The other option is a Kirby's Adventure or Battletoads style HUD with a few things overlaid as sprites, as mentioned by Johasu.

Quote
Also, There's no god damn skin color, besides the one!
The NES palette is pretty bad. Not quite atrocious, but definitely bad.
« Last Edit: November 10, 2013, 08:30:29 pm by Kasumi »
I make actual NES games. Thus, I'm the unofficial forum dealer of too much information about the NES

Offline r1k

  • 0010
  • *
  • Posts: 270
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #6 on: November 11, 2013, 02:12:58 am
maybe you can use a combination of sprites and tiles for the HUD.  like this



so say, you want this filled in circle with transparency.  The pink squares could be tiles since they dont need transparency, and the green could be sprites since they do.  Just an idea.

For the skin I think you have to be willing to use exagerated colors if you want more shading.  This way you can dip into the darker reds or other colors for shadows.  Though itll need to be in the right context or it could just end up looking weird.

Offline Mr. Fahrenheit

  • 0010
  • *
  • Posts: 326
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #7 on: November 11, 2013, 05:13:29 am
Quote
A lot of the old NES games used a black border and placed their HUD within that.

@Johasu: Yeah, I was thinking of doing that.

@Kasumi: Hmm, for some reason I thought that HUD had to be made of bg tiles. That's nice to hear then. And thanks for the continued help!

@r1k: I had actually thought about that. Seems like the best of both worlds

What I have so far:



I feel like it might be using too many sprite though. You can only have 8 sprites per scanline, correct?

Offline Kasumi

  • 0010
  • *
  • Posts: 275
  • Karma: +1/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #8 on: November 11, 2013, 06:42:29 am
r1k, that works as long as the game doesn't scroll. If it does, the hud will scroll with the rest of the screen in an undesired way. Player walks 1 pixel, the game scrolls and the map (including the HUD) also moves because tiles must be tile aligned. (Well, of course the parts that are sprites wouldn't have to move, but them not moving would look even more odd.)


What's more, tiles are 8x8, but you generally only get one palette per 16x16 pixel region not 8x8. So in this case if one uses the hybrid approach, the HUD should be a cross of 16x16 squares instead of 8x8 squares, or the parts of the map you're using the sprite to show through could potentially be the wrong colors.

The reason games dedicate an entire horizontal bar is that if you lock scrolling for some of the vertical lines, anything that's the to the left or right of the HUD would also be locked.

The grass to the right of the HUD won't scroll because it occupies a horizontal line that's scrolling locked for the HUD.

The reason to use all sprites is they aren't confined to a grid and the scroll value. Not sure if this is a scrolling game or not, but more to think about before decisions are made.

Yes, only 8 sprites can be displayed on a scanline. The most you've got is 7 if you go all sprites, and going a few over is not a big deal. You just have to draw a different set of 8 each frame like this (for the example, the entire HUD is sprites):

(also, it'd be much faster, but webbrowsers don't like fast gifs)
If you go WAY over (to say... 16), only HALF the sprites on that scanline will be visible each frame. But it can be a different half every other frame. This is how quickly Mario in Super Mario Bros. blinks after he gets hit and he's still pretty easy to see during that period.

The scene you've got would be 66 sprites if the trees/HUD were to be all sprites. 51 if the trees aren't. Much like the scanline limit, going over is not necessarily a problem. But more than 64 can't be visible in a single frame.

Apologies if I'm getting annoying!
I make actual NES games. Thus, I'm the unofficial forum dealer of too much information about the NES

Offline r1k

  • 0010
  • *
  • Posts: 270
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #9 on: November 11, 2013, 07:38:29 am
thanks for the info.  I was thinking about games that dedicate a bar at the top of the screen for the hud, so I wasnt sure how scrolling worked for huds with tiles and all that.  Cool gif about the sprite flickering, I didnt realize thats how it worked.

Offline tcaud

  • 0001
  • *
  • Posts: 60
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #10 on: November 13, 2013, 12:47:42 pm
Are you making an NES game?

Offline Mr. Fahrenheit

  • 0010
  • *
  • Posts: 326
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #11 on: November 13, 2013, 09:28:45 pm
No, not unless someone wants me to. It's just a mockup exploring the restrictions.

Sorry about not making any updates, I've been busy.

Offline PypeBros

  • 0100
  • ***
  • Posts: 1220
  • Karma: +2/-0
  • Pixel Padawan
    • PypeBros
    • View Profile
    • Bilou Homebrew's Blog.

Re: NES Restrictions: Survival Mockup

Reply #12 on: November 15, 2013, 01:19:04 pm
couldn't the 2 bars be somehow merged into the "medal" icon ?

Offline tcaud

  • 0001
  • *
  • Posts: 60
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #13 on: November 17, 2013, 02:04:13 pm
NES restrictions can be summed up thus: 3 color sprites, 4 if you made use of the entire square, 6 colors if you are willing to settle for having either only two sprites onscreen or loads of flicker + major slowdown. Most people don't like NES graphics and only dealt with them because they were the best available at the time. The story is different for Genesis and SNES, so maybe you should consider those restrictions instead. The Master System is also much more capable.

And no, no one prefers that you make a game with NES restrictions. I'm glad the FF7 demake is over and I frankly hope it's the last NES demake we ever see.

And that goes for the GBC, as well.
« Last Edit: November 17, 2013, 02:10:25 pm by tcaud »

Offline Kasumi

  • 0010
  • *
  • Posts: 275
  • Karma: +1/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #14 on: November 17, 2013, 03:37:55 pm
Quote
NES restrictions can be summed up thus: 3 color sprites, 4 if you made use of the entire square
Nope. It's 3 colors (plus transparency) per hardware sprite always. As a matter of fact, filling the entire square with non transparency is even worse. Super Bat Puncher takes advantage of its mostly black backgrounds and uses transparency to use black in a sprite. (Like for the cat's eyes. If you look closely, his eyes change color if they're overlapping a non black part of the background.)
Quote
6 colors if you are willing to settle for having either only two sprites onscreen or loads of flicker + major slowdown.
Nope. As said above, it's 3 colors per hardware sprite always. Even assuming you're talking about sprite layering to get said 6, that would allow you to get up to 12 colors in the same area using only sprites.

Sprite layering doesn't limit your use of sprites to two (You still get 64 on screen), nor contribute any more to slowdown than just having a thing made of two non layered sprites (actually, it's probably usually less, but it depends on how you do it). The difference between layering one sprite and not adding an extra sprite is 0.15% of the CPU time available in a frame (44 cycles out of  ~29780) assuming it's directly overlaid over another previously drawn sprite. Even if you don't want to make that assumption, or assuming I'm missing something else, that time doubled is still slightly less than a third of ONE PERCENT of the time you have in a frame.

True about flicker, though, but two sprites vs one, or even four sprites vs two doesn't make that big an impact.
I make actual NES games. Thus, I'm the unofficial forum dealer of too much information about the NES

Offline tcaud

  • 0001
  • *
  • Posts: 60
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #15 on: November 17, 2013, 07:46:37 pm
Ten sprites per scanline, plus the issue that moving the sprite eats cycles in a chip that runs at 800khz. But yeah you can't hardly expect to get more than a few hundred sales from an NES game produced today.

Offline Mr. Fahrenheit

  • 0010
  • *
  • Posts: 326
  • Karma: +0/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #16 on: November 17, 2013, 08:03:49 pm
As I said I'm not making a real game out of this. I'm just using this set of restrictions to foster some creativity. And also, Retro City Rampage sold fairly well I think though it wasnt released on the actual system.

Offline Kasumi

  • 0010
  • *
  • Posts: 275
  • Karma: +1/-0
    • View Profile

Re: NES Restrictions: Survival Mockup

Reply #17 on: November 17, 2013, 08:32:33 pm
Quote
Ten sprites per scanline
Eight!
Quote
a chip that runs at 800khz
This is also not a correct figure. And you can move all the sprites NES has all over the place with plenty of time to spare. Of all things that you need to do in an NES game, it's the last thing I'd worry about being a bottleneck. It's clear you don't like NES stuff, but don't post things about its technical aspects that you haven't verified in some capacity.

Retro City Rampage/Megaman 9 and 10 do prove a digitally sold NES game could do well, but none are really NES games. (RCR does contain a watered down actual rom, though. For another type of game like a platformer, it wouldn't even need to be a watered down version of itself.) I'd say the reason it's not done is an actual NES game is harder to make than a game that looks like one, but there are plenty of modern indie games that would work fine on the platform. Whee, okay, hopefully enough off topic stuff.

I'm actually interested in seeing what else you do with this mockup. As far as I know, there aren't games like this on NES, so it's pretty cool to think about how one would look and work.
« Last Edit: November 17, 2013, 08:36:02 pm by Kasumi »
I make actual NES games. Thus, I'm the unofficial forum dealer of too much information about the NES