This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)

Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)
by on (#228472)
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.
Re: Karnov Inspector (FCEUX lua script)
by on (#228509)
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.
Re: Karnov Inspector (FCEUX lua script)
by on (#228550)
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. :)
Re: Karnov Inspector (FCEUX lua script)
by on (#228551)
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
Re: Karnov Inspector (FCEUX lua script)
by on (#228567)
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.
Re: Karnov Inspector (FCEUX / Mesen lua script)
by on (#228594)
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% ^^;;
Re: Karnov Inspector (FCEUX / Mesen lua script)
by on (#228618)
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".


Quote:
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.
Re: Karnov Inspector (FCEUX / Mesen lua script)
by on (#228621)
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?
Re: Karnov Inspector (FCEUX / Mesen lua script)
by on (#228640)
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.
Re: Karnov Inspector (FCEUX / Mesen lua script)
by on (#228669)
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.
Re: Karnov Inspector (FCEUX / Mesen lua script)
by on (#228673)
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.
Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)
by on (#228983)
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.
Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)
by on (#228984)
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:
Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)
by on (#228994)
The NES version is better because it's a buggy mess?

That's a really hot take, but I'll allow it :P
Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)
by on (#228998)
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:
Re: Karnov Inspector (FCEUX / Bizhawk / Mesen lua script)
by on (#229056)
Sumez wrote:
The NES version is better because it's a buggy mess?

That's a really hot take, but I'll allow it :P

That doesn't seem too unusual to me, I can think of several games where the bugs were the most fun feature... though maybe it's unusual to like an NES port of an arcade game over the original. (Like I definitely don't feel this way about Bad Dudes, for example.)

A bug can break a bad part of a game and make it better, just maybe not as often as it can break a good part and make it worse.

Though a lot of it in this case is sorta outside the category of what I think of as a bug. Like the system here is designed to scroll in one direction at a time. That's weird, looks hacky, and has a lot of bizarre consequences for play, but it does seem to work exactly as intended in that respect.

Getting stuck inside a wall, or an enemy spawning on the wrong side of the screen due to it being improperly wrapped, those things I'd call bugs, but for the most part these seem rare or of low consequence. In my arcade playthrough I'd say I encountered at least as many things of this nature... though in the arcade context if I'd had to pay another quarter because of a bug... seems a bit worse of a problem there (but not one that matters now). There were a lot of things like terribly placed hitboxes, etc. that seemed just as bad in either version.

The constant enemy despawning on the NES, it definitely seems to be a a planned feature of the engine at least; it appears to be very careful about what it allows to appear on the screen together. That does conflict with the apparent design a lot, and makes a lot of enemy appearances feel "random", but maybe arguably this is "working as intended", at least from one side of the team. ...and the capacity of this game to surprise me was one of the things I really enjoyed about it.