diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2026-04-06 22:47:12 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2026-04-06 22:47:12 +0200 |
| commit | 07c2364bcf655d7a32d7205b9f74954da9fa8573 (patch) | |
| tree | 5f97deacda69246cc74c66065c71c91e5ce826b8 | |
| parent | a94457ed3d97559612cd68d8fe370fa8f8344677 (diff) | |
| download | jetpac.nes-07c2364bcf655d7a32d7205b9f74954da9fa8573.tar.gz jetpac.nes-07c2364bcf655d7a32d7205b9f74954da9fa8573.zip | |
Expand the README.md file
Most of the things from the CHANGELOG.md file didn't belong there, and
so I've made them a proper section on the README.md file.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
| -rw-r--r-- | CHANGELOG.md | 29 | ||||
| -rw-r--r-- | README.md | 104 |
2 files changed, 102 insertions, 31 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index f0fbde8..2b0aacf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,30 +1,5 @@ # 1.0 (Under development) -The game tries to be close to the original ZX Spectrum version, while being -adapted to the reality of the NES/Famicom. This means: +Initial implementation of the full game. -- The player is presented with a **title screen** which is a merge between the - "Loading" and the title screens from the ZX Spectrum. On the NES/Famicom the - concept of "loading" is quite foreign to players (unless your are on the - [Famicom Disk System](https://en.wikipedia.org/wiki/Famicom_Disk_System), of - course), but at the same time I wanted to re-use at least some of its elements - on the otherwise quite blank title screen from the original. Hence, both - screens have been merged into something that feels more like it belongs to the - NES/Famicom library. -- **Colors** are slightly different because of palette differences between the - NES/Famicom and the ZX Spectrum. That being said, some colors have been - rearranged on purpose, like the red on the jetpac's fire or the general change - on the title screen (because it's a new thing altogether). -- The **controls** of the player should be quite close to the original, even if - physics might be a bit different here and there. Overall, it shouldn't be too - distracting and I'm fine with them being slightly different to the original. -- **Shooting** is something that is completely different to the original, as the - NES/Famicom presents a sprite limit per scanline which is quite daunting for a - shooter. I also envisioned doing nasty things on background tiles, but that is - hard to do and probably not worth it. In the end: different machine, different - rules. Hence, bullets are handled in a similar way as other games for the - NES/Famicom, even if it's not particularly close to the original. -- As an homage to Donkey Kong 64, you can **collect a coin** after completing 16 - stages. This coin features a chameleon as a reference to SUSE, since I - originally bootstrapped this project during [Hackweek - 23](https://hackweek.opensuse.org/projects/port-the-jetpac-game-to-the-nes). +TODO: sccount, commits, and other statistics. @@ -6,7 +6,7 @@ page](https://github.com/mssola/jetpac.nes/releases). Read the [CONTRIBUTING.md](./CONTRIBUTING.md) file if you want to make any changes, report an issue or make a suggestion. -## The game +# The game The game is a shooter in which you have to re-assemble your ship's parts and fill it with fuel, all while killing enemies that keep popping up. In the game @@ -20,10 +20,106 @@ the controls are as follows: | <kbd>Arrow Down</kbd> | Hover | | <kbd>B</kbd> | Shoot | -Other than that, read the [CHANGELOG.md](./CHANGELOG.md) file for details on -what's different from the original and what to expect from this port. +# Changes from the original -## License +This port does not even attempt to be an exact replica of the original +game. This is in line to what most ports felt during those times. That is, for a +given game that was ported to multiple systems, you could always tell +differences, and not just aesthetic ones. + +Being more specific, this port follows the original version with some +adjustments in order to make it a reality on the NES/Famicom, but I have not +been shy either on making some changes from my own taste. Read more on these +changes below. + +## Merging the "loading" and the "title" screens + +The player is presented with a title screen which is a merge between the +"Loading" and the title screens from the ZX Spectrum. On the NES/Famicom the +concept of "loading" is quite foreign to players (unless your are on the +[Famicom Disk System](https://en.wikipedia.org/wiki/Famicom_Disk_System), of +course), but at the same time I wanted to re-use at least some of its elements +on the otherwise quite blank title screen from the original. Hence, both screens +have been merged into something that feels more like it belongs to the +NES/Famicom library. + +## Colors + +One of the cool aspects from the original is how colorful things are. I have +tried to keep things the same way, but there are some considerations to be made. + +First of all, colors are slightly different because of palette differences +between the NES/Famicom and the ZX Spectrum. Thus, don't expect the same +gradience of colors. More than that, some colors have been rearranged on +purpose, like the red on the jetpac's fire, just because I felt it was nicer and +it fit well with the overall coloring scheme. + +The colors from bullets are also quite hard to pin down from the +original. Hence, I've done something that looks colorful and which is within the +palettes for this game. Couple this with what I mention below on shooting, and +you will quickly realize that shooting is a different experience than the +original version. Hopefully this is not too distracting to players which were +used at the original aesthetics. + +Finally, whenever the player fills the shuttle with fuel tanks, the original +version displayed a small step of purple being filled in the shuttle. In the +NES/Famicom world this is basically done via [PPU attribute +tables](https://www.nesdev.org/wiki/PPU_attribute_tables), which cannot be that +precise. Hence, instead of doing it by purely vertical steps, you will notice +that the shuttle changes color in a slightly different way than in the +original. Also, note that the shuttle won't start blinking when full, as I find +it distracting. + +## Controls + +The controls of the player should be quite close to the original, even if +physics might be a bit different here and there. Overall, it shouldn't be too +distracting and I'm fine with them being slightly different to the original. + +## Shooting + +Shooting is something that is completely different to the original, as the +NES/Famicom presents a sprite limit per scanline which is quite daunting for a +shooter. I also envisioned doing nasty things on background tiles, but that is +hard to do and probably not worth it. In the end: different machine, different +rules. Hence, bullets are handled in a similar way as other games for the +NES/Famicom, even if it's not particularly close to the original. + +## Scores + +The amount of points gained on each event is basically as in the original (note +that some remakes re-arranged some of these things). But other than that, note +that shuttle parts and fuel tanks are only accounted when you drop them, not +when they are grabbed. This is different to the original game, but it made +things more simple on the technical side, and I actually believe it makes more +sense. + +## SUSE coin + +As an homage to Donkey Kong 64, you can collect a coin after completing 16 +stages. This coin features a chameleon as a reference to SUSE, since I +originally bootstrapped this project during [Hackweek +23](https://hackweek.opensuse.org/projects/port-the-jetpac-game-to-the-nes). + +# Technical thingies + +This game is designed for the [NROM](https://www.nesdev.org/wiki/NROM) cartridge +board. Specifically, the 32K on PRG ROM capacity, and 8K on CHR ROM +capacity. This is the most basic cartridge board available, and it was more than +enough for this simple game. In fact, despite being completely careless on ROM +space, I only ended up filling ~30% of ROM space for this basic configuration +(check the exact numbers in the [CHANGELOG.md](./CHANGELOG.md) file). + +Moreover, this is a game that doesn't do any scrolling. Thus, I could've picked +up any kind of mirroring for it, but here I'm using the horizontal one. + +Last but not least, the build system produces both an NTSC and a PAL version of +the game. Coming from PAL territory myself, I've made an effort to make them +feel more or less the same way. That is, the PAL version shouldn't feel slower +in any way than the NTSC one. If that's not the case for you, [report an +issue](https://github.com/mssola/jetpac.nes/issues). + +# License The original game was developed and published by Ashby Computers and Graphics Limited (trading as Ultimate Play the Game), and released for the ZX Spectrum |
