NES Game Project #1

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
NES Game Project #1
by on (#114067)
Hi everyone,

New here. I'm embarking on a side project to create an original homebrew NES game and self-publish a small run of physical cartridges. I have a lot of background in game design and assembly programming, and love working directly with hardware. I've developed things for GBA (example games for Catapult), Commodore 64 (random practice 6502 programs) and even Gamecube (GC-Forth).

I'll be using C (CC65) with a smattering of assembly and Shiru's wonderful framework and tools as a starting point.

I'm collaborating with a friend/coworker who will be taking care of the hardware side and some of the software side. Most of my role will be creative and coding/scripting. He's going to be creating a pair of homemade "dev kits" interfacing the computer via an Arduino functioning as an eeprom programmer through a cable going directly into a NES cart (with EEPROM chips inside). The self-publishing phase is up in the air but the plan is as soon as the game is impressive enough to demo (or finished!) we'll do a Kickstarter to raise the funds needed for manufacturing.

To start we will be doing a 32k NROM cart, with hopefully a WRAM expansion.

Looking forward to interacting with the community to trade knowledge, post major milestone screenshots and so on. Nothing specific to say or post yet! I am just mastering the hardware and figuring out my TODO list of needed subroutines and seed gameplay mechanic ideas. Getting a feel for the constraints of the hardware and what might be possible is a task unto itself. Almost like a process of ... "Research and Development". :)

