Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Post by rainwarrior »

As part of this year's Karnovember festivities, I've decided to write an inspector for Karnov. It's an FCEUX / Bizhawk / Mesen Lua script:

Download: https://gist.github.com/bbbradsmith/46e ... 45539995ad

Image

- v0.1 just shows you the tile type anywhere it's not $00
- v0.2 now shows you where a bomb can be placed
- v0.3 now has the hitboxes that can hurt you
- v1.0 now has the hitboxes that you can shoot


Thought it might be fun to play around with. Kind of gives you an idea how this game was built, though it is a notoriously buggy/weird game. I'd never really played it before a few days ago, but I quite enjoyed it. It was a wonderful surprise once I learned my way around it.
Last edited by rainwarrior on Fri Nov 09, 2018 10:12 pm, edited 5 times in total.
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Karnov Inspector (FCEUX lua script)

Post by Banshaku »

Interesting :D I think I should look at the script to learn how it work since it would be useful for game debugging. Always wanted to try but didn't have the time to experiment with it.
rainwarrior wrote:Thought it might be fun to play around with. Kind of gives you an idea how this game was built, though it is a notoriously buggy/weird game. I'd never really played it before a few days ago, but I quite enjoyed it. It was a wonderful surprise once I learned my way around it.
I remember playing it as a kid after trying the arcade version, were I was never able to even past the first stage at all and gave up putting quarters :lol: Then tried the nes version and it was more enjoyable.

I guess it must be one of those game that were outsourced from the original developer and ends up made very fast, like Ghost and goblins.
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: Karnov Inspector (FCEUX lua script)

Post by Sumez »

That's a funny game to pick. I always loved Karnov, so I was excited to try out the NES version for the first time, and it was really disappointing just how awfully buggy the game plays. This really beats Micronics in the "crappy ports" territory. They managed to take pretty much everything that made the original game fun, and turn it into a chore.

But I digress. Don't mean to drive away focus from this awesome script. This could easily be useful for speedrunners, etc. who want to optimize their gameplay. :)
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: Karnov Inspector (FCEUX lua script)

Post by Sumez »

Anyway, no Karnov thread is complete without JeffK's comparison between Quake 3 and the NES version of Karnov:

https://www.somethingawful.com/hosted/j ... novfag.htm
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Karnov Inspector (FCEUX lua script)

Post by rainwarrior »

It's very buggy indeed, but I found the bugs mostly charming. ;)

I've only briefly played the arcade version, so I didn't have a superior game to make me disappointed in the comparison, but on its own I enjoyed NES Karnov far more than the quality of its implementation deserved. Learning to work around its brokenness was actually a lot of fun for me, and that strangely kinda played well with the strategic item system the game has.

I'll definitely give the arcade version a play through later though, there are a lot of days left in Karnovember.
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Karnov Inspector (FCEUX / Mesen lua script)

Post by Banshaku »

Clunky, yes, now maybe I would see it as buggy since I know nes programming enough. One thing for sure, once you try the arcade one, you will realise how much the focus was on "monetization", i.e. how cheap the game is to make you die and some place are almost doable only by luck :lol: I guess once you know the game by heart it may be easier but still... For game of that generation, I never felt, for example, that double dragon was cheap. This game arcade version, 100% ^^;;
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: Karnov Inspector (FCEUX / Mesen lua script)

Post by Sumez »

Banshaku wrote:Clunky, yes, now maybe I would see it as buggy since I know nes programming enough.
Oh, it's buggy for sure. Anyone would see it as that. Such as the way you can get stuck in walls, or scrolling in the wrong direction can get you caught in a boss room, etc.

It's surprising really. I've played hundreds of NES games, and usually most of them are simply poorly designed and/or "clunky" like you are saying. Karnov is the only one I recall playing where completely obvious bugs not only impacted the gameplay experience, but are actually rampant.

Disclaimer - I have the Famicom version of the game, I don't know if some things were fixed for the western release. It's definitely crazy that this would have made it past Nintendo's "seal of quality".

One thing for sure, once you try the arcade one, you will realise how much the focus was on "monetization", i.e. how cheap the game is to make you die and some place are almost doable only by luck
Karnov is a bit of a memorizer, but I wouldn't call it downright cheap or designed to just take money away from you. I consider it much more playable and fair than the NES(Famicom) version.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Karnov Inspector (FCEUX / Mesen lua script)

