Hey, good work. I have no idea how you did it though. I saw 3d voxel version of FCEUX, but this is like a whole different representation of 3D. I don't get how you for example did pipes in SMB, is it just hack in an emulator?
Location: Rio, Brazil
That's interesting. It appears that you've optmized the algorhythm for super mario bros so far. It may be a matter of improving it on a game by game basis as time goes on, or providing the user with tools to adjust it themselves. Maybe even a way for people to share their adjustments for each game.
I don't know if you understand English, but this wasn't what I meant. I didn't call that your emulator is hacked version of other emulator, I was just asking how you did for example rendering of pipes in Super Mario Bros.? They show interior of pipes, instead of rendering 'blocky' representation of it. Did you make that in your emulator code it shows pipes interiors because you implemented it as special case for SMB, or is it making it by its own?
Basically game objects contains full of blocks and cylinders, the pipe in SMB is determined to be a cylinder like many other game objects. There is not any specific code for any game. SMB is rendered almost perfectly because the game graphic is quite simple and is used to test the emu algorithm. As you can see in other videos, the emu rendering is still far from perfect and there are still many things to improve.
Location: Rio, Brazil
So it is as I suspected, you're using smb to test the algorithm. I do not think you can reach a "consensus" for how it should work for every game. It is an interpretation of what the graphics mean, and I doubt a machine can do it. Why not let people do it? For this purpose people are better than machines... Make it so people can adjust it and then share to a database.
I completely agreed with you about the "consensus" thing. But if the emu can render decently 1/4, 1/5 or even 1/10 nes game collection, it's already a big success for me.
About the manual adjustment idea, to let any adjustment feature have any meaning, we should already have a strong emulation engine as the backbone, no? So for the time being i think i will focus on the backbone first.
As the emu evolves, in the near future i will make the engine sensible with certain vision parameters collected from user like game camera info (strict 2d or 3d, top down or side view, the projection frontier that separate ground and wall planes etc).
The beta release candidature trailer with many new features : better shape segmentation algorithm, transparency, z layers, depth detection etc ...
Link to video
Test Pool contains :
- Legend of Ninja
- Mega Man
- Super Mario Brothers 1
- Super Mario Brothers 3
- Zelda Link
- Castle Vania
- Battle City
Please share your thought.
The beta release will come soon
Judging from the video, this will work best for games with simplistic backgrounds (compare Castlevania's or Contra's rendering to Megaman 1's or SMB3's), so perhaps use more games along that line for the demonstration trailers (like Gyromite, Star Soldier, Bubble Bobble...)?
Also, duck hunt. Probably unplayable in early builds simply because no lightgun support, but it'd be nice to see how that renders.
Ah, a tech demo rather than a trailer.
While I'd still rather see simple games juxtaposed with the more complex ones in the videos, the more complex games do a better job of demonstrating what's coming as far as rendering is concerned.
Amazing work! I'm a dev working in VR and would love to give this a shot with either the rift or a gear VR. Is there any chance that you would post the unity project or make a build with VR mode enabled to test with?
Just wanted to say, congrats on this, this is pretty impressive work. I never envisioned going as far with the 3D effect as you have, and given all the technical constraints imposed by the original hardware, your algorithm for detecting foreground from background is really impressive. I wish you the best of luck with your project, and in finding opportunities to improve it further, and congrats on all the buzz you're getting. It's well deserved.
Thank you for the encouragement. In the development process, i was trying to contact you via Youtube but not available. I'm sure many people have the same idea about the 2D-3D stuff but only you had made the very first step. I were not very sure of how well the public will react to this kind of idea until i saw the public reaction of your clip. At that moment i knew 100% that the interest is always there to conquer and decided to call an all in.
Thank you again!
Because many people said that this emulator may contain some kind of database for specific games, i would like to ask if there is a general method to know which game it is from a random input rom? :) I don't know if this kind of method exist. Thank you.
Editor, Experienced Forum User, Expert player
Wow really cool stuff!
I didn't notice before but I see Mario's shadow even moves into the background when he jumps, nice!
When will a build be available? (I can't seem to get the online version working.)
Just checking that you are aware of the iNES header?
Check out this link if you never heard about it: http://wiki.nesdev.com/w/index.php/INES
Great effort so far!
EDIT: Apparently there is no game TITLE included in the iNES HEADER - I was kinda hoping it was (the header for gameboy roms do contain a game TITLE).
It seems to be a optional FOOTER in the iNES 'standard'. Maybe you can use that info?