News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: How difficult would it be to remove invincibility frames?  (Read 782 times)

Steffenfield

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
How difficult would it be to remove invincibility frames?
« on: November 05, 2019, 08:25:52 am »
This would be for retro games such as old school Mega Man releases, Marios, Zeldas, Contras, even Super Metroid as well.

Upon receiving damage, the iframes are fully removed.

No character sprite blinking at all.

Any immediate further damage upon a hit will continue to count.

It would be a more realistic experience to these games.

Is something like that possible?

Where might I look for a better understanding on how this might be done?

Thanks ahead.  :)

Cyneprepou4uk

  • Full Member
  • ***
  • Posts: 212
  • Самый лысый ромхакер
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #1 on: November 05, 2019, 10:31:41 am »
Find invincibility timer in ram and change the value that is written there when you take a hit. Should be easy enough
I am the baldest romhacker
NES Romhacking Guide

nesrocks

  • Hero Member
  • *****
  • Posts: 608
    • View Profile
    • nesrocks.com
Re: How difficult would it be to remove invincibility frames?
« Reply #2 on: November 05, 2019, 11:13:08 am »
Find tutorials for Fceux's Cheat search feature and your path is set.

Steffenfield

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #3 on: November 05, 2019, 11:19:39 am »
Thanks!

I'll do my research on this tonight.  :)

November 05, 2019, 01:21:20 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Okay.

I'd like to begin with the original Mega Man for NES.

Link to cheats:
https://gamehacking.org/game/30247

There's one called "Blink 2x Longer After Being Hit".

Description: "ROM Write (Compare) - If the value at ROM address 0xA25D is ever 0x6F, it changes it to 0xDE."

The start timer value is no longer set at 111 in decimal, but will instead be at 222 after your character is damaged.

There's also another called "Always Invulnerable (Blinking)"

So I'd let to patch a clean rom, if possible, and have 0x00 at ROM address 0xA25D and also to always disable "Invulnerable (Blinking)".

Can that be done or will it require a GameShark device?

I'm still a little confused on this but I'm trying my best to understand.


EDIT:

I searched the ROM for A25D and 5DA2, thinking that there would be code somewhere that writes to this location, but no results were found.

I did get 251 results for 6F though, the beginning timer set after being hit.

Is there a way to better estimate which one of those is correct so it can be permanently changed to zero?
« Last Edit: November 05, 2019, 02:00:21 pm by Steffenfield »

Cyneprepou4uk

  • Full Member
  • ***
  • Posts: 212
  • Самый лысый ромхакер
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #4 on: November 05, 2019, 02:35:27 pm »
Fceux -> debug -> game genie encoder/decoder. Paste here your gg code, you will see up to several possible addresses
https://imgur.com/vQf3Csf

Double click on them, and hex editor will be opened in that area. With enough hex editor and coding experience you can easily figure out which of those possibilities is the one you are looking for, but until then you have to guess and try to change values at one address at a time for testing. In case with invincibility I can tell it is the second one. Change that byte to whatever you want and play the game. If it is ok, save rom in hex editor
I am the baldest romhacker
NES Romhacking Guide

Steffenfield

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #5 on: November 05, 2019, 02:58:15 pm »
Fceux -> debug -> game genie encoder/decoder. Paste here your gg code, you will see up to several possible addresses
https://imgur.com/vQf3Csf

Double click on them, and hex editor will be opened in that area. With enough hex editor and coding experience you can easily figure out which of those possibilities is the one you are looking for, but until then you have to guess and try to change values at one address at a time for testing. In case with invincibility I can tell it is the second one. Change that byte to whatever you want and play the game. If it is ok, save rom in hex editor

Cyneprepou4uk!

You are absolutely wonderful!

It works perfectly as I had hoped for it to be. 

Now to see if I can do this with Mega Man 2 on my own.  :D


EDIT:

I have all six Mega Man titles patched with that new feature.

It's actually super fun to play like this.

Anyway, it was such a small project and concept, but still, I was wondering would these be good enough to upload here?

