Linked by Thom Holwerda on Wed 9th Mar 2016 23:36 UTC

If you've got access to the Firefox browser, load up the 3DNES emulator right now and witness some actual techno-magic, as ROMs of 2D NES games are transformed into fully 3D experiences. It's half inspiring, half terrifying.

Quite fascinating. Do we have any experts in here who could explain how the developer is achieving this?

Order by: Score:
Semi answer
by judgen on Thu 10th Mar 2016 00:42 UTC
Member since:

Edit from start, It is a GL canvas with pulls, thus the extreme system requirements on a modern computer. You can do this with decently opengl as in demo's from SGI or BeOS in practice and it is not new, but it is innovatice technology but unless you have a vulcan supporting driver you are pretty much "effed".

Have you ever tried the virtualboy? If is conversion and drawing by renditional pulling and lighting. Very impressive work if it works with all games. If it is just one or a few games then the entirey would be as about as hard as porting to a coloured version of the game to the virtualboy. In short, not that impressive.
hqx3 had something like this in debugmode but i am not sure this is in 4 yet. perhaps it is a non-released project source for now. It is hard enough to emulate an entire system.

It seems likely however and spec is likely to arrive, if it works on all games (even the obscure ones especially those who locks screen blocks as black on top and bottom to save CPU and space) i will be duely impressed.

And it is not a simple task to establish debth levels without a signator colour (usually magic pink or others on windows and deeperbluethanblue on some IBM clones)

Edit: My english is rather low skilled.

Edited 2016-03-10 01:00 UTC

Reply Score: 4

RE: Semi answer
by judgen on Thu 10th Mar 2016 00:58 UTC in reply to "Semi answer"
judgen Member since:

Have you noticed the same brain-visual dossconetct that the camera picks up on the video; the remainder flaw in opengl or directx where you botha have the currents state of a sprite (those are rendered by likely SDL or Direct2d or gdi or whatever you are using.) You can see if you look with your bare eye several unneded spiretes in the character or enemies as they should be void.

I am not saying it is impossible but for all those thinking this could be an instant conversion to your game cartridge is fooling themselves. At least at this point in time.
The NES is a limitied machine and has NO depth coordinates. I bet the person or his/her crew set it all by hand. For a demo it is plausible, but doing it for the entire 700+ NES library.... Not likely ore even plausible.

Edited 2016-03-10 01:06 UTC

Reply Score: 2

Can't tell
by JLF65 on Thu 10th Mar 2016 00:57 UTC
Member since:

Doesn't work for beans on my system, and from the comments, not any better for a lot of people. It's not going to be worth commenting on until they get an actual app out because web apps generally suck for many people.

Reply Score: 2

RE: Can't tell
by Morgan on Thu 10th Mar 2016 03:16 UTC in reply to "Can't tell"
Morgan Member since:

Indeed, my gaming rig (though not a top of the line system, still more than capable for modern games) has issues running it even with the latest GeForce driver. I'd be interested in the promised Windows-optimized version.

Reply Score: 2

Comment by ejulien
by ejulien on Thu 10th Mar 2016 08:15 UTC
Member since:

IMHO, this can be done for pretty much any 2d console with separate bg and sprite layers fairly easily.

You first need a functional emulator with a way to capture each graphical layer. All of those are then converted to a voxel grid then upsampled using a clever filter (something akin to hq2x, eagle, etc...) on all axises.

The polygonized voxel layers are then assembled back into the same scene with a spot light casting shadows.

The difficulty is to associate appropriate depth value to each layer and this is probably done per title by the devs (maybe even per level or screen).

Interestingly, there seem to be genuine rendering bugs (blending state issues) but that could come from something else.

I also wouldn't be surprised if those shadows were taking a lot of gpu time to render. The pcf kernel (if that's the method used here) seems very large, precise and costly. I also don't understand the jittering. Shadows should be pretty much perfect as this is basically a static scene.

I don't think this is running on a big name engine (again shadow quality and rendering issues) and this looks like an early prototype as the conversion to voxels seems very crude. Judging from the transparent layers there is no hidden face removal.

One interesting development would be to send that voxel to an iso-surface polygonizer for more enjoyment ;) .

Reply Score: 4

RE: Comment by ejulien
by Earl C Pottinger on Thu 10th Mar 2016 16:04 UTC in reply to "Comment by ejulien"
Earl C Pottinger Member since:

I am guessing, but I would think this 3D emulator would need you to manually enter hints for each and every screen in each game.

It would be a lot of work, but far less than the work to write 3D versions of the same game.

Reply Score: 1

Comment by ilovebeer
by ilovebeer on Thu 10th Mar 2016 15:06 UTC
Member since:

"2D NES games are transformed into fully 3D experiences" is greatly exaggerated. The effect isn't anything new or all that impressive. It's worthy of a curious second look though, after it's been cleaned up.

Reply Score: 2