game
photo
retro
rant
Not logged in. · Lost password · Register

All content © NFGworld, unless otherwise noted, except for stuff we stole. Contact the editor-in-chief : baldbutsuave@thissitesdomain, especially if you are an attractive young female willing to do nude photography modelling. All rights reversed. 1152

Author name (Administrator) #1
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
Subject: Game Hacking: trap15's Cave Arcade Hacks
trap15 is a pretty cool guy, I hang out with him on IRC and it seems that he's always up to something, from reverse-engineering stuff to building crazy things to basically just hacking the shit out of everything he can get his hands on.  What impresses me is the way he does it: he'll pick it up, turn it over, and put it down rewired and awesomer.

At least, that's how it seems.  I don't know what goes on in his head, but he's constantly and quickly bouncing from one completely project to another, with no apparent similarities between 'em except that they're complicated and usually game related.

I first met him when we had a mutual interest in breaking the encryption on the arcade versions of Raiden II and Raiden DX, the latter being one of my all-time favourite games.  This is, as far as I remember, the only thing he hasn't cracked since we met.

Recently he's been hacking Cave's arcade shooters to make them more fun, starting with DoDonPachi and Ketsui, two of their all-time greatest hits.

[Image: http://nfgworld.com/grafx/games/Trap-DDP-1.png]
DoDonPachi

On DoDonPachi:

trap15: My original idea with modifying Dodonpachi was to make the chaining more fun to me, which I did by making it like Raizing's Battle Bakraid (bomb or die to freeze the chain timer, kill stuff to bring it up).

NFG: How is that different from the normal chaining?

trap15: Normally, the chain timer is very strict: dying or bombing will turn your chain timer to zero, and there's no way to freeze it.  You have to know exactly where everything is, or you're going to miss something, and screw up your entire game run. This style of chaining is not very appealing to me!

And this the core of hacking, isn't it?  Something is broken, or could be made better, and so we hack it.  trap15 has the ability to delve into a game's core and make these tweaks, and so he does.  He had similar motivations for Ketsui, but at first his changes were for the worse.

[Image: http://nfgworld.com/grafx/games/Trap-ketsui.png]
Ketsui

On Ketsui:

trap15: Ketsui is a bit of an interesting story.  I didn't actually know what I was going to do at first, I was just sort of "I want to change Ketsui! Yeah!"  I was stuck on that part of development for a while, [playing] around with changing mechanics a bit to see if I could try finding something fun to do with it.

trap15: One of the first things I tried doing was to remove the total chip counter (which counts towards a bonus at the end of the stage) and sort of combine the two chip counters (the multiplier and the total chip counter).  After running that by my tester, he noted that it just wasn't good, it broke the balance of the game.  So, back to the drawing board!

[Note: in the following context, options are the floating helper modules around a player's ship, not a game configuration option]

trap15: in some desperation for ideas, I asked the shmups IRC channel if anyone had any ideas for what I could do.  While most of them were mediocre, one stood out as A Good Idea (tm): Battle Garegga options!

trap15: So instead of having your option position fixed depending on the battleship you chose, you could now change on the fly between wide, back, forward and SPINNING! 

trap15:It wasn't too long after that I bought CAVE's DoDonPachi Daifukkatsu Black Label for my Xbox360, which gave me inspiration for the most critical aspect of Ketsui Arrange: user-adjustable rank.  The harder you made the game, the more points you get.  At certain rank levels, the game would spit out more chips when you destroyed an enemy.

trap15: of course, I didn't realize how far I should have pushed that concept when I was developing [my modification] 1.0, so the rank purely affected enemy difficulty and chips dropped.  With the release of 1.5, I also integrated the rank into how fast the chips dropped during gameplay, so the higher the rank, the slower your chip counters go down and the lower the rank, the faster they go down.  It's quite awe inspiring to watch someone bust through stage 4 on max rank now :)

On Methodology:

NFG: When you're hacking these games up, what are you faced with when you dig into their internals?  Are you deconstructing them into high-level stuff, or are you searching for things to tweak in hex, GameGenie style?

trap15: The hacking portions of these arranges are quite complex, actually, and they're pretty different between my DDP arrange and Ketsui Arrange.   With DDP, I was pretty directionless, so I did the worst possible thing: I literally had no tracking on what I was modifying, I edited the ROM directly in a hex editor (laughs).

trap15: while my actual editing process for DDP was... hap-hazard to say the least, the actual reverse engineering was pretty structured.  In fact, the RE portion was basically the same between DDP and Ketsui: I would use MAME's debugger to track memory variables that contained, say, the chain timer, then I would see what code uses that memory, then I would go to that code in IDA Pro and try to understand the function itself.

trap15: since I already know 68000 assembly well, I didn't feel the need to "decompile" it in my head to C or a high-level language.  Eventually I would find what I wanted to change, and then I'd reference my 68000 programmer's manual to find the hexadecimal equivalent of the code that I wanted to change. 

trap15: For DDP, I would write those hex codes right into the ROM.  For Ketsui, I had a program that would do it for me.  So I'd just write down the address and the code I wanted to insert, and it would do it for me.  so I guess most of it could be closer to GameGenie style hacks than anything (laughs).


On Pissing Off Game Companies

NFG: You'd have been right at home in the 1990s with your GameGenie and your little hacking keypad, pissing Nintendo off with your finds.

trap15: Haha, I probably would have. It's a shame I wasn't born earlier to actually experience these games in their natural settings.   Heck, 5 or 10 years earlier, and maybe my assembly knowledge could have gotten me a game development job (laughs)

NFG: That's alright, it seems you've found a new generation of lawyers to annoy.  I hear Cave has noticed your little hacks.

trap15: Haha, oh yes, definitely.  Or at least their lawyers have (laughs).

NFG: You received a Cease and Desist, is that right?

trap15: It was an "informal" Cease and Desist, as in, it wasn't an actual DMCA Cease and Desist letter.  But they did want me to remove my patchers and my screenshots claiming it violated their copyrights.

[You can read their informal C&D right here.)

trap15: what seemed especially odd about the letter was that they seemed fairly hellbent about the screenshots.

NFG: Did you comply with their requests?

trap15: Well, I complied with part of it.  I took down the screenshots (laughs).  I figured "Hey, they don't like me doing screenshots, and they're  a pain to do anyways, so screw it!"

NFG: Makes sense, but it seems strangely petty.  It also seems to me as if that's the only real copyright claim they actually have here.  So you're still offering the patches for download?

trap15: yes, I thought the same. The patching programs were explicitly designed to be clean and non-infringing. I have literally no CAVE copyrighted code in the patcher programs. But I figured "hey, maybe some dumb judge could find screenshots of a modified game to not be fair use".  And yes, the patching programs are still for download.  In fact, I released the 1.5 and "Mr.Stoic" patcher the day after I received the email. This wasn't out of spite, but because I had explicitly promised that I would release on that day.

NFG: Are you worried they're going to escalate the letter writing?

trap15: Yes, slightly. I am hoping that my letter I sent in response will deter them from taking any further action, and I don't believe that I actually have infringed any copyrights, so I would like to think that I'm safe no matter what course of action they decide.

On Feelings, and the Future

NFG: Has there been any reaction from the shmup scene?  Has it affected how you or they view Cave? 

trap15: for the most part, it seemed like the community was disappointed in CAVE for doing it. I think they already knew that CAVE liked to protect their IP, so I don't think it came as too much of a surprise (to be honest, I was expecting one to eventually come around).  Personally, I'm a bit disappointed, but I know why they did it, and I don't blame them, so my view of them hasn't changed much.

trap15: Though, I like to think "Oh man, I bet Ichimura, Yagawa and Ikeda have played this now!! :DDDD"

NFG: So are you done with the Cave hacks, or have you got that burning desire to tweak some more?

trap15: Well, I'm not sure about hacking any more CAVE games. I was thinking about possibly arranging Progear no Arashi, but I decided I wanted to take a break from CAVE hacking for a while.  So now I'm working on an arrange of Athena's Daioh.

NFG: What madness have you got planned for it?

trap15: (laughs) I don't know! (laughs)
BLEARGH
This post was edited on 2012-07-01, 11:28 by NFG.
Author name (Administrator) #2
Avatar
Member since May 2011 · 2485 posts · Location: Brisbane
Group memberships: Administrators, Members
Show profile · Link to this post
You can read more technical details about trap's patches on his website:

DoDonPachi

Ketsui
BLEARGH
Close Smaller – Larger + Reply to this post:
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
We love UNB by Yves Goergen!