Thanks ahead.  :)
« Last Edit: November 05, 2019, 04:58:10 pm by Steffenfield »

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6927
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #6 on: November 05, 2019, 05:08:00 pm »
You might as well just make them one-hit death games.

Not have i-frames (or knockback) is one of the defining trait of license-based trash games by companies that don't know how to test their games, or they do but they have no idea what "fun" and "fair game design is". Is it FUN that you get shot and that one shot counts as an additional hit for every frame that it takes you to react to it.

I never finished Y's for the Famicom because it is fucking broken as hell that you touch an enemy and lose your whole lifebar before you can blink (MAYBE IF YOU HAVE THE REACTION OF A NINJA, you can live with a couple HP!). Why even have it then? It's a game I'd to like so I hope that was a problem of the port and not the game itself. I cannot remember much of the game except the medley of the damage sound and game over music.

Oh yeah, good luck finishing the original Metroid when you combine no i-frames with those cheap-ass enemy generators that snipe you when walk through a door and you can't do anything about it!
HOW DID THEY EVEN **** THAT UP? Zelda was released earlier and had the decency to despawn enemies during room transitions.
"My watch says 30 chickens" Google, 2018

Psyklax

  • Hero Member
  • *****
  • Posts: 1074
    • View Profile
    • Psyklax Translations
Re: How difficult would it be to remove invincibility frames?
« Reply #7 on: November 05, 2019, 05:40:00 pm »
Woah, Mike, I've never seen you go off like this on anything. :laugh: Y's and Metroid really got to you, huh? :)

For what it's worth, I think you're right: i-frames are a staple of good game design, since having no i-frames is just no fun in certain games. Having said that, I don't remember having too many troubles in Metroid. But Mega Man is hard enough with i-frames, let along without them. I won't be testing this out. :D

Steffenfield

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #8 on: November 05, 2019, 06:00:11 pm »
You still get knocked back after damage.

A bullet will only hit once due to it's speed, but if there's another one coming right behind it, you'll take damage from that as well.

But yeah, if you jump right into the middle of an enemy, it's about the same as a one hit kill.   :(

PowerPanda

  • Full Member
  • ***
  • Posts: 104
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #9 on: November 06, 2019, 10:02:44 am »
I'm with KingMike on this. I've played so many old games with no iframes, and they exist for a reason! Here is how no iframes would work in some of the games referenced:

Zelda 1 - any time you are in a 1-block corridor or bridge (which is QUITE OFTEN in that game), and you are facing a different direction than straight forward, the knockback will move you into the wall, and you won't move. Any enemy that hits you will hit you 60 times in the span of a second, so it's an instant kill.

Mario - all damage in this game is contact damage. It becomes a 1-hit KO game.

Contra - You respawn on top of a bullet. You die again. Pretty frustrating in this game.

Megaman - MIGHT work, but getting knocked between 2 enemies is instant death. Think about the small birds in MM2.

So I think that this is a terrible, terrible idea. I think what you're looking for is SHORTENING iframes. For example, dropping iframes from 2 seconds to a half second. I could get behind that.

Steffenfield

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #10 on: November 06, 2019, 05:45:28 pm »
Thanks for the feedback PowerPanda.  :)

I played Mega Man 1 with no iframes for about an hour last night.

Not that I didn't have some entertaining moments of complete hell during this time, but yeah, it was absolute garbage.  :D

Anyway, I thought it might have been a fun concept, adding more realism to these games, but I was definitely wrong on that.

Oh, and hey, KingMike!

I remember you from about 20 years ago it seems.

You were probably my favorite poster in the scene back then.

I went by the name Opus in those days.

Nice to see that you're still around.  :)


kuja killer

  • Full Member
  • ***
  • Posts: 173
    • View Profile
Re: How difficult would it be to remove invincibility frames?
« Reply #11 on: November 06, 2019, 09:28:31 pm »
I don't recommend doing that for mm games. There's a "hard" version of rockman no constancy that reduces the invisible time to like 2 frames, and it's nigh-impossible to play without serious savestate'ing or TAS.