98-026
Nintendo

Game Development for the 8-bit NES
Carnegie Mellon, Spring 2004

teacher: Bob Rost

Course Description
This class will teach students how to create video games for the 8-bit Nintendo Entertainment System. Students in the class will work together in small development teams (or alone, if preferred) to create games, demos, and development tools. One game, demo, or development tool will be created for mid-semester, and one game will be created for the end of the semester. We will be developing primarily to target emulators, though some teams may choose to make a hardware cartridge (see below). The class is 3 units, offered through StuCo, and grades given will be Pass or Fail. The class will be offered Wednesday evenings, from 6:30 to 8:00.

Who Can Sign Up?
Anybody can sign up! It's not just for programmers. Artists, musicians, and storytellers are also very welcome. There are many parts to making a game, and just about anybody with skills in some area can contribute a lot toward a quality product. I'm expecting (and hoping for) a wide range of backgrounds and talents, and I will be structuring lectures to take this into account, so that everyone can learn something relevant to their own background.

What Do I Have To Do To Pass?
As mentioned above, there will be two main projects, the first for mid-semester, and the second for the end of the semester. If you don't slack off and you produce both projects with some display of competency, then you will certainly pass. Not turning in one of the projects is a sure-fire way not to pass. If, however, you do two mediocre or bad projects, then it would be a good idea to attend the lectures, participate in class, and say some smart things.

But I Don't Know How To Program. I'm an Artist.
See above! Artists are great. You can create the in-game artwork for the projects you work on, and you can also contribute by creating concept box art or marketing posters. Several of the lectures will be geared for the artists.

How Much Work Will This Actually Take?
That's partially up to you. For comparison, the minigame I made for the Tech Art Gallery, which would be sufficient for a project, took me a total of about 9 hours to make by myself, including both programming and artwork. Larger and more exciting projects will generally take more time, but you will probably be working with other people anyway. Short answer, it depends entirely upon the scope of your projects.

Will We Make Games For Hardware?
Unfortunately, creating a cartridge that works on an NES is difficult. Specifically, I don't have the background to teach that sort of process in great detail. However, I do have a development cartridge made for me by another student, so that proves that it is possible. If you are an electrical engineer, creating development cartridges could be something you may wish to do in order to contribute to your team or the class. Note that if you develop for hardware, you will need to provide or pay for your own materials, including host boards, chips, and whatever tools are necessary for doing the work.

I'm Not In Pittsburgh! Can I Take The Course Online?
Maybe. We'll see about that, but I can't make any guarantees right now.

I've Done ROM Hacks Before. Aren't I Cool?
No. ROM hacks will not be tolerated. All content created in this class will be original work.

What Makes You Qualified to Teach This Class?

I graduated from CMU with a bachelor's in CS, and I am currently a masters student in CMU's Entertainment Technology Center. I have worked for the game companies Godgames, Ritual, and EA.

Specifically relating to NES development, I led an independent study NES development and research project during my undergrad. Our final product was the game Sack of Flour, Heart of Gold, for the 8-bit NES. It is currently the most advanced homebrew NES game in the world. Additionally, last year I did NES hardware development of small games for CMU's Technical Art Gallery.

If you have any more questions, feel free to contact me. You should also let me know if you will be attending the class without registering, so that I know how many to expect, and so that I can let you know the room number once that has been decided.