There's a lot of simple hacking (eg/ infinite hp, lv 99, max gold) you can do just by using RAM search and changing memory values. But what if you want to do something more elaborate, like messing with your character's acceleration? That's where lua comes in.
To illustrate, I had some fun messing around with Super Mario World. This simple lua script makes Mario go at full speed the frame you press left or right. Mario also floats upwards at full speed by holding B, and will fall just as fast by pressing down. It's a lot of fun to try out and there's some hilarious unintended side-effects, such as dying when touching a green ! block.
Download SMWCheat.luaLanguage: lua
local buttons = {}
while true do
buttons = joypad.get(1)
xspd = 0x7E007B
yspd = 0x7E007D
rxspd = memory.readbyte(xspd)
ryspd = memory.readbyte(yspd)
gui.text(190,40,"horz spd: "..rxspd)
gui.text(190,50,"vert spd: "..ryspd)
if buttons.right then
memory.writebyte(xspd,50)
end
if buttons.left then
memory.writebyte(xspd,-50)
end
if buttons.B then
memory.writebyte(yspd,-56)
end
if buttons.down then
memory.writebyte(yspd,56)
end
snes9x.frameadvance()
end
Since I'm not very proficient in lua, I'm hoping other members will get on board with this idea, since there's tiny gameplay hacks that can make games dramatically more enjoyable to play. Some ideas off the top of my head:
Super Mario World:
-Able to fly with the cape without charging (ie running until you build enough speed)
-Increase the rate at which fireballs are released
-Press a button to make a P-switch fall out of the sky
-Make a duplicate of every enemy on-screen
Super Metroid:
-Instant shinespark charge
-Shinesparks don't cost hp: In fact, maybe they even increase hp!
-Double Samus' natural jumping height
-Beam shoots backwards (Samus must face away from the enemy to hit)
-Power bombs activate without the long explode animation
-A simple morph ball bomb sends Samus flying
-Samus' ship appears in the boss room after the boss is defeated
-Shoot missiles and super missiles simultaneously
Most of those ideas involve making the game easier, but of course you can manipulate the game into becoming harder. For instance, making the main character die in 1 hit.
I think it would be really fun, both from a coding standpoint (better understanding ram search and lua), and obviously the end result of a game on steroids. For now I'd put emphasis on lua scripts that could apply to a broad range of games, such as making the main character move faster.