3DNes

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

tepples wrote:Very impressive for a heuristic method. Super Mario Bros. works OK, except the treetops in 1-3 look like a green log on top of the tree trunk. But it seems to treat the outdoor background in The Legend of Zelda as thick fog.

I wonder what it does with Dr. Mario or any of Shiru's games or any of my games.
Fortunately my emu can run Thwaite game :D

https://youtu.be/TmxTL8Aw1Ak

For Zelda game, it is the problem of background layers positioning in z axis. I have not tacked it yet.
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
mkwong98
Posts: 282
Joined: Mon May 30, 2011 9:01 pm

Re: 3D Nes Emulator

Post by mkwong98 »

Very impressive! I suggest removing the pixel from the background layer if a sprite pixel is on top of it. This reminds me of another project for game boy but this one use custom model as Gilbert asked:
http://www.emutalk.net/threads/55483-Ga ... -Emulator!

Are you using Unity3D too?
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

mkwong98 wrote:Very impressive! I suggest removing the pixel from the background layer if a sprite pixel is on top of it. This reminds me of another project for game boy but this one use custom model as Gilbert asked:
http://www.emutalk.net/threads/55483-Ga ... -Emulator!

Are you using Unity3D too?
Yes, i'm using Unity too.
What you mean by "on top of it"? I don't fully understand.
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
mkwong98
Posts: 282
Joined: Mon May 30, 2011 9:01 pm

Re: 3D Nes Emulator

Post by mkwong98 »

I mean in front. When the sprite is in the front layer like Mario is in front of the plant in 1-1, remove any pixel from the background object that also has a front layer sprite pixel.

By the way, how will Kung Fu look with this emulator? The main character is on the background layer.
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

mkwong98 wrote:I mean in front. When the sprite is in the front layer like Mario is in front of the plant in 1-1, remove any pixel from the background object that also has a front layer sprite pixel.

By the way, how will Kung Fu look with this emulator? The main character is on the background layer.
I'm afraid that thing doesn't work that way. Because 3d object models must be independent with each other. We don't have the right to remove any thing. What happen if the character move out of background object?
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
mkwong98
Posts: 282
Joined: Mon May 30, 2011 9:01 pm

Re: 3D Nes Emulator

Post by mkwong98 »

geod wrote:I'm afraid that thing doesn't work that way. Because 3d object models must be independent with each other. We don't have the right to remove any thing. What happen if the character move out of background object?
Then is it possible to generate the model, but break the model into 64 pixel size mini models? And the emulator must implement the pixel priority to determine which pixel is visible. This way you can remove pixels that are obscuring others. This also applies to two sprites occupying the same location.

In Kung Fu, I mean the character is actually make up of background objects. Do you treat background objects and sprite objects differently?
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

mkwong98 wrote:
geod wrote:I'm afraid that thing doesn't work that way. Because 3d object models must be independent with each other. We don't have the right to remove any thing. What happen if the character move out of background object?
Then is it possible to generate the model, but break the model into 64 pixel size mini models? And the emulator must implement the pixel priority to determine which pixel is visible. This way you can remove pixels that are obscuring others. This also applies to two sprites occupying the same location.

In Kung Fu, I mean the character is actually make up of background objects. Do you treat background objects and sprite objects differently?
I think that this approach come from the NES PUU itseft by this i mean 2D solution. Imagine that there are two 3D objects with different thickness, we filler out some pixel of back object which is thicker then when the camera is not perpendicular with the scene, the back object still hides the front object from camera view.

Btw, can you show me where to get the Kungfu game?
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 3D Nes Emulator

Post by tepples »

The legal way:
  1. Buy a Kazzo dumper from infiniteneslives.com
  2. Add Kung Fu for NES to your game collection
  3. Dump it
  4. Verify that your dump has the same CRC as the verified good dump
The illegal way: Download a ROM
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

Ok that game i know it. I asked to make sure which game he is talking about? :D
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
mkwong98
Posts: 282
Joined: Mon May 30, 2011 9:01 pm

Re: 3D Nes Emulator

Post by mkwong98 »

