ROM hacking "research stream". A possibility to get some videos to teach with?

Started by FAST6191, March 22, 2022, 11:09:30 AM

Previous topic - Next topic


Over the years "do you have any videos?" has been a recurring notion among those learning/wishing to learn this ROM hacking lark. No tends to be the answer back, and for good reasons; periods of me failing 400 times before I hit upon the logic the game devs used is boring, if I have to further vocalise and explain reasoning for every little step then it is worse still, can't chop out the failures necessarily as they might eventually yield the real answer.

I have been editing/making videos for now north of 20 years it seems, most content I watch is long form content (be it podcasts, livestream discussions, restoration, machining/building/engineering or similar which is often north of 3 hours). Despite that and some serious consideration I am at a complete loss for a scripted/edited format that is going to be in any way compelling and informative.

Also while "I learn by watching videos" is a bit of a meme these days there is some validity to it -- as far as engineering type things go I am firmly in the "I don't have a book problem, I have a book storage problem" camp but still watch loads of video and learn stuff there.

Among the political, drama, interesting events and some history video making set is the idea of a research stream during which one gathers information on a topic to later present in a short form video, or simply to explore a rabbit hole/trip down memory lane. While it is not the whole solution I can see it providing something where other things have fallen short, and may even be a nice example of "open example project" that has been floating around since before I joined here.

Ideas for the format might need to be hammered out. As a general idea though then a game is picked (community, individual hacker, choice selection by those that know to demonstrate concepts, game selection for someone not familiar*... all have merits) and then a reasonable list of goals for a concept (baseline for a translation**, cheats, level tweaks, game logic, graphics tweak, improvement***...) is set about being found, possibly even by multiple methods/specific methods (so relative search works, try another method as though it did not) if rather than a game it is more about a method demonstration or teaching a concept.
If distraction is going to be an issue then maybe a collaborative effort wherein another hacker that can presumably follow along with methods used is there to provide some commentary and distil any chat requests for clarification on a chosen course of action. Could even do it via a shared VM (I would wonder if there is one you can buy in for this online as it were -- even a basic thing to install XP or Windows 7 on that gets wiped after 12 hours would be suitable) or remote control software to swap out if someone needs to take a break/leak/similar.

*I have muscle memory for locations of things in GBA and DS emulators, no such luck for most other emulators or systems. The principles of hacking carry and that lack of muscle memory might even slow things down enough and force enough time in to explain -- "the best person to teach something being one that has just gone through it", "learn one, do one, teach one" and similar such phrases.

**might even pick an English game rather than a Japanese one just to make things a bit easier to follow along with.

***related to this I have pondered doing "hacker reviews" wherein someone takes a game, reviews it and then hacks it to solve problems uncovered during the review.

I don't know that I am necessarily a good candidate for the would be streamer; while I would like to think I have demonstrated some capabilities in this little hobby then compared to the day job as it were I don't have a particularly formal approach list, and my approaches tend to be somewhat scattershot with me often starting out with minimal patience (finding text without matching pointers is "might as well not have bothered" so I will tend to go for both at once, and if text is proving annoying to find I will flick back to pointers to get them and see about matching sentence lengths before going back). Similarly the vast majority of my output for some years now being less format documentation and more stream of consciousness such that someone can take it and fill in the blanks. Equally the way I teach/understand assembly does not share the most with formal computer science/programming approaches, and also tends to assume some familiarity with things from said formal aspects.

Now streaming in the modern internet sense is not something I am in any way familiar with; my entire twitch watching time consists of it had the most stable E3 presentation some years ago (think gametrailers might even have still been a thing for this one) and even that crashed after 30 minutes. Youtube livestreams are a perk afforded for those with a certain watch time/subscriber count as well. Not sure what goes for rumble, dlive, bitchute, odysee and whatever else is taking shots at the kings. Equally despite my video editing skills extending into visual effects, CGI/3d modelling and keying (greenscreen) I have no real experience on the live side of things, though for the most part that is probably going to be stream of single desktop (might have to drop it to one monitor), a chat thing maybe and maybe something for a commentator to highlight things and at the very least take their audio in (think audio call via whatever chat program people care to use) as opposed to live effects, video asides, multiple inputs to switch between and whatever else the big boys do. Audio could also be a fun one as this would really benefit from a good setup here which is not necessarily a cheap hobby (granted I get on well with a Playstation eye -- its 4 mic setup is actually really quite good) and I doubt dragging in title cards/notepad window to type in is going to do much, would also mean voice reveal as it were unless speech to text and text to speech is combined in some unholy conglomeration or we channel the spirit of nurdrage and get some distortion going on.


Why worry about the overall theme and layout of the video tutorials when you can just repurpose another person's layout? You are a romhacker, after all. The Ganesha Dx tutorials are a good start.

If a revenue stream isn't your goal (and it may not be possible given the ease with which DCMA strikes are inflicted - ask a streamer for more info) then you can point to existing videos for simple tasks like making or applying an IPS patch. Retro Game Mechanics Explained has some useful videos you could point to.

I would break it down into two broad categories:

  • Informational: self-explantory.
  • Practical: how do I do specific tasks, break down an intractable problem into small specific tasks, or how do I acquire certain skills (like debugging).

Informational videos are basically university lectures with a PowerPoint presentation and maybe a few short demonstrations of you doing something (or playing a video you previously recorded doing something, with narration). Fairly easy.

Practical videos would be exhausting to make, as you need to do a lot of prep work just to start making the video.  Some things aren't easily described with text or commentary, you need to see it done to understand it.

You could make a Khan Academy (or Patreon, or what have you) account, and to make it more relevant you could orient the videos towards game dev by teaching people romhacking from the ground up, and then lead that to game dev. Getting superchats in Q&A chats to answer questions is one possible revenue stream.

I wouldn't worry about not going in-depth enough, you can always make another video and people will ask questions in the comments. These questions should guide you towards what people want and where you need work.

If nothing else it could get more attention for romhackers from employers, which is always good.