pouët.net

The NES techniques thread

category: code [glöplog]
 
I was reading on the developement of the game "Super Mario Bros. 3", wich is the finest game I ever played, and I would like to know if someone can elaborate on this:

Quote:
The character graphics were created by using a special graphics machine ("Character Generator Computer Aided Design") that generated a collection of all the graphical shapes used in the game. Shapes in the collection were assigned numbers that the game's code uses to access in real time, and are combined to form complete images on the screen in real time.


My knowledge of coding on the NES is limited, but isn't the graphics all done with a sprite "table"? So they generated all the shapes in realtime and assembled them to produce the character right?

Also are there other games that uses this technique?

Man... oldschool coders are on something else... ;-)
added on the 2013-04-08 12:52:53 by LovCAPONE LovCAPONE
This sounds as if they used some kind of look-up table. I.e.

lut [0] = address where sprite 0 starts,
lut [1] = address where sprite 1 starts,

etc.
added on the 2013-04-08 13:21:03 by Adok Adok
I think that means the way NES handles tiles (8x8px) and metatiles(4 tiles in 2x2 arrangement) and how SMB3 combines bigger objects out of multiple metatiles. Sprites are handled the same way, as the hardware sprites are always just 8x8 but combining multiple out of the total of 64 you can display 8 on same scanline without flicker, more if you cycle the sprite ids (with flicker).
added on the 2013-04-08 13:29:18 by visy visy
Quote:
The character graphics were created by using a special graphics machine ("Character Generator Computer Aided Design") that generated a collection of all the graphical shapes used in the game. Shapes in the collection were assigned numbers that the game's code uses to access in real time, and are combined to form complete images on the screen in real time.


To me that just reads like a description of tile-based rendering in layman's terms.
Most old-school video game consoles used this approach, because it lowers the requirements on both VRAM size and CPU speed. It's not specific to the NES or SMB3.

Quote:
as the hardware sprites are always just 8x8


They can also be 8x16 on the NES depending on the value of $2000.5.
added on the 2013-04-08 13:47:31 by mic mic
Yeah to me it sounded simple but the name "Character Generator Computer Aided Design" was something out of a novel... I thought it was something out of this world...

Still, it's a kick-ass game. I wonder who had the idea to make Mario fly??? Shigeru himself?
added on the 2013-04-08 14:06:14 by LovCAPONE LovCAPONE
I was already reading video gaming magazines on a regular basis when SMB3 came out. It received a rating of 95% in the leading German video gaming magazine, "Video Games". The editors called it "the best platform game of all times". I was also quite fond of it when I played it. But I cannot understand that nowadays. These days I think Sonic is better than Super Mario.
added on the 2013-04-08 15:12:20 by Adok Adok
I never liked Sonic because you just run, run, run and leave lot's of areasbehind, while in Mario the gameplay is more oriented to exploration.
added on the 2013-04-08 16:26:12 by Optimus Optimus
pickle wars, best platform game of all times!
added on the 2013-04-08 16:49:49 by maali maali
Oh God, I actually remember that game.
Sounds like they have drawn the complete sprites as you see them in the game, then used the tool to extract the tiles from that, and try to reuse some of them in multiple sprites. Without a tool for that you'd have to draw the small tiles first, then try to arrange them in a way that does not look too bad.

Remember that all of this was done in 1986, and what sounds like some easily written converter tool today may have been quite complicated to write back then, depending on the available hardware. What was the computer used to develop NES games, btw ?
@PulkoMandy: That probably varied between different companies. Here are some photos from Nintendo from around that time:

BB Image
BB Image

The computers on the bottom picture would likely have been some variant of HP's 64000-series systems:

BB Image
added on the 2013-04-08 18:58:51 by mic mic
Yes they are HP 64000. They have been used for NES development for good reasons :

- can do microprocessor emulation.

- have a PROM/EPROM programming device on the right side of the keyboard (useful to test image on the real thing)

- workstations can be connected together sharing harddrive and other devices (well i guess this was already possible on a 1981 IBM PC)
added on the 2013-04-08 20:13:09 by Tigrou Tigrou
Quote:
can do microprocessor emulation.

So does a turing machine?
added on the 2013-04-08 21:17:01 by baah baah
so does a 1980 computer with special hardware to do that at reasonable speed...
added on the 2013-04-08 21:57:18 by Tigrou Tigrou
Last three words explains it all then! ;p
added on the 2013-04-08 21:59:11 by baah baah
mic thanks! I love pictures of japanese oldschool game dev :-D

You made my night.
added on the 2013-04-09 01:07:59 by LovCAPONE LovCAPONE
mic, what is the computer used to draw? look almost like an Amiga.. but I guess might be some Nec, Fujitsu or other Japanese computer back then which we did not get?
added on the 2013-04-09 03:57:49 by F-Cycles F-Cycles
Linky: http://www.chrismcovell.com/secret/weekly/Stars_of_the_Family_Computer.html

Fujitsu FM R-50
added on the 2013-04-09 07:33:21 by ccovell ccovell
Lolll funny coincidence. I started to code game in '89... Spooky ;-)
added on the 2013-04-09 11:29:14 by LovCAPONE LovCAPONE

login