NES Lemmings Improvement Hack [V1.4 Out Now!]

Started by The Tomato Watcher, April 03, 2023, 07:47:37 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

The Tomato Watcher

Quote from: The Tomato Watcher on April 15, 2023, 12:52:58 AM
On Tricky 8, something may go wrong with OAM RAM when the hatches open that causes the status bar to have incorrect graphics and the music to slow down for one frame. I have no idea why this happens, it may even depend on emulator or something, and it looks like there is absolutely zero rhyme or reason to it and there's likely nothing I can do, but since it's for one frame on one level only (so far...) I'll just have to live with it.

I solved the Tricky 8 mystery. In short, the NES PPU is jank, and through bad luck there's a lot of tiles to animate on one frame for that level, and when the hatches open, it takes juuust long enough to update those extra tiles that sprite data (written after everything else) is still being written by the time the screen is starting to be drawn, which triggers a hardware bug that corrupts the sprite data. Yay. I have an idea to mitigate this in the code, and if that fails, I can also just remove the lava from that level. If the DOS version can do stuff like that, then so can I :P Gonna wait till the romhacking.net submission is approved or denied though; if it does get denied for whatever reason, might as well make this one last change before officially releasing v1.0.

The Tomato Watcher


The Tomato Watcher

There's gonna be a v1.1 update here in a bit, fixing the Tricky 8 bug and addressing some feedback I've gotten since release.

Beyond the bug fix, I'll be tweaking the final level--and likely some of the adjacent levels--after some feedback from roundthewheel.

Additionally, I will look into enabling assigning skills to lemmings while the game is paused--a feature available in a couple of official versions--since the game runs kinda fast at NTSC speed and the levels are more cramped. The constant pause-resume cycle can get old kinda fast, so I'm gonna look into mitigating that. Hopefully it's as simple as changing one line of code like enabling switching skills while paused was, but if it causes other issues I'm likely not gonna bother.

The Tomato Watcher

Quote from: The Tomato Watcher on May 10, 2023, 03:38:38 AM
There's gonna be a v1.1 update here in a bit, fixing the Tricky 8 bug and addressing some feedback I've gotten since release.

Beyond the bug fix, I'll be tweaking the final level--and likely some of the adjacent levels--after some feedback from roundthewheel.

Additionally, I will look into enabling assigning skills to lemmings while the game is paused--a feature available in a couple of official versions--since the game runs kinda fast at NTSC speed and the levels are more cramped. The constant pause-resume cycle can get old kinda fast, so I'm gonna look into mitigating that. Hopefully it's as simple as changing one line of code like enabling switching skills while paused was, but if it causes other issues I'm likely not gonna bother.

The update is out now! I took care of all three of those issues mentioned above and cleaned a couple things up. https://www.romhacking.net/hacks/7748/

The Tomato Watcher

Oh yeah here's the soundtrack if any of you all are interested in that: https://youtu.be/rRW8WNkuvao

The Tomato Watcher

Found another glitch. Classic left-right jank involving Miners and Bashers...


I've managed to fix it, though, and V1.2 is releasing very soon. I've also swapped the level layout of Fun 18 from being an "easier" version of Tricky 1, primarily because the two level's solutions are exactly the same, even with the different skillset. It's now an easier version of Mayhem 14, which is based on Mayhem 26 of Amiga Lemmings.

Before I actually release V1.2, I'd like everyone's opinion on a potential Faller animation change. Currently, they flip back and forth as they fall, much like the Master System version. This isn't a bug or anything of the sort; it's baked into the animation cycle, which means it can also be removed easily. I'm thinking about having the animation stay facing the same direction, and I've put a poll on this topic about this.

The Tomato Watcher

V1.2 is out now! In addition to the changes mentioned above, I managed to implement a way to skip the intro cutscene without having to wait for the screen to stop scrolling to the right.

https://www.romhacking.net/hacks/7748/

The Tomato Watcher

Hi, I'm working on a v1.3 for this hack as of now. :) The biggest addition is improved cursor movement.

The original NES version would stiffly move the cursor at a constant 2px/frame, which would feel twitchy in some situations and really slow in others. In contrast, almost every other version of the game that lacks mouse control has the cursor accelerate the longer the player holds a direction until reaching a top speed. I managed to find some more free space in the ROM and was able to implement a close approximation of the SNES version's d-pad control (the gold standard IMO), just very slightly jerkier and lacking the "run" button, so to speak. The game feels so much better to play now.

Aside from that, I'm just adding some polish. I've edited the cursor graphics so that they can't blend into the terrain or other lemmings. Do let me know what you think of these new sprites. :)


The game also now initializes all of system RAM at power-on. Yes, the original NES version didn't do that. More or less, things just happen to work out perfectly in the code that this doesn't matter, but it's still bad practice and has already caused me several problems!

Finally, I plan on adjusting the audio mixing and fixing a very slight bug in the sound driver.


The Tomato Watcher

V1.3 has been approved on RHDN! https://www.romhacking.net/hacks/7748/

Included in the .ZIP file is a PAL-targeted patch for those who wish to play at the slower physics rate (probably most of you) without the music being significantly affected!

The Tomato Watcher

V1.4 has been approved on RHDN! https://www.romhacking.net/hacks/7748/

This version includes the classic "Let's go!" speech sample that we all know and love, without requiring any increase in the size of the ROM! I'm really proud of that, honestly; it took a clever trick to make work. There's some slight bug fixes and QoL improvements as well! The PAL-optimized patch has been updated appropriately as well and is still included in the .ZIP file.