Not just nostalgia: homemade NES games continue to be released

Original author: David Buck
  • Transfer

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 his NESMaker software at KickstarterThis 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
image

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 games for the NES is still alive today.


The amazing game Lockarm inspired many children to dream in full. (Nintendo Power / Internet Archive )

New NES games 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. Throughout the life of the system, a lot of classic games allowed the formation of the views and dreams of a whole generation, and also created its legacy in the form of characters and franchises - Mario, Zelda, Kirby and Metroid, in the series of which new games appear today.

(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 have 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 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 to program for it 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 tuning without using equipment has become easier.

Derek Andrews from Gradual Gamespartly due to 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 the game on the cartridge after the process is completed.

Many of the homebrew developers we talked to mention the increased 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 operates 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 Tasks


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 NES architecture ... 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, creator of the NES game Armed for Battle, in an interview described it this way: “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 Owliabased 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 he completed the assembly language. 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 site .

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 boon 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 its own game Study Hall , the C programming language looks promising, although he personally prefers the assembler.


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 on 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 reala storehouse of technical wisdom NES ; 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.

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 hacs, 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 apply 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 they were all 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 is a game of troubadour traveling around the world.

Battle kid
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, a treasure trove 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 .

Lizard nes game

2. Lizard. In the huge 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 .

Eskimo Bob 1

Eskimo Bob 2

3. Eskimo Bob. This game is based on the rather quaint Newgrounds show from the early 2000s . The main character roams the arctic landscape, collects 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 .

Nomolos Storming the CATsle

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 for programming in assembler.

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 through their channels on YouTube.

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 said 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. ”

Also popular now: