Skip to main content
GameDev.net gamedev.net
🔒 Locked

I Stumbled Upon...

Started by azonicrider Nov 12, 2012 at 8:38 PM 11 replies 2.1k views
Original Post
azonicrider
azonicrider
Stumbled upon this while looking up NES facts. http://bobrost.com/nes/

Its basically a course about NES development, that this guy teached at a university.

Realized how crazy the development was. Every sprite was made of 4x4 tiles. You can only have 64 moving tiles on screen at once. The screen could only move on one axis at once.

He also shows how to create ROMs, but I assume thats frowned upon by you guys.
swiftcoder
swiftcoder
I don't know about NES development, but his slides on fire-breathing are excellent.
Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]
azonicrider
azonicrider
Yea I'm not sure why he used that picture there either.

But I was hoping you guys would correct me on ROM-making. Like if you use your own unique sprites and music etc, theres nothing wrong with it I'd say?
frob
frob
Piracy isn't tolerated, but building your own games is encouraged.
Sik_the_hedgehog
Sik_the_hedgehog

Realized how crazy the development was. Every sprite was made of 4x4 tiles. You can only have 64 moving tiles on screen at once. The screen could only move on one axis at once.

Huh? Didn't check that site you linked really, but sprites are made either of 1×1 tile or 1×2 tiles (and all have the same size). Larger objects are made by grouping multiple sprites together (sometimes even reusing the same graphics! like how Mario in SMB when standing still his bottom half is mirrored horizontally)

And yeah, there are really some crazy requirements, like how in the tilemap the palette could only be assigned to each 2×2 group instead of each tile individually (oh, and you couldn't flip tiles, that could be done on sprites only)


But I was hoping you guys would correct me on ROM-making. Like if you use your own unique sprites and music etc, theres nothing wrong with it I'd say?

Yeah, making your own games is 100% legal.

EDIT: oh, by the way, if you need help, you can always go check NesDev, that site is dedicated to NES homebrew.
Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.
Icebone1000
Icebone1000
The guy who did Retro City Rampage started the game on NES, he did his own godam device to conect to nes.
Theres stuff on internet with him talking about that drawing limitation, he worked around that by making the sprites blinking...
Daaark
Daaark
Blinking sprites was a common work around, all the later gen NES games were doing it. Was annoying as a player. Just like now, when 3D objects in newer games around the of the screen blink in and out because of accuracy issues in the object culling technique!

Making new ROMs is not discouraged because of piracy. It's discouraged because it's a big project to take on, and you get an audience of almost 0 when you are done. And even then, you have something that is so platform specific that it will be a nightmare to port. Why not make a game for a modern, easy to develop for, platform and just give it an NES style look instead?

I remember the old Retro City Rampage NES project. It started out as a GTA3 NES de-make. That was almost a decade ago! To redesign it from scratch took forever.
RLS0812
RLS0812
It would be an interesting experience "back in the day" to program games in pure assembler - 6502 Assembler is what the NES used. Technical specs HERE.
I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me. ~ Ralph Waldo Emerson
azonicrider
azonicrider

Making new ROMs is not discouraged because of piracy. It's discouraged because it's a big project to take on, and you get an audience of almost 0 when you are done. And even then, you have something that is so platform specific that it will be a nightmare to port. Why not make a game for a modern, easy to develop for, platform and just give it an NES style look instead?
Emulators...

It would be an interesting experience "back in the day" to program games in pure assembler - 6502 Assembler is what the NES used. Technical specs HERE.
I wasn't tough enough to use assembly while making my current rom, this guy made a language called "nbasic", which compiles to assembly(pretty sure?), but one day I'd love to tackle assembly, to see if it is as hard as claimed to be.
RLS0812
RLS0812
A hello world program in 6502
[source lang="bash"]a_cr = $0d ; Carriage return.
bsout = $ffd2 ; KERNAL ROM, output a character to current device.

.code

ldx #0 ; Starting index 0 in X register.
printnext:
lda text,x ; Get character from string.
beq done ; If we read a 0 we're done.
jsr bsout ; Output character.
inx ; Increment index to next character.
bne printnext ; Repeat if index doesn't overflow to 0.
done:
rts ; Return from subroutine.

.rodata

text:
.byte "Goodbye, World!", a_cr, 0[/source]
I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me. ~ Ralph Waldo Emerson
LennyLen
LennyLen

I assumed the language looked like binary, with no english words.


Well, all the English words in that snippet were either comments or labels.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.