Log In  

Cart #navader-1 | 2021-12-31 | Code ▽ | Embed ▽ | Forks ▽ | License: CC4-BY-NC-SA

Update 211231

1.1 update

  • New: Timer added to track how long it took for a player to beat the game. The game saves the best records for each mode on the cart.
  • Fix: Enemies now fire only when there's no living enemy below them in Mode A. The bullet intentionally spawns 8 pixels below the enemy.
  • Fix: Player bullet spawns right above the player in Mode B.
  • Fix: Ending text modified following feedback on Discord.
  • Partial fix: Slightly better enemy laser spawn position in Mode B.

Known issue: The enemy lasers in Mode B spawn where they should at first, but as game progresses and there are less enemies on the screen, the laser seems to spawn lower than they should. The intention is they spawn 4 pixels below the enemy, otherwise they sometimes move down and spawn laser at the same time, destroying themselves.

And with the fix in Mode A, I can now recreate Nagoya attack. In Space Invaders, there's a bug (or a feature?) where enemy bullets spawn one row below than their position, so when they're at the bottom row the bullet will spawn below the player, rendering the player invincible. There's a lot of risk playing it this way, both in the original and in this version, but it's something I wanted to include in this version as I heard this was how the 'cool kids' played the game back in the days.


This is a Space Invaders derivative. The title is a combination of nabi ("butterfly" in Korean) and Invader. There's not a lot of story here, you're a green butterfly and you shoot other green insects. The game has two modes, unimaginatively called Game A and Game B, kind of like how early Famicom/NES games had similarly named game modes.

Game A is your basic Invaders game. It's not a faithful port nor it's meant to be one, but the basic ideas are the same. You shoot only one bullet at a time, the enemy formation moves one step at a time, they come all the way down and you lose. The tempo is a tad faster than the original game. There's no barricade, but you can press O to activate barrier at any time, as long as you have barrier stocks.

Game B is more chaotic. You have rapid fire. A random enemy will be selected to attack and flash red, and it will shoot a long laser that destroys everything on its way -- including other enemies, long live friendly fire. Also, when the enemy reaches the bottom of the screen you don't lose, but just lose some points depending on how many escaped. The bottom row enemies still die in one hit, but the top ones will take a little more abuse before they die.

Once you reach 10000 points or higher the scoreboard will display !!!! instead of your current score. (Many Activision games did this on Atari 2600) Once you clear the current wave while the score displays !!!!, the next round will be a boss battle. In Game A, the boss takes 7 hits. In Game B, because of rapid fire, 50. Once that's done, you beat the game.

Usually it'd take Game A much longer to reach 10K than Game B, and so I made the UFO to appear only in Game A, and at a much higher frequency than in the original game.

Reaching !!!! in Game A

Boss fight in Game B

The game is quite easier than the original. If you get hit while you still have one or more barriers, you don't lose a life but lose all barriers instead. (An idea that I stole from Dodonpachi Resurrection which I just love.) With the default three lives, that means you can get hit 6 times before you get game over, and in both modes there's one extra life as you pass 5000 points.

There's no increase in difficulty as the game progresses. I played a good amount of Space Invaders Famicom version while making this to get ideas and I felt like the first levels were too easy whereas the later ones just too brutal. While making this derivative I went with a constant level of difficulty that I felt was "just right" -- so you could say that's a very self-centered balancing, it's a Goldilocks difficulty where I don't feel too stressed nor bored with, and my ball park was to be stimulating enough not to fall asleep, but too demanding as to lose focus during a Zoom meeting. But this is not something I'm 100% happy about, I'll need to re-think this later so that I can feel comfortable while the game getting gradually more challenging.

And I wanted to give it an exit point. With the arcade games with no end, you either quit because you inevitably lose, or because you lose interest and get bored. And neither leaves a good aftertaste. By adding an end boss and an ending you know you've played your game and leave with a sense of closure. Game A can be finished in 10~15 mins, Game B in 5~8.

Technically this is another case of noob coder's spaghetti code. I started buliding my version of it, got stuck, looked up some tutorials to see how others have done it, plagiarized, merged my own codes (which resulted in two modes) and I'm pretty sure this could have been better planned if I had the whole picture in my mind from the get go. Also the boss and the three-way shots took me an embarrassing number of hours. This doesn't look too stable but so far as I was testing I couldn't find any more major break points so I'm releasing this as it is. Maybe I'll look back at this and find a better way to do it later.

P#103814 2021-12-30 12:49 ( Edited 2022-02-21 15:14)

:: phil

No cringe (at least from playing the game). This is a nicely polished cartridge: it has a title screen, different modes, solid gameplay and an ending. Ticks all round.

As for gameplay this ticks many boxes for me: fast action, lots of bullets, and an increasing score. I enjoyed reading your notes and agree with the idea of an ending rather than just going on forever. However without the option of trying to get a high score is there incentive to play once you've completed it ? How about a timer to see how quickly you can speedrun the game?

Minor criticism: the bullets from the invaders and the players seem to start quite a way from the player / enemies. Was this a concious decision or something that could be tightened up ?

Off to check out the rest of you cartridges now.

P#103820 2021-12-30 14:15

@phil First, thanks! It does look like the player bullet in Game B starts way ahead of the player. That'd need to be fixed.

The invader bullets in Game A do spawn 8 pixels below the invader. Maybe I should have mentioned it on the post, that's where I wanted to follow the original. In the original, once the invaders come to the bottom row, the player becomes invincible as only the bottommost enemies shoot and the bullet spawns underneath the player. There's a technique that exploits it called "Nagoya attack (名古屋撃ち)" as it was discovered by a player in Nagoya, and this can be somewhat replicated in Navader.

(Except that in Navader Game A, the enemy only checks if it's at the bottom row or if there's no enemy directly underneath it, so if there's a hole in the column Nagoya attack will fail. I honestly gave up there after pulling my hair apart. So.. yeah, this is something that needs tightening up.)

The timer idea sounds great. I'll look into it to see if I can make it.

P#103821 2021-12-30 14:28 ( Edited 2021-12-30 15:10)

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2022-10-02 16:07:26 | 0.008s | Q:15