Action 53 is a multicart engine designed to put multiple NES games on an oversize BNROM-compatible board or a board with a custom multicart mapper. The name positions it as a tool for making a sequel to Active Enterprises' minigame collection Action 52, whose negative reviews (such as this Angry Video Game Nerd review) have made it into a punchline. It was inspired by the prolific work that Shiru has been doing for the NES scene.
In the beginning, there were Game Paks, and they were bulky. So the Chinese made pirate multicarts. These were less bulky, fitting twenty or more games into the space of one Game Pak, but they infringed copyright. Vince Perri saw a pirate multicart, wanted to do the same thing except legally, and had college students make a bunch of low-budget video games to fill a multicart that he called Action 52. Except all the games sucked. Even games created by NES hobbyists have proven to outpolish the games in Action 52, especially since 2009 or so. Hence Action 53, which does one better in the sense that Spinal Tap's amplifiers go to eleven.
A Netflix executive stated in 2013 that users of Internet video on demand "would actually prefer to have a whole season of a show available to watch at their own pace."[1] A multicart is like a whole season of a variety show that the player can play through at his own pace.
As of 2014, the BNROM version supports NROM games and CNROM multicarts. The A53 mapper version should soon support UNROM, AOROM, or BNROM games because it provides separate registers for outer and inner banks.
ROMs to be included are listed in a INI-like configuration file that names the title, author, year of release, number of players, and basic game instructions. All of this information is shown with a proportional font after the user chooses a game from the list. Each game can have a 64x56 pixel, 4-color (including black) screenshot shown on the screen of the TV to the left of the game list. If there are more than 20 games, they need to be broken into up to five pages, represented as tabs at the top.
CHR ROM is compressed in an RLE-like format called PB53 that saves 40% to 70%. PB53 is an enhancement of the PB8 format used in newer versions of Who's Cuter with the additional options of repeating the previous tile or copying a tile from the first half of the pattern table to the second (e.g. take $10F0-$10FF from $00F0-$00FF).
The config file format allows listing existing NROM multicarts (e.g. Duck Hunt and Clay Shooting in Duck Hunt) as separate activities in the menu, distinguished by their entry point. It supports choosing one of the CHR ROM banks in a CNROM multicart (e.g. Donkey Kong Classics) as long as a given title doesn't switch banks while running. (Eventually, support for GNROM/MHROM multis such as Super Mario's Duck Hunt will be added.) It also allows for specifying a range of bytes in a PRG ROM as unused so that another ROM's CHR data can fit there. This means the most efficient way is to fit several activities in each PRG ROM. Finally, the builder provides a facility similar to Game Genie to allow minor bugs to be patched out of the game by modifying a few bytes. This can be used to keep a CHR ROM game's init code from scribbling over the entire pattern table.
The builder comes with a tool to extract all ROMs from a collection, just as one might extract individual programs from a PKZIP file or disc image. This should allow a ROM containing copylefted games to pass the "aggregate" test of the GNU General Public License in the same way that, say, the disc image of an Ubuntu live CD does, provided that a distributor complies with the license of each individual ROM.
Planned features include a port to MMC1, to allow combining one or two MMC1 games with other NROM games on SGROM/SNROM or SUROM boards.
When building a collection, Action 53 packs ROMs' compressed CHR data, descriptions, and screenshots into 32,752-byte banks. (This is 32 KiB minus 16 bytes for reset overhead.) The problem of packing independent items into the smallest number of fixed-size banks is called the Bin Packing problem. Because determining whether Bin Packing is possible for a given number of banks turns out to be NP-complete, practical applications use approximate algorithms. Action 53 uses the first-fit decreasing (FFD) algorithm, which sorts objects by decreasing size and then places each item in the lowest-numbered bank with enough remaining space. The number of banks used by FFD is no worse than 22% more than the optimal bank count, and the inefficiency can be even smaller for non-pathological cases.
Packing sets of equally sized symbols into banks, where sets can share space if placed in the same bank, is an even more difficult problem called Pagination or VM Packing.[2] Applications of Pagination include combining virtual machines' shared memory pages into physical servers, combining tiles' colors into palettes, and combining 8×16-pixel tiles of a large sprite sheet into 32-tile CHR banks for use with MMC3.
Unlike Forbidden Four, which was intended to comment on a specific phenomenon in Animal Crossing for Nintendo GameCube, this one will be distributed with some sample ROMs, with the list set to grow as NESdev competitions continue.
Eventually, once the collection reaches its goal of 53 games, I plan to distribute copies of the collection on 16-megabit NES cartridges for a fee of $53 plus shipping, roughly comparable to the price of 53 smartphone games. Games to be included in the collection must meet requirements for compatibility, objectionable material, and exclusive rights clearance.
MUST SHOULD MAY |
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. (what's this?) |
Requirements specific to Action 53:
In a collection using the BNROM board, the following apply:
In a collection using the A53 multicart board, the following apply:
The quality of gameplay MUST exceed the quality of the games in Action 52. Games SHOULD NOT use specific practices known to induce rage quits without a very good reason. Just because a practice was excusable 30 years ago when the NES came out doesn't mean that today's gamers will necessarily appreciate it. The following anti-patterns are NOT RECOMMENDED:
Graphics are not quite as important in the short term, considering methods of stylization and the skill level of freeware programmers, but games with less than professional-quality graphics SHOULD have a license that allows reskinning with better graphics.
I'm aware that at least one of the games listed above has a hitbox problem. It will be improved or replaced.
Non-normative: Diorgo Jonkers has 24 tips to consider for making a fun platformer (part 1, part 2). Bear in mind that these are one person's opinion, not the Bible, and in fact, I disagree with some of them. I'm just putting them out as rules to consider.
exec()
.For some planned features, I'll need a bit of enticement:
Categories: Video game sketches, Articles with RFC 2119 verbs