Post by tepples »

With the recent success of Capcom's limited edition rerelease of Street Fighter II, what would it take to interest Paon in a rerelease that fixes the bugs, restoring Karnov to what was intended?
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Karnov Inspector (FCEUX / Mesen lua script)

Post by rainwarrior »

Sumez wrote:Disclaimer - I have the Famicom version of the game, I don't know if some things were fixed for the western release. It's definitely crazy that this would have made it past Nintendo's "seal of quality".
As far as I can tell the only difference between the Famicom and NES versions are that they removed all the cutscenes and endings for the NES version (probably cause of the religious subject matter).

One thing that's bizarre and amazing about this game is the way it does scrolling. It can only move horizontally or vertical, but not both at once. You can exploit this to get ahead of the scroll in any place that you can traverse diagonally. The vertical scrolling will take priority, and you're free to keep moving to the right until it catches up. The resting point of the scroll is also aligned to a 16x16 tile, so it's kind of easy to exploit in a very precise way.

It's a really terrible system for scrolling, but if once you're deliberately trying to take advantage of it e.g. for a speedrun I find it's a really fun mechanic to play with. There's a lot of stuff like that in this game.
User avatar
OmegaMax
Posts: 80
Joined: Wed Sep 21, 2016 8:55 am
Location: Calgary.Alberta,Canada

Re: Karnov Inspector (FCEUX / Mesen lua script)

Post by OmegaMax »

I didn't like this game as a kid and swapped it for another game at the retail store,as an adult I learned to really enjoy the game even with the bugs.I reversed engineered a large part of this game(mainly the AI) found it quite interesting that a table was used for the jump velocities,integer and fractional values.
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Karnov Inspector (FCEUX / Mesen lua script)

Post by rainwarrior »

Did you record any of the stuff you found? I'm sure there's people in the Karnovember crowd that'd love to know. I looked around before I started the inspector to see if anyone had left a trail, but I couldn't find much. There was a decade old level editor, but I couldn't get it to run and it wasn't open source.
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Post by rainwarrior »

After playing through the arcade version, I wouldn't say I'm terribly fond of it. It has some charm, but it's too unreasonable. The NES version should be similarly unreasonable but its weird and crappy engine makes it better.

Actually, the slightly different palette of items to use in the NES version added a whole lot of strategic possibilities that just don't exist in the set you get in the arcade. The clapper and shield make a huge difference, and being able to stockpile more things. I think that was a definite and well earned improvement. (The removed trolley was really lame, too, a very reasonable cut to make.)

The design and placement of enemies is absolutely insane in the arcade version, and while much of it would be similar in the NES version the game despawns probably 2/3 of the placed enemies, just because it has trouble having more than a few onscreen at a time (or with certain combinations). No such problem with the arcade, so the screen is constantly filled with tons of enemies, creating chaos. (Also wherever the NES game has one boss, the arcade usually had a series of 2 or 3. Not new bosses, mind you, just 2 or 3 of the existing ones repeated.)

There's a few cool graphical things in the arcade version, e.g. breaking the walls down to enter the tomb, knocking a tree over with a bomb, a few frames of "morphing" for the mimic enemy, etc. and that end screen is really good... but the gameplay itself is inferior to the NES... simply because there's a lot more of it. (The NES giving you an extra hit helps a lot too.) The engine works a lot better, but the underlying design that enables isn't much fun to me.

That's one of the fun things about the NES version, if you dash on ahead, you tend to keep enemies following you, causing others to despawn in front of you. It's this really nice snowball effect that feels good when it gets going. Can't do that in the arcade, 'cause you'll just flood the screen with enemies and die.

Oh also the NES version has a flying level instead of level 8, which makes better variety.
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Post by Banshaku »

I guess now you understand why I'm less fond of the arcade version compared to the nes one. For the arcade, I only remember the first stage and that's it since I was dying fast anyway :lol:
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Post by Sumez »

The NES version is better because it's a buggy mess?

That's a really hot take, but I'll allow it :P
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Post by Banshaku »

Well, it's getting awkward :lol:

Technically speaking, the nes version is a mess and everyone agrees with it. But... The arcade version, although superior graphically (which I do like by the way), the placement of enemy and how is done is less fun than the nes version, although flawed as it is. This is how it felt to me. Doesn't me I "hate" it the arcade version, it just the nes one felt more entertaining, in it own devious way :lol:
Post Reply