Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Wonder Boy: The Dragon's Trap – Reverse engineering the 1989 original (thedragonstrap.com)
83 points by eriknstr on Sept 10, 2016 | hide | past | favorite | 22 comments


What nostalgia-- I loved this game as a kid, and haven't seen it brought up for a long time. Technical details aside, I would love to play this in widescreen.

Edit: wow, I just checked out the domain, they are completely updating it?? Everything looks true to the original. I love it. http://www.thedragonstrap.com/


I never played the original, as I was a Nintendo brat, but this looks really fun. I can't wait until they release, and I can buy it and add it somewhere in the playlist I have of a few hundred steam games from humble bundles...


Yeah i met Omar recently I believe it will release in this year.


See also the Monster Boy project.


Is the disassembled and annotated code online somewhere?

I've had a lot of fun reading disassemblies of Pokemon Red https://github.com/pret/pokered


While I admire the sheer skill necessary to reverse engineer a game to that degree (and starting from making a hardware dump!), I can't think but helping that the approach I propose at http://gabrielgambetta.com/remakes.html would take far less work than recreating the game from scratch.


Well, then they can't do widescreen, 60hz, etc. All of which they want to do and arguably have to do to sell it to console gamers nowadays. Aside from that, perhaps they want larger sprites, better physics, a different game saving mechanism, at some point you're holding yourself back by emulating.

And then there's the fact that this blog post just convinced me to buy this game.

I love wonderboy, I think it's extremely underrated and is as classic, and timeless, and as mechanically refined as Super Mario Bros. and Zelda were on NES. Master System just had so much less market penetration that Wonder Boy is now nowhere near the size of those other franchises, not because it lacks the merit, but because it lacked the publicity.

I had thought this was simply a "hand the IP to some new guys so we can milk the cash cow" when I saw the news that it was being made. The fact that these guys give this much of a damn has convinced me to pay full retail, I want them to be able to keep doing this kind of work after this game is done.

/my 2 cents


That's similar to the idea used in a lot of emulators, especially some of the Nintendo 64 ones, except that they programmed those to look for specific patterns of opcodes that they could replace with higher-level C/C++ functions. Some of the emulators might only support 1 or 2 games, but get phenomenal speed emulating them.

Somewhat separate, but related, I remember one of the video plugins that would accept external images as replacements for in-game textures.

Anyhow, I agree that for at least some games, replacing parts of the code makes getting the game running with some degree of improvement easier than completely re-implementing it. On the other hand, I like the idea of reverse-engineering the original binary, and along with an engine re-implementation, providing documentation of how the game originally worked. I think of it as a kind of software archaeology.


I think your approach is clever, and can result in a best-of-both-worlds situation where the original logic runs with improved assets. But I can also realistically see your solution as a stepping-stone to reverse-engineering the game logic itself to the point where it too can be replaced.


That _is_ what they're doing. They're not recreating it from scratch.


Thanks for the clarification. I didn't get that impression on a first read, but ended up having a chat with the OP and I'm now even more impressed by what they're doing!


This is really neat.

I'd curious to see the movement code they ended up using in their own game, though it's understandable if they don't want to share it.


Every time I read things like this, I am fucking awed by the skill of the authors. I consider myself fairly technical but this stuff is next level. Deconcstructing a game is one thing, but writing and teaching about it is a whole different ballgame. Very impressive.


Neat. But why does he say that the original ran at only 30 FPS?

Virtually all of the sprite-and-tile games of the era ran at 60 FPS. Is Wonder Boy III so complex that it only updates sprite and scroll positions every second VSYNC signal?


Yes. It was more common than you think to use a 30hz update, even back then - those CPUs simply couldn't do very much, and it made more intensive scenes possible. Mega Man, to name one famous example, struggles to hit 30hz at points. The arcade Double Dragon seems to manage perhaps 20hz on average.


Weren't most TV's running 25hz or 29.97hz? Double for interlace, but that would still be ~30 fps?


PAL TVs had 50Hz interlaced screen refresh (each refresh updated only half of scanlines, but that's not the same as having a 25Hz refresh). NTSC was 59.94 Hz.

The console hardware had to drive an actual 50/60Hz signal and you had to account for that - including doing some updates/color switches/bank switches in horizontal blank interval (when the cannon was returning to the left side to start a new line) and vertical blank interval (a longer one, when cannon was returning to the top to start displaying another interlaced field - "frame"). So you couldn't just behave like you have a 25/29.97 Hz refresh.

A lot of games did the refresh in lockstep with this frequency so there were actual issues porting them between regions.


I'm not sure which framerates were used on SMS games, but I remember a bunch of Dreamcast games (that I used to play on an old CRT from the early 90s) had you choose between 50Hz and 60Hz when starting, so clearly CRT TVs were capable of using signals higher than 29.97Hz.


I've played all (I think) the Monster World games, from the Sega Master System, to the arcade (on MAME), to the Sega Genesis, to the ports on TurboCD and Game Gear -- I'm really looking forward to this one too. It's just too bad it's not coming to Vita, where I play the majority of my games these days.


Please please please come to GoG. I'll buy it wherever it comes out and I can play it (Vita/PS3/Windows/Linux(!) ) Just don't bother too hard on Vita; I'll never be able to play it on mine.


https://www.youtube.com/watch?v=iDpP2X6-ia4

Excellent remix of the theme for the game .... its Saturday evening after all :)


I think you mean late-morning coffee music. :P




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: