Tea Monster, on 08 February 2012 - 01:18 AM, said:
I've often wondered if it would be possible to take the map loading and sector rendering code of EDuke and marry it to the business end of one of the more capable Open Source game engines out there. I have no idea how possible this would be on a practical level. Just seeing some of the examples out there (Source from Quake, Brink from Q3) I keep wondering what it would be like.
The biggest problem with that would be several logical errors with the map design. Particularly, things like overlapping sectors. Modern engines simply are not designed to be able to run things like that. Even the underwater effect would be challenging for many engines. You would think it would be easy to handle, but you actually have to permit actors to fall through the ground/ceiling, or more correctly, have them utilize a collision that is inside the geometry itself. And simply trying to move the sectors so the underwater areas are physically under the water will not work either. I was remaking Raw Meat in Unreal Tournament and I discovered that the underwater areas do not line up. I had to use some artistic license to change the layout into something that could physically exist.
Add to that a number of unique sector effects that defy conventional 3D level design. A lot of the doors (Star Trek doors for example) do not simply move an object but warp the geometry. You'd need to vertex-animate the world geometry, and I don't know of any engine that let's you do that. The earthquakes that make giant slanted cracks in the ground; that's frikkin the level's floor that the player walks on. The subway cars; the Build engine sees no difference between those and the regular rooms.
It would honestly be less effort to completely remake the game with a different engine. And there's people out there who would do it, but it just couldn't be so freely distributed like eDuke and the HRP is.
It would be cool to put together a team and get it legally sanctioned to rebuild the game and have it commercially released, like using the Unreal Engine or something. Hell I'd do it. But it's hard to get the clout to have something like that hold up when you're just taking people who are doing it in their spare time, and it's hard to keep the bigwigs from pulling the plug if you are organized into an official team or a company.