This chapter looks beyond the tutorial shoot-’em‑up to show how to turn a simple prototype into a fuller NES project, how to push the console with cartridge‑based enhancements, and how to share a finished game with players. It opens with practical ways to deepen polish and replay value, explains how mappers unlock more memory, graphics, audio, and timing tricks, and then outlines the spectrum of release options—from free demos and paid ROMs to boxed cartridges—before closing with inspiration from other NES‑friendly genres.
For the sample game, suggested upgrades include adding enemy variety and behaviors (new attack patterns and reactions), awarding extra lives at score milestones, and ramping difficulty with faster movement or staged waves. Audio gets special attention: choose music that fits screens and levels, and add distinct cues like an extra‑life jingle. “Arcade touches” round out the presentation—high‑score storage (even battery‑backed), animated title screens, and an attract‑mode gameplay demo. The chapter then explores how cartridges extend the NES through bank‑switching mappers: gaining more PRG/CHR space, optional four‑screen nametables, per‑tile attribute enhancements, and scanline interrupts for effects like split‑screen scrolling. It also surveys expanded sound via mapper chips (additional pulse, wavetable, PCM, and FM channels) and covers save support through battery‑backed RAM or, more rarely, EEPROM.
On publishing, the chapter balances audience reach and effort: offer free or limited ROMs to build interest, sell downloadable ROMs despite inevitable sharing, or aim for physical carts for the quintessential retro experience. Self‑publishing requires choosing a compatible PCB/mapper, sourcing shells, budgeting for manuals and boxes, and possibly using crowdfunding to size a print run; working with a publisher trades control for reduced risk and turnkey production, with contracts advised. Finally, it spotlights genres that shine on NES—single‑screen and scrolling platformers that exploit mirroring and scrolling, action‑adventures in the mold of The Legend of Zelda, and RPGs influenced by series like Ultima—encouraging developers to leverage hardware extensions to build larger, more varied games.
Standard NES Cartridge Memory Layout
Example Expanded NES Cartridge Memory Layout
Adding an extra 2k of name table ram allows four separate tables.
UNROM Printed Circuit Board (PCB) from Muramasa
Donkey Kong on the NES
Megaman on the NES
Super Marios Bros on the NES
Handling a horizontally scrolling area.
The Legend of Zelda on the NES
Ultima Exodus on the NES
Summary
There are quite a few things that can be added to our sample game to make it more polished and compelling for players, such as a high score table, extra difficulty, music, and more arcade touches.
The NES was popular and along with its capability to be extended via extra hardware in the game cartridges, it championed several more complex game genres, like platformers, action-adventure games as well as role playing games.
Modern titles for the NES can be published several ways, either via a free ROM download of a demo or even full version to allow as many people access to your game as possible, or via sale of a ROM online, and maybe even a produced in physical cartridge form with a proper box and manual to be enjoyed by the any NES enthusiasts and collectors.
NES cartridges are not limited to 32k of PRG ROM and 8k of CHR ROM, using custom logic chips more space for code and patterns can be used, allowing much more complex and larger games.
Not only can cartridges contain more storage they can also provide additional sound channels, to allow richer music and more sound effects to be played without interrupting other sounds already being played.
Cartridges can also provide space for progress in games to be saved either using an inbuilt battery or EEPROM memory.
There are well over 100 documented Mappers that add different capabilities to the NES console, one of the main reasons the console enjoyed such a long life.
FAQ
How can I enhance the sample Mega Blast game into a more polished title?Add enemy variety (new movement patterns, projectiles, meteor splitting), control when new enemies appear (randomly or by progress), ramp difficulty over time, improve audio with better music and sound effects, and add arcade polish such as a high score table, an animated title screen, and an attract-mode gameplay demo.What’s a simple way to award extra lives based on score?Track the next threshold at which a life is earned (for example, every 5k). Store this in a byte (e.g., next_extra_life representing the thousands digit). In your add_score routine, compare the score’s thousands digit to the threshold; when reached or passed, increment lives, advance the threshold by 5, flag the HUD to update, and optionally play a special SFX.How should difficulty scale as the player advances?Start easy and increase challenge by raising enemy speed, spawn rates, and projectile frequency as levels progress. In other game types, tie difficulty to the number of waves or screens completed so the game escalates as the player survives longer.What is a mapper and how does bank switching extend NES games?A mapper is cartridge logic that remaps memory to overcome the 64 KB CPU address space limit. It exposes registers you write to, selecting which 8 KB CHR and 16/32 KB PRG banks are currently visible. Different mappers provide different bank sizes, layouts, and extra features.Which mappers add extra audio, and what do they provide?- MMC5: two extra pulse channels plus a PCM channel. - Namco 163: up to eight wavetable voices (update rate drops as channels increase). - Sunsoft 5B: YM2149F with three tone channels and mixable noise. - VRC6: two extra pulse channels and a sawtooth. - VRC7: six FM synthesis channels (OPLL subset).How can NES cartridges support game saves?Cartridges can include up to 8 KB of RAM mapped at $6000–$7FFF (often bank-switchable) and keep its contents with a battery so saves persist when powered off. Some later games used EEPROM (non-volatile but pricey and with limited write cycles at the time).What extra hardware features can some mappers add beyond memory?Examples include four-screen nametable RAM for larger scrolling areas, MMC5 extended attributes that allow per-tile palette selection and CHR-table choice, and scanline interrupts that enable mid-frame effects like split-screen scrolling and palette changes.How can music improve the overall feel of the game?Choose or compose tracks that fit each context: distinct themes for the title screen and in-game, and even per-level music to reinforce each level’s identity. Tools like Famistudio help author music and export data for the NES sound engine.What are my options for releasing a finished NES homebrew?You can release a free demo ROM, sell a downloadable ROM, or publish physical cartridges. Self-publishing gives you control but carries cost and effort (PCBs, shells, box/manual, assembly, shipping). Alternatively, partner with an established publisher under a clear written contract.Which other game genres suit the NES, and what techniques support them?Platformers (single-screen and multi-screen), side-scrolling platformers (using vertical mirroring and off-screen rendering to create continuous horizontal scrolling), action-adventures (exploration, items, puzzles), and RPGs (party-based progression) all work well. Early titles scrolled entire screens and used sprites for HUDs; later mappers enabled split-screen HUDs via scanline IRQs.
pro $24.99 per month
access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!