Hacked Punch-Out Controlled With Actual Punches

In a slightly safer departure away from jetpack roller-skating and flinging around bolts of lightning, [Ian Charnas] has been hacking retro video games. After a lot of hard work [Ian] has managed to add pose estimation to control the character is the NES boxing game "Punch-Out." Surely he can't get hurt doing that? No, but since it wasn't fair to hurt the poor suffering characters, without taking any damage himself, he added electric-shock feedback to give the game a bit more, ahem, punch. See, you can get hurt playing video games!

By starting with Google MoveNet, which is a pre-baked skeletal tracking model which can run in a browser using TensorFlowJS, he defined some simple heuristics for the various boxing moves usually performed with the game controller. Next, he needed to get the game. Being a all-round good guy, [Ian] bought an original copy of the game cartridge to obtain the license, then using the USB CopyNES from RetroUSB, dumped out the game binary for the next step.

Emulation of the NES hardware was chosen, taken care of by FCEUX, in order to run the game and the posture model on the same machine. This simplified the control of the game somewhat, since it would be somewhat more work to have it run on the original NES. By using emscripten, FCEUX was cross-compiled to WebAssembly, and so both the game and control side are both in the land of JavaScript. To be honest, after playing the game a little, [Ian] found it far too fast to be playable with posture control, as opposed to much faster button pressing, so some game hacking was required. Emulation made this much easier.

It took [Ian] around two months of disassembling the game binary, and figuring out the game logic around the characters in order to slow them down enough to make it playable, but he did manage it. You can be the judge, since he bought a bunch more cartridges to unlock more license copies, and you can play it too. Just don't add the electric-shock part, nobody needs to be administered electric shock therapy from a two inch high bright orange Mike Tyson!

#games #nintendohacks #emscripten #fceux #movenet #nes #posture #usbcopynes

Hacked Punch-Out Controlled With Actual Punches

In a slightly safer departure away from jetpack roller-skating and flinging around bolts of lightning, [Ian Charnas] has been hacking retro video games. After a lot of hard work [Ian] has managed t…

Hackaday

TOMORROW (722) 7PM - EST
Join #dcg201 @GI_Jack Archville #Linux Perspective

Watch Jack explore #NES #Nintendo games with #FCEUX

Watch @Twitch , #DLive @YouTube @peertube & @torproject https://lnktr.ee/defcon201

#FCEUX is an advanced #NES #emulator.

FCEUX is an accurate emulator for the NES, #Famicom, and Famicom Disk System that supports all video modes. FCEUX features game replays (movies) that can be edited to frame perfect precision. FCEUX also features an extensive debugging system, including a disassembler and ROM viewer, as well as a Lua scripting interface.

Website 🔗️: https://tasvideos.github.io/fceux/web/home.html

apt 📦️: fceux

#free #opensource #foss #fossmendations

FCEUX

A Nintendo Entertainment System (NES) and Famicom Disk System (FDS) emulator.

Had a little #Castlevania fun with #FCEUX on my #OpenBSD laptop while I enjoy my afternoon #coffee. 😁 ☕ 🎮 🐡

Version 0.1 of the Karnov Inspector is ready to use!

#Karnovember #Karnov #FCEUX

https://www.speedrun.com/Karnov/thread/6bhuk/

Karnov - Forum - Karnov Inspector (FCEUX Lua script) - speedrun.com

Speedrunning leaderboards, resources, forums, and more!

Working on some Karnov X-Ray Specs.

#Karnovember #Karnov #FCEUX

... I'm realizing that #OSX / #MacOS does NOT have a "killer app" for me. Windows still does though. There are tons of old ROM hacking and "retro" tools that only run on #Windows ... For example, #FCEUX ... FCEUX includes a debugger and various #ROM #hacking tools the #SDL version of FCEUX doesn't have.

It seems all of the #Mac exclusive stuff is like #XCode , #iTunes , Etc. which has been essentially forced upon us, not that #Microsoft has not done the same thing - but M$ wins in this regard.