I'm interested about what solution you will have for top down games (e.g. Zelda, 1943) or games (e.g. Ninja Gaiden) where the background is likely to be filled with solid tiles.
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

Hello Everyone!
Longtime no see :D.
Lately i'm working to improve the vision and sound.
Lighting and shadows are added.
And now it's time for showcases.
Next step, i will work on depth layers problem.

https://youtu.be/wzBjHEdh14k
https://youtu.be/_Sl_Ou3Wrbc
https://youtu.be/576mERxRnj4
https://youtu.be/oPsWI5htHNw
https://youtu.be/bKHYgiLuiNUw
https://youtu.be/oPL0TqP71eg
Last edited by geod on Fri Jan 01, 2016 2:33 am, edited 1 time in total.
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 3D Nes Emulator

Post by tepples »

576mERxRnj4: Somehow the Castlevania logo becomes a cylinder that occludes the C!
oPsWI5htHNw: Yet something that's supposed to be a cylinder (the Dr. Mario logo) isn't. It tries to make separate cylinders out of the letters in the title. And is there a reason the top of the bottle and the "Game Over" mark pulsate when the bank changes? Is it that it did the depth recognition with one bank, and things differ enough between the banks that the recognition changes?
bKHYgiLuiNUw: Shadows in SMB1. Very nice.
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

Hi tepples,

I was working on Vision and Sound last month.
Concerning PPU 3D, i have changed the underlying code into more general one but haven't touched its functionality yet.
I'm tacking it now, and we will discuss this topic in the next version which is probably playable.
For now just enjoy the lighting and shadows please :D.

By the way, the blinking effect in DrMario is done by bank switching technique? Awesome!
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: 3D Nes Emulator

Post by Drew Sebastino »

I was wondering, when the emulator looks at a 8x8 tile, does it look at any of the ones around it before it decides how it wants to render that tile? I don't know if that makes sense, but I was looking at how the magnifying glass on Dr. Mario has the middle bulging out in a staircase like pattern while the rest is rounded (which is incorrect, but it's a start.) I think some of the bushes and stuff in SMB do the same thing. Maybe you could have it check stuff around it to make it bulge out as much as the stuff around it instead of completely. Just trying to give advice. I really like what you've done so far though. I will say one thing that was strange is how the text in SMB was rendered perfectly, but in Kung Fu, different characters were at different depths for seemingly no reason.
geod
Posts: 134
Joined: Thu Nov 26, 2015 12:02 am

Re: 3D Nes Emulator

Post by geod »

Espozo wrote:I was wondering, when the emulator looks at a 8x8 tile, does it look at any of the ones around it before it decides how it wants to render that tile? I don't know if that makes sense, but I was looking at how the magnifying glass on Dr. Mario has the middle bulging out in a staircase like pattern while the rest is rounded (which is incorrect, but it's a start.) I think some of the bushes and stuff in SMB do the same thing. Maybe you could have it check stuff around it to make it bulge out as much as the stuff around it instead of completely. Just trying to give advice. I really like what you've done so far though. I will say one thing that was strange is how the text in SMB was rendered perfectly, but in Kung Fu, different characters were at different depths for seemingly no reason.
The rendering mechanism is not just based on 8x8 tile, but based on "shape" - meaningful collection of consecutive tiles. Shape recognition - like any recognition problem - is hard and does not have an ultimate answer. On Nes System fortunately we can choose color pattern as the main factor for shape clustering, it works for 90% case. It's still an open problem for improvement through. Consequently an 2D tile is not always mapping to an "3D tile", for example an 2D solid tile can be used in the introduction cube at the begin of SMB, but also be used in grass or cloud. The corresponding 3d tile in each case is completely different. The original code only allowed one 2d tile to be mapped to one 3d tile. For the current code one 2d tile is technically allowed to be mapped to many 3d tile but still be mapped to only one 3d tile. That's why you see some small strange detail in grass, in pipe etc. I could tack it earlier of course, but it would affect greatly on emulation speed so instead i went for the missing aspect (light, shadow, adequate sound quality) first then performance re-optimization. Right now i'm ready to return to 3d convert problem.
3dSen - Play NES games in 3D & VR
http://www.geodstudio.net/
Post Reply