My childhood was in the era of the Nintendo Entertainment System, and I always wanted to create my own game for NES. I wrote down ideas in notebooks, drew levels on graph paper and spent a lot of time writing MIDI soundtracks for non-existent games. All these ideas remained buried in the past until 2018, when I saw the documentary film Joe Granato
The New 8-bit Heroes about his Odyssey for creating the game of his childhood dream. Today, after successfully raising funds
for its Kickstarter NESMaker software , this project can simplify the process of creating your own NES games. However, Joe was not the first, homemade (homebrew) games have a long history. Today we explore this corner of the NES history and talk about creating games for NES for 20 years after the end of the official commercial life of the system.
Gif of the lizard homebrew game Three thousand dollars
This is the prize that the winner of the Nintendo “Invent the Best Video Game” competition won . The final of the competition was held at the United States Senate House named after Russell, just a few steps from the Capitol. The results, announced in the sixth edition of Nintendo Power in 1988, demonstrated the skills of fifteen-year-old Scott Campbell (now working with Marvel). His work was called Lockarm - this is an adventure game about Prince Derrick and his adventures on the way to restoring the power of the family sword. The game was never completed, but the idea of creating your own NES games is still alive today.
The amazing game Lockarm has inspired many children to dream in full. (Nintendo Power / Internet Archive )New games for NES are being created to this day ...
If we consider the history of Nintendo on official releases, the latest game for the system (
Wario's Woods ) appeared in late 1994. During the life of the system, a lot of classic games allowed the generation and vision of a whole generation to form, and also created its legacy in the form of characters and franchises - Mario, Zelda, Kirby and Metroid, in the series of which new games are still emerging.
(And success in repairing your old NES -
Nintendo completed the service of the machines back in 2007,
referring to the age of the system .)
When the publishers switched to other consoles, such as Super Nintendo and Sega Genesis, they stopped producing games for the old gray box, Nintendo Power Magazine stopped talking about it, and the stores started to sell the remaining cartridges. Several years have passed. NES websites such as
Roger Barr's i-Mockey (which later gave us the game on Flash
Abobo's Big Adventure: the Ultimate Tribute to the NES ),
TSR's NES Archive, and
NES World appeared to save memory. And despite the fact that Nintendo abandoned the system, the new class of programmers continued to work in order to preserve the life of their ideas and aspirations.
... and for good reason
The importance of the NES heritage is told to us by the fact that most homebrew authors continue to create games for the system not only for nostalgic reasons, but mainly because they love NES.
“I have always wanted to create games for NES, since I was a child. I remember sitting and drawing maps on paper, imagining how people play my games, ”says NES homebrew relative newcomer Nathan Tolbert, who has already created a couple of projects for the annual NESDEV competition.
One of the creators, Antion Fantis, wants to return some of the elements of retro games that are lost in the modern generation. Since NES has become the most iconic of such systems, he likes programming for her and he perceives the limitations of the system as a means of creating the most accurate re-creation of a retro game.
For modern developers, the technical aspect of programming looks very attractive. Bradley Bateman, the artist who worked on the
Leisure Suit Larry port for KHAN games, believes that programming games for NES is becoming more accessible.
“As a community, we have reached the point where the system is ALMOST ALREADY clear,” he told us. Many emulators have become sufficiently accurate to test the ROM, and the process of troubleshooting and configuration without the use of equipment has become easier.
Derek Andrews from
Gradual Games began to participate in the scene partly because of nostalgia, but mainly because NES by its very nature encourages the programmer to limit the scope of the project, not to mention the possibility of getting a “hard copy” of playing on the cartridge after the process.
Many of the homebrew developers we talked to mention the increasing popularity of indie games like
Shovel Knight , the complexity of programming for older systems, the attractiveness of being able to play quality games on your favorite system, and even composing music for NES.
After talking with some veterans of the NES homebrew scene, one thing became clear - the scene is very loosely connected with nostalgia.
6502
The core on which the NES CPU is based . In the US, the NES processor runs at 1.79 MHz. It is placed on the RP2A03 chip. This convenient chip in the American version of the system also contains the sound processor APU. PAL-version (European) NES operates at 1.66 MHz and uses a different version of the chip - RP2A07. The advanced (at that time) technology could address simultaneously up to 64 kilobytes of memory.
Historical chip.
Assembly String: Unique Complex Assembly Programming Challenges
Because of this slow 8-bit processor, games for the Nintendo Entertainment System were written in an assembler programming language version for the 6502 processor. Assembly language, if you don't know, is a low-level programming language in which the code was placed in the assembler and executed as machine code. He had several unique versions - 6502, x86, ARM, MIPS, 68000, Z80, and so on, depending on the machine.
"Today, there is nothing like the architecture of NES ... and this is amazing," said Kevin Hanley of KHAN Games in an episode of his podcast about NES homebrew
The Assembly Line .Assembler is not the easiest to use language, because it is laborious and cunning. Frank Westfal, the creator of the NES-game
Armed for Battle , described it this way in an interview: “Assembly coding can be interesting and very monotonous. To perform actions on it requires a lot of lines. The biggest challenge in coding
Armed for Battle was the need to reuse RAM when the game became huge. ”
He had to reorganize the RAM, sort the different parts of the code and track most of it, so that it did not behave erratically during the game fights. And that was a regular job for a NES programmer.
According to Derek Andrews, partly due to similar problems, the programming language is so attractive. His games
Nomolos: Storm the CATsle and
Legends of Owlia are based on games that he once tried to create in QBasic (but he never finished, because he was, in his own words, a "lazy teenager"), but completed in assembler. This process in itself can be a pleasure.
“Coding for NES is a very long job, but thanks to it, I return to the reality in which I enjoy every difficult, long and slow step of the process. The reward is the great pleasure of completing such a project. ”
“Each person learns in his own way, and each has its own approach to programming. I will not say that it is accessible to everyone, although in reality it is. Rather, we can say that not everyone wants this. "
- A member of the homebrew scene is Brad Smith . Smith is a musician and professional programmer who spends his spare time creating and recording music for NES on cartridges. His latest
Lizard homebrew release can be downloaded from the
official website .
Do you want to do the creation of games? I hope you like tables of hexadecimal numbers.
Websites like NESDEV and Nintendo Age are a find for potential homebrew developers. Their
assembler programming guides and
annual homebrew competitions help potential homebrew-rams enter the world of creating new NES-games. Assembler can be studied by reading various
tutorials on 6502 ,
this document on assembler for beginners or on the post of Brian Parker (from RetroUSB)
NintendoAge Nerdy Nights Programming . It is enough to open Notepad ++ and prepare for attentive reading of a mountain of hexadecimal tables in the process.
However, today
there is another way to start programming for the NES. According to Kevin Hanley with
KHAN Games , a well-known port under the NES first part of
Leisure Suit Larry and his own game
Study Hall , the programming language C looks promising, although he personally prefers assembly language.
NES-port Leisure Suit Larry“Initially, in the heyday of the NES, games were written only in assembly language 6502,” Hanley tells us. “Many people, including me, continue to write games in this language. Over the past few years after the library for C, published by Shiru (a terrific Russian NES programmer), many people created games in C. There are some debates about whether you can write a worthwhile game, but some of my favorite homebrew projects , including
Quest Forge , were written in C ".
Lizard author Brad Smith confirms that some homebrews used C to create games, but he notices that it can sometimes be difficult to get high-level languages to work with older processors. Brad is the real
fount of NES technical wisdom ; on his
website, he
describes in detail the process of creating Lizard - from
rendering sprites to
scrolling backgrounds and creating a
soundtrack for NES .
By the end of 2018, NESMaker hopes to simplify the process by writing point-and-click GUI to create non-coding NES games.
“It's like the difference between the individual painting of a car and the creation of a car from scratch from a pile of bolts and sheet metal. Both are interesting, but the inside is completely different. ”
- Doug Freaker , creator of homebrew games for NES
Vigilante Ninja 1 & 2 . In addition to these games, he wrote a
tutorial on programming NES games in C instead of the standard assembler, which is usually used in the system.
The Legend of Zelda: Outlands.Why ROM hacking cannot be considered a variation of homebrew programming
In the early years of NES emulation, it was often possible to find a thing called a ROM hack. All games like
Super Dragon Bros. ,
The Legend of Zelda: Outlands and
Mario Adventure are ROM hacks,
not homebrew games. According to Bradley Bateman, the difference is significant.
“There is a very big difference between ROM hacks and homebrew,” he says, jokingly adding, “and do not confuse them, otherwise homebrews will tear your head off.”
In ROM hack, game resources change, improve or change aspects of the game itself. Such changes create a sense of "new" game. Changes are saved in the patch (the
list of changes made to the game ) and are applied to the game. The patch causes the program to constantly change the code on the fly.
A ROM hack usually requires an existing ROM that is patched with an .ips file containing modified code. There are other formats. used for patches,
but .ips are probably the most popular .
Every homebrew-er we spoke with gave different analogies about the differences, but all of them were unanimous in one thing - homebrew-games are created from scratch, and ROM-hacks are based on a ready-made frame.
Musician Brad Smith explains it in his own way: ROM hacks are cover versions, and homebrew are completely new albums.
1987
This year, Joe Granato and his friend came up with the idea of what gradually grew into
Mystic Searches . The following year, they created a "design" game. The idea continued to live in the work of Joe (
in his texts ), until finally he, with the help of friends, did not make it a reality. This game is about a troubadour traveling around the world.
Battle Kid.Top 5 of our favorite NES homebrew games
Some of the most serious homebrew projects for NES can be found at
RetroUSB , which also sells the best NES system - AVS. Another great source of homebrew games is
Sly Dog Studios - the stunning homebrew-r Rob Bryant website, the treasury of homebrew games for NES and
Infinite NES Lives .
1. Battle Kid. Inspired by incredibly complex and non-forgiving platformers like
I Wanna be the Guy , NES-developer Sivak created this masterpiece in 2010. It has a Metroidvania scheme, amazing music, great graphics and gameplay. You can buy the game - in the form of a cartridge, and nothing else -
at RetroUSB .
2. Lizard. In the vast open world of the game, a boy in a lizard costume collects coins and explores the ruins of an ancient civilization. Fascinating, allowing you to choose the pace of passage and incredibly high-quality game is definitely worth the attention. It can be bought as a program or cartridge on the
official website .
3. Eskimo Bob. This game is based on the rather quaint
Newgrounds show from the early 2000s . The main character wanders through the arctic landscape, gathers fish and avoids funny obstacles. On some levels, you can switch between Bob and another character, Alfonso, who can stick. The game can be found on the
official website .
4. Study Hall. In this KHAN Games game in the style of "
Donkey Kong Jr. meets the
Glider, " the player controls a drawn little man who must solve puzzles over 16 levels.
The game is on RetroUSB .
5. Nomolos Storming the CATsle. In this amusing developer sidedroller Gradual Games, the player controls a cat in armor and with a sword attacking the castle. The game is free.
You can download it here .
“Nostalgia is only a prologue”
So Joe Granato presents his documentary
The New 8-bit Heroes . The film tells about the work of Joe to create a game from his childhood. It explains the current difficulties of creating a game for the NES and there are short interviews with several outstanding NES homebrewers. Joe's team created
NESMaker - a set of WYSIYWG tools that facilitate the development process. The documentary allows you to briefly get acquainted with the homebrew scene.
Tools like NESMaker have the potential to make homebrew more accessible to less sophisticated NES programmers, but there are other tools as well. The software can affect the homebrew scene, help artists and people who do not have time or patience for the code, and also serve as an excellent portal to programming in assembly language.
NintendoAge and NESDev have already shown us the way. In the meantime, YouTube like
John Riggs ,
Immortal John Hancock (from whom I first learned about
Lizard ) and
Metal Jesus Rocks introduce the audience to the stage through their YouTube channels.
Nintendo Entertainment System - this is not a ghost and not long dead console, covered with sands of time. No, the system is quite alive and has a bright future.
Kevin Hanley says the following about this: “I really appreciate being part of the community, and I appreciate you taking the time. The best NES homebrew games will still come out, so stay tuned. There will be products that explode the brain, even by modern standards. So stay with us. ”