Joined: 3/25/2004
Posts: 459
http://www.youtube.com/watch?v=uGosenaH_8I I think it's a great idea. I'm thinking, there should be a way to write a program to do the total conversion for you, from the Zelda NES ROM, to a 3D version of Zelda based on some FPS engine. Even if you just replace keese with some bad guy from Half Life or Unreal Tournament or Serious Sam, or something. Thoughts?
Post subject: Re: 3D Zelda 1
Banned User
Joined: 12/23/2004
Posts: 1850
Ramzi wrote:
http://www.youtube.com/watch?v=uGosenaH_8I I think it's a great idea. I'm thinking, there should be a way to write a program to do the total conversion for you, from the Zelda NES ROM, to a 3D version of Zelda based on some FPS engine. Even if you just replace keese with some bad guy from Half Life or Unreal Tournament or Serious Sam, or something. Thoughts?
If you feel like figuring out the (frustrating) format it stores its dungeons on, by all means go right ahead. Oh, don't forget adding objects that act correctly and doors and such. This is a very bad example.
Perma-banned
Joined: 5/21/2008
Posts: 15
Location: Cincinnati, OH
You could still reverse-engineer the behavior, right? I mean, if a two-bit Chinese operation could translate most of the plot of Final Fantasy VII into a Famicom game, certainly some interested game designers could translate The Legend of Zelda into a more expressive medium even if not by directly converting the objects as stored in the ROM into the corresponding objects for the 3D version. Oh yeah, as for that Famicom game... http://cinnamonpirate.com/blog/507/
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Yeah, you can always exercise blackbox design; i.e. duplicate its external behavior as well as you can; nevermind the internal implementation details.
Joined: 3/25/2004
Posts: 459
Unrelated to 3D Zelda but I didn't think it warranted a new thread... Shouldn't there be an algorithm for generating random Zelda 1 levels and an algorithm for solving random Zelda 1 levels? So as, one's screensaver could be a computer forming and beating Zelda levels.
Player (36)
Joined: 10/8/2006
Posts: 284
If someone made that, I'd definitely use it for a screensaver. It would be so awesome.
Joined: 10/3/2005
Posts: 1332
I think it's a great idea. I'm thinking, there should be a way to write a program to do the total conversion for you, from the Zelda NES ROM, to a 3D version of Zelda based on some FPS engine. Even if you just replace keese with some bad guy from Half Life or Unreal Tournament or Serious Sam, or something. Thoughts?
If, hypothetically, it were my job to do a remake of the original Zelda, I wouldn't touch the original ROM for the purposes of creating assets of any kind. I'd play the game, but I can only imagine that generating 3D geometry programmatically like you're suggesting would be a lot of work to get a really crappy result. Nevertheless, it would likely entail opening Zelda in FCEU, and finding the tile data for a particular screen using MHS' "group search" feature. This procedure is described in MHS' help file. Hopefully, that process would scale up to convert the entire game in a convenient fashion. Failing that, I'd make (or possibly download from gamefaqs) screenshots of the overworld and all the dungeons, convert them to tga, and do some pattern matching. Failing that, I'd use a debugger, setting a breakpoint on the tile data in the ROM, perhaps, and reverse engineer whatever compression scheme is used to store the dungeons, overworld, etc. Whatever the means of getting the tile data, I'd have to write a script that converts it into geometry for whatever map/level format I were using. And then I'd have a bunch of generic box-room dungeons, in a world that consists of maybe 16 textures, and which is filled with headcrabs instead of bats, and g-men instead of moblins. :p ...But then again, maybe this isn't impracticable? Would it really be that difficult to generate decent looking geometry, lighting, etc from a tile engine?
Joined: 3/7/2006
Posts: 720
Location: UK
Programmatically ripping the sprites and tile data from the ROM during the generation would score much higher program-fu points. This actually isn't too hard a project; once you get over the hurdle of silly data structures in the ROM, the actual transition to 3D is pretty trivial. If you automatically wanted to assign lighting and such you would have to mark certain tiles as light sources (i.e. the torches,) make Link a light source himself, Triforce pieces etc. Then converting them to MAP format ready to be BSP'd (or hell, Doom-style sector mapping) would be a fairly minor job. Screensavers are just .exe files with 'exe' replaced with 'scr', so no problem there. Regarding the problem solving, that sounds like a good and fun idea. You'd have to make sure Link started with the items he needed to do the screen though. Either that, or randomly choose what items he has and generate a doable screen from that information.
Voted NO for NO reason
Joined: 7/2/2007
Posts: 3960
A Zelda screensaver would probably be a simple pathfinding job - you'd start with a graph where nodes are screens and edges are connections between screens (and dungeon entrances simply are edges that break the NESW edge directions). The graph is planar and fully-connected, which lets you use some nice algorithms to find shortest-path routes assuming that each node takes an equivalent amount of time to traverse. The only major problem is rooms like the + rooms in the last dungeon, where, depending on how you enter the room, only two exits are available. I think you could do some kind of state-machine-esque system to map those out without breaking planarity, though. Then you just map out a route for the entire game. Go from the starting point to the first item to the first Triforce to the second item to the second Triforce and so on. Each item you get unlocks additional edges in the graph, so you'd probably re-run your pathing algorithm after getting items. And of course, getting all 8 Triforce pieces opens an edge in the last dungeon. Of course, the real trick is in traversing nodes (rooms). But hell, I've seen a bot play Angband, which is a much more complicated game than Zelda is. Most of the enemies aren't too difficult to deal with, and most of the projectiles not too hard to dodge.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 2/26/2007
Posts: 1365
Location: Minnesota
Heh, I would prefer it to be the original 2D zelda. There is something about Link running around my screen kicking some ass in some old school graphics, as he goes about to save Princess Screen
adelikat wrote:
I very much agree with this post.
Bobmario511 wrote:
Forget party hats, Christmas tree hats all the way man.
Joined: 3/25/2004
Posts: 459
Joined: 3/25/2004
Posts: 459