P.S. Mike (my partner in this) is also looking into doing his own separate game, crowdsourcing for ideas - I'm more of a subscriber to the auteur paradigm :) He'll probably pop up here eventually... we've both been joining nes homebrew forums :)
Re: NES Game Project #1
by on (#114073)
Welcome!

sonder wrote:
He's going to be creating a pair of homemade "dev kits" interfacing the computer via an Arduino functioning as an eeprom program through a cable going directly into a NES cart.


I'd be curious to see how he overcomes the speed problems associated with this idea. CHR-ROM is pretty much out of the question, but you could always have a NROM with CHR-RAM to resolve that. Once he gets going with it you/he should start a thread about this.
Re: NES Game Project #1
by on (#114074)
infiniteneslives wrote:
Welcome!

sonder wrote:
He's going to be creating a pair of homemade "dev kits" interfacing the computer via an Arduino functioning as an eeprom program through a cable going directly into a NES cart.


I'd be curious to see how he overcomes the speed problems associated with this idea. CHR-ROM is pretty much out of the question, but you could always have a NROM with CHR-RAM to resolve that. Once he gets going with it you/he should start a thread about this.


Oops! That was a typo! I can see how I made it sound like we were trying to make an Arduino "pretend" to be a ROM by saying it functioned "as an EEPROM program". That really isn't feasible - I fixed the OP - we're using the Arduino as an EEPROM programmer :)

oh and thanks for the welcome!!
Re: NES Game Project #1
by on (#114076)
Fair enough. :)

Sounds like a much better plan!
Re: NES Game Project #1
by on (#114342)
Just posting a quick question; can anyone point me to any forum threads that talk about the legality of self-publishing unlicensed NES games?

I wanted to know how legal it is to sell them for profit.
Re: NES Game Project #1
by on (#114343)
You should ask Nintendo of America that question (assuming you plan on releasing the title in the US). I would be interested to see what their response is, given that the console hasn't been on-market since the early-to-mid 90s, and that the case with Tengen never resulted in any kind of "official" statement (and the main focus there had to do with the CIC bypass).

Ask 'em. Seriously. See what they have to say.
Re: NES Game Project #1
by on (#114344)
I'd like to know their position regarding homebrews too, especially considering their strictly negative position towards emulators, as it clearly stated on their website (google 'nintendo legal').
Re: NES Game Project #1
by on (#114345)
I don't really expect them to respond.
Re: NES Game Project #1
by on (#114346)
Not responding is a form of response -- I would interpret it as a go-ahead. Just make sure whatever you send you save a hard copy of somewhere, in case legal nonsense does happen. "I tried contacting you about this, but received no response..."
Re: NES Game Project #1
by on (#114349)
Sound thinking.

For now this is strictly for fun, but since we are planning to make real cartridges to sell and/or give to kickstarter backers I think that we might directly ask Nintendo before taking the plunge.

So it hasn't been discussed much on the forum much? Kinda surprised if so.
Re: NES Game Project #1
by on (#114351)
I think they're more concerned about trademarking than someone selling software/hardware that works on their outdated equipment. The patents have expired on the NES hardware, it's the trademarks/copywrights on the titles/characters that they hold on to for a long time, or potentially forever in the case of Disney and Mickey Mouse.
Re: NES Game Project #1
by on (#114352)
Don't produce Nintendo 8-bit compatible carts. Produce "Retro 8-bit game cartridges" that are "compatible with products such as Yobo Retro".
Re: NES Game Project #1
by on (#114353)
qbradq wrote:
Don't produce Nintendo 8-bit compatible carts. Produce "Retro 8-bit game cartridges" that are "compatible with products such as Yobo Retro".
Yes, I suppose this can work.
Re: NES Game Project #1
by on (#114356)
In the United States, it's not an infringement for one entity to make nominative use of another entity's word mark to refer to products bearing that mark as long as the use does not imply any sort of endorsement. For example, games are a complement to the console they run on. As I understand it, the following wording that I used on the label of the Streemerz bundle should be fine:
Quote:
For play on Nintendo Entertainment
System. Not endorsed by Nintendo.

But make sure to run it past a lawyer if you're not sure.

"Retro 8-bit" won't work so well because ColecoVision and Sega Master System, consoles containing an 8-bit CPUs and a TMS9918 family VDP, are just as 8-bit as the NES.
Re: NES Game Project #1
by on (#114365)
zzo38 wrote:
I don't really expect them to respond.

They may. Several years ago, I asked if any NES dev info was available. They replied (no), and IIRC, it was not a canned response. I'll see if I can dig up the email if anyone is interested.
Re: NES Game Project #1
by on (#114374)
I actually did quite a bit of research on the arduino dev cart thing... I would steer you more towards a Ram cart or nvram or fram or something, it turns out its usually quite a bit more complicated to actually 'program' most Eprom/eeprom/flash chips than to simply load some battery backed ram with data

also several people offer flash carts or dev carts which for ~100 will save you alot of r&d(time is money)

i went with just buying a gq-4x though... I figure for the money it'll program almost anything nes related and I can spend that time on the game
Re: NES Game Project #1
by on (#114376)
chromableedstudios wrote:
I actually did quite a bit of research on the arduino dev cart thing... I would steer you more towards a Ram cart or nvram or fram or something, it turns out its usually quite a bit more complicated to actually 'program' most Eprom/eeprom/flash chips than to simply load some battery backed ram with data

also several people offer flash carts or dev carts which for ~100 will save you alot of r&d(time is money)

i went with just buying a gq-4x though... I figure for the money it'll program almost anything nes related and I can spend that time on the game


Yeah, we know, Mike is also using this project as a way to practice his electrical engineering and learn. I think there's some advantage to doing it this way ... something about having more control ... but he's the one who knows more than me about the dev cart side of things.
Re: NES Game Project #1
by on (#114377)
As long as you're using single-voltage EEPROMs, you're fine. The 28C parts are as easy to write to as RAM, and the 29/39/49C parts are only marginally more complex. (But do stay away from UVEPROMs; the amount of time you have to spend erasing an IC when you want to reuse it will dramatically slow down your development speed unless you have a large pile to rotate through.)
Re: NES Game Project #1
by on (#114385)
Everything I know about EE I learned from NES development ;)
Re: NES Game Project #1
by on (#114629)
lidnariq wrote:
As long as you're using single-voltage EEPROMs, you're fine. The 28C parts are as easy to write to as RAM


http://www.jameco.com/webapp/wcs/stores ... 1_74843_-1

are the xicor(116 KB datasheet) ones here single volt?

it seems like at least some of the atmel ones may require 12v on the erase(I guess digikey or mouser or ebay may be better than jameco in this case since they don't tell you which brand they are shipping--they shipped me the xicors when I ordered a while back though)
Re: NES Game Project #1
by on (#114635)
That is a bad thing about Jameco. Have to be careful with them folks :)
Re: NES Game Project #1
by on (#114664)
chromableedstudios wrote:
are the xicor(116 KB datasheet) ones here single volt?
The lines you care about in the datasheet are where it says:
datasheet wrote:
ยท Simple Byte and Page Write
-- Single 5V Supply
-- No External High Voltages or VPP Control Circuits
(That translates as "yes")
Re: NES Game Project #1
by on (#114771)
Hey everyone,
I'm sonder's parter in this project. I would be interested in whatever those emails said!
I think I will try getting in contact with Nintendo of America this week, even though we aren't in any position to be releasing a product, I would like to see if I can get a hold of someone, and at least post their response here.
Re: NES Game Project #1
by on (#114772)
Why do you need to contact them?
Re: NES Game Project #1
by on (#114773)
wow, some weird glitch? i was replying to a completely different thread, why did it show up here!?
Re: NES Game Project #1
by on (#114798)
It is worth contacting Nintendo. Over ten years ago, as a wee tyke, I sent them a childish email saying I want to make games for them. I actually got a very well-written response on the basic structure of a game development team and (politely) why I would not be making Game Boy Color games for Nintendo at the time. If they'll respond to *that* I wouldn't put this topic out of the question.
Re: NES Game Project #1
by on (#116418)
It's with a little disappointment that I have to announce that this project has been put on hiatus. Mike and I agreed to cease working on it together for the time being, due to differences in priorities and ability to contribute (basically I became the only one making progress while he was tied up with full-time work. i am a freelancer.)

But! All is not in vain. I decided to show off the small concrete progress we made up to this point. Since I expect what I create from here on to be more in my own direction. I figure no sense in keeping the old stuff to myself now. In the span of the past few weeks I created these graphics and got them displaying on the NES. I also got the player's character running around with the crosspad.
Re: NES Game Project #1
by on (#116421)
The graphics are very impressive ! It's amazing how the shadows looks real.
However gray is a weird colour choice I'd have picked dark green.

I tend myself to do quick cheap black shadows that only fits within the same metatile ^^
Re: NES Game Project #1
by on (#116425)
The graphics look really cool! Backgrounds could use a bit more contrast, and be less repetitive/blocky in some parts. The sprites look kinda like first-gen NES sprites (no outlines, shadows or volume) but better (larger and more detailed). I'm quite impressed by the graphics, and hope that someday you can put them to good use.
Re: NES Game Project #1
by on (#116448)
Bregalad wrote:
However gray is a weird colour choice I'd have picked dark green.

Taking a guess, it's probably to work around color count limitations.
Re: NES Game Project #1
by on (#116452)
Sik wrote:
Bregalad wrote:
However gray is a weird colour choice I'd have picked dark green.

Taking a guess, it's probably to work around color count limitations.


that's partly correct, however i come from an oil painting background and thought that the dark green was far too dark and saturated. i like grey as a shading color for green since it is relatively "cool", making the grey appear blue in comparison to the green. this in turn makes the green appear warmer, which makes sense since it here it is meant to appear lit by the sun.

so it was a color-saving measure as well as a conscious stylistic choice.
Re: NES Game Project #1
by on (#116457)
The interesting thing about grey in NES games is that it can be combined with different colors to create the illusion of more colors. Look at Blaster Master for example... they use the same grey to highlight the rocks and the grass, requiring only one palette to color both of them. But you have to use it with caution, since large grey areas can look quite dull.
Re: NES Game Project #1
by on (#116461)
tokumaru wrote:
The interesting thing about grey in NES games is that it can be combined with different colors to create the illusion of more colors. Look at Blaster Master for example... they use the same grey to highlight the rocks and the grass, requiring only one palette to color both of them. But you have to use it with caution, since large grey areas can look quite dull.


agreed!

i have seen the NES's artifacts do some interesting things with other combinations of colors, and different interactions when you use crosshatching depending on the colors. you really can make it do more than meets the eye if you run your programs on the real thing or emulate often with an NTSC filter (like Nestopia!)

for instance the grass along the horizontal bank of stream - that's just a single character! but it looks like metatiles because of the artifacts. of course, this probably will look "sparkly" when scrolling...
ROM Upgrade and Alpha Overworld 1
by on (#116730)
I've been working on this thing almost non-stop. Upgraded to UNROM (128KB ROM) + 8KB PRG RAM + CHR RAM, great to have some legroom! I'm using tokumaru's graphics compression now too. Even so if I'd stayed with NROM I would have hit the ceiling already.

I made a small overworld and put it in. There's no scrolling, just pop from screen to screen; Stage-based exploration seems fine for now. I'm going in a darker direction, you can see the character has been redesigned to look less like just a nice unassuming guy. (Also the tassle is gone because it complicated animation.) This is just the beginning of changes.
Re: NES Game Project #1
by on (#116731)
The character looks rawther big for the apparent map scale, even given the scale distortion common in 8-bit overhead games.
Re: NES Game Project #1
by on (#116732)
tepples wrote:
The character looks rawther big for the apparent map scale, even given the scale distortion common in 8-bit overhead games.


It's just a test map.
Re: NES Game Project #1
by on (#118930)
This looks lovely, and I have to agree that the grey is a nice choice for the shadows.