Variety of basic ROM hacking gimmick ideas to carry over & apply to other games
3 years ago
Bavaria, Germany

I'm posting about this in here, because speedrunners presumably would mainly be interested in unusual or challenging variations of their speedrun games and probably are connected with their corresponding ROM hacking community members (to which some of these things might be forwarded) for games where it exists.

For a game that has had many ROM hacks by fans in the past that I know rather well, Super Metroid, over time various people have come up with sometimes silly, or challenging, or confusing but also interesting types of changes to the original game that are of such a fundamental nature that there is a good chance that many (although probably not all) of those ideas or concepts can be carried over to many other games. They can also lead to intriguing new unique gameplay experiences, and because of that, I think it would be good to mention these concepts in a place where they might be seen by the right people that could find interest in them, and sometimes changes like these can even lead to new discoveries. While I think that some of these concepts (like O.H.K.O.) are rather well-known and may be redundant to list as well, I think some others in this small list would be new to most people:

Basic visuals & graphics affecting changes: ° Blindfold: Turning either the screen into a black screen in general or turning almost all objects' and game elements' colours to black, leaving just a few coloured reference points. ° Colourless: Taking all colours on the whole screen out by reassigning them a grey tone between black & white. ° Transparency/Invisibility: Turning enemies, projectiles, items, the playable character and/or various other game objects transparent/invisible. ° Rainbow: Making the colour palettes used for displaying any object and game element on screen at any time change randomly at a suitable pace. ° Graphics corruption: Making the game read the content for objects' and game elements' graphics in a different format than intended to create corrupted and scrambled but not entirely random looks.

Basic input & controls affecting changes: ° Input lag: Making player inputs wait for a noticeable (e.g. 1 second) delay before they take effect in the game. ° Control inversion: Making the game interpret exactly those buttons as pressed that the player doesn't press and those that aren't pressed by the player as pressed, at any point in time, and for the parts of the controls where this is applicable. ° Control randomization: Making the game repeatedly and randomly permute which function/effect/action is assigned to which button (either at a slow rate or e.g. each time a new room/place is entered). ° Control swapping: Making the game repeatedly alternate (e.g. at a rate of 1 control switch per 1 second) from which of 2 or more controllers it is polling the inputs, for 1 playable character (e.g. for 2 or more players switching the control of 1 character repeatedly). ° Simulated doubled frame rate: Making the game simulate playing at doubled frame rate by having it run its main game loop twice per frame rather than just once. ° Equipment randomization: For all unique items/abilities (without ammunition count or other count associated to them) for which it only matters if they count as possessed or not, make the game randomly in every frame assign which subset of these items/abilities are possessed in any given frame. ° Low/High Gravity: Changing the gravity towards a much lower or higher value to make the playable character jump low & fall like a rock, or jump high & float like a feather.

Basic health points affecting changes: ° One Hit K.O.: Making the playable character die instantly upon taking any damage or getting hit by any damage source; alternatively taking a multiple larger than 1 of the normal damage from damage sources. ° Weaker attacking: Making the playable character's attacks do less damage to enemies (e.g. a half or a quarter of the normal amount), by a factor smaller than 1. ° Invulnerability: Making the playable character take no damage (and/or no knockback) from any and all damage sources. ° Health drain: Make the playable character's health drain constantly over time at suitable rates from the beginning on or upon an event. ° Harmful lag: Make the playable character instantly take adequate damage every time a suitable lag frame occurs. ° Death timer: Setting up a hidden timer that repeatedly counts down over time from random starting values (within a suitable range) and instantly kills the playable character each time it runs out. ° Death chance: Setting up a function that takes a random number each time the player enters a new room/place and uses the random number to decide (with suitable odds) if it should instantly kill the playable character. ° Death by collision: Implementing a function that constantly checks if the playable character is colliding with any object (sideways and/or vertically), and kills the character instantly as soon as that is the case. ° No invulnerability: Turning the playable character's invulnerability time down/off to simulate gameplay without any invulnerability time upon taking damage. ° Fall damage: Making the playable character each time die or take damage that grows according to the fall distance or speed with which the character lands. ° No drop refills: Making collectible drops provide no (or only very little) ammunition of health points upon collection.

Basic (speedrunning) practice affecting changes: ° Practice Info HUD: Designing a heads-up display that provides important information about inputs & address values & the amount of lag & real time & in-game time, and allows to make savestates as well as warping to different places and to choose different equipment loadouts etc.; like a debug mode. ° Blockades removal: Opening all doors & taking out all progression blockades at connections to every place in the game so that those are more accessible from the beginning.

I'm sure one could come up with more basic changes, especially ones that would be more specific to a given game and the parameters that the games uses to control or keep track of certain things, but I think this would already be a decent list and inspiration for more.