Dolphin, the GameCube and Wii emulator - Forums

Full Version: The Big Plan
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

BiggestFZeroXFan

Hi all.

I just wanted to add a place where people can post their own ideas about what they'd like to eventually see in Dolphin REGARDLESS of technical difficulties. Some could be implemented and run in real time on existing hardware, some twenty years from now. This is a forum for presenting new features--NOT to discuss how a feature wouldn't work on existing hardware, wouldn't work at all in a million years, etcetera. This is a forum for sharing which features you would like to have added.

This is a place to discuss what new features you'd like to have added once Dolphin is 100% compatible with ALL GameCube and Wii games. How can Dolphin exceed the abilities of the original GameCube and Wii in other ways?

To help, here are just a few features of Dolphin not in the GameCube and Wii consoles. Arbitrary frame rates. Arbitrary resolutions. Arbitrary anti-aliasing. Arbitrary controller support. Stereoscopic 3D support. Pause/resume support. Save/restore state support. Per-pixel lighting.

Here are a few ideas to get this forum started (and in parentheses how it could be done).
In all of the below examples, no "hacking" or "tweaking" is needed for specific games--they are features that would enhance any game, just as the above examples are applied to every GameCube/Wii game.

Ambient occlusion. This would be to make the game look better. (Ambient occlusion calculations can be based solely on vertices, so normals and light sources don't necessarily need to be present. This could be added to games that don't have lighting sources by calculating the ambient occlusion for each vertex and adding that value to or subtracting it from the material color of each vertex.)

Shadow maps. This would be to make the game look better. (All that's needed is vertices and light sources).

Shadow volumes. This would be to make the game look better. (All that's needed is vertices and light sources).

Phong shading. This would be to make the game look better. This is per-pixel lighting with the vertex normals interpolated. Forgive my ignorance if it's already implemented as part of per-pixel lighting. To make it look more accurate--at a computational cost--normalize the interpolated normals. (All that's needed is vertices and their normals.)

Tesselation or geometry shader. This would be to make objects look more realistic/complex. New vertices can be added to existing objects so that they look less like a polygonal mesh and more like an object in the real-world. (All that's needed is vertices and their normals. The easiest way--not necessarily the best way--is to interpolate the vertices and their normals like with Phong shading, normalize the new normal--an interpolated normal isn't automatically a length of one--, then add the length difference in the normalizing process to the new vertex. Viola! A flat surface is now a curved surface! This isn't the most accurate way, as I said before--you can make the shader more complex for even better, more accurate results.)

Ray-tracing. This would be to make objects look more realistic. This is computationally expensive, so it could be used when you have Dolphin paused (unless you have ridiculously fast hardware to render the game in real-time), so that you can preview what the same game would like in the future. (All that's needed is vertices, normals, material properties, and light sources. In the absence of light sources, object in the scene whose material property is emissive can act as light sources.) (Remark: you can go to Google images and search for "Windwaker raytrace" to get an idea of what at least one GameCube game could look like.)

Replacing bumpmaps with geometry. This is to make an object look more realistic/complex. Bumpmaps were used on GameCube games to simulate complex geometric objects with a simple texture. One problem with a bumpmap is that they are viewing-angle-dependant--a bumpmapped object may look complex from directly above, but from the side, it looks completely flat. (All you'd need is the vertices and the bumpmap).

PLEASE! PLEASE! PLEASE! IF YOU HAVE YOUR OWN IDEAS, PLEASE POST IT! DOLPHIN IS AWESOME! LET'S MAKE IT AWESOMER! :-)
...why did you think our answers would change if you moved to a different thread?

BiggestFZeroXFan Wrote:I just wanted to add a place where people can post their own ideas about what they'd like to eventually see in Dolphin REGARDLESS of technical difficulties. Some could be implemented and run in real time on existing hardware, some twenty years from now. This is a forum for presenting new features--NOT to discuss how a feature wouldn't work on existing hardware, wouldn't work at all in a million years, etcetera. This is a forum for sharing which features you would like to have added.

Ah that's why. Well sorry, you don't get to do that. You can't just make up a dream list of features and drool over how they would make Dolphin better and disconnect it from the realities of it. Just by saying "make Dolphin better" you have brought the application of said features into the discussion. And as we covered over and over again in the previous thread, this isn't even about hardware limitations, this is about limits of what Dolphin can do. As you were told by a developer (the one who redid the OpenGL backend):

degasus Wrote:We don't emulate a 3d engine, we emulate a gpu, so we are only able to execute the original software, which just use polygons.

Raytracing, SSAO, changing game assets, these are all game specific changes related to the game's internal engine. Dolphin is not meant to do that, it emulates the hardware platform. It just does what the game tells it to do, trying to match what the Wii would do in response to the game's demands as closely as possible. If someone wanted to add all of those crazy things, they'd have to edit the game's engine, and that means reverse engineering the engine and ripping (and repairing) all the assets, then making all the nice mods. To do that for a whole game would would be more effort than it took to make the game in the first place.

BiggestFZeroXFan Wrote:In all of the below examples, no "hacking" or "tweaking" is needed for specific games--they are features that would enhance any game, just as the above examples are applied to every GameCube/Wii game.

*sigh* See above.
Three things I would love to see implemented in Dolphin:

1) Perfect GBA <-> GCN connection compatibility. All I'd do is transfer Sonic Advance Chaos to Sonic Adventure 2 or use the Tingle Tuner in Wind Waker (hey, I liked this feature, and I actually used it on the GC with my friend). This is just talk at the moment, but I eventually plan to work on my own GBA emulator some time this/next year; I would be very interested in getting it to talk to Dolphin.

2) Perfect DS <-> Wii connection compatibility. I don't even have any games aside from Animal Crossing that use this feature, but I'm one of those people that sleep well at night knowing that emulators cover features like this. This is even more talk and still years down the road, but it's not really a secret that I have the DS in my sights for an emu project, and again, I'm very interested in getting this to work. It's pipe-dream stuff currently though. The kicker would be getting Dolphin to communicate with real HW (a real DS). I'd totally flip if my DS were able to interact with my PC that's acting like a Wii over a private Wi-Fi network </nerdfantasy>

3) Perfect emulation of the Zelda microcode. This is the holy grail of wishes. That is all.
Shonumi: You should talk to jchadwick on #dolphin-dev; one of the main hiccups rewriting the GCN <-> GBA code is that part of the problem is how the GBA emulators handle joybus.

Also, I know he stated that this wasn't about realism, but why even bring up zelda ucode? It's impossible to ever do ever because it's impossible! FOREVER!
(02-22-2014, 04:49 PM)JMC47 Wrote: [ -> ]Shonumi: You should talk to jchadwick on #dolphin-dev; one of the main hiccups rewriting the GCN <-> GBA code is that part of the problem is how the GBA emulators handle joybus.

Currently, I know next to nothing about emulating the GBA (haven't started yet, but I will look through GBATEK eventually), but I will definitely hook up with jchadwick soon, thanks for the heads-up. Smile

(02-22-2014, 04:49 PM)JMC47 Wrote: [ -> ]Also, I know he stated that this wasn't about realism, but why even bring up zelda ucode? It's impossible to ever do ever because it's impossible! FOREVER!

Spoiler:
Do I have to mention that it was also impossible to fix the Wind Waker heat bug, the non transparent water in Mario Sunshine and bounding boxes in Paper Mario?

Come on guys, I know you can do it. You don't have to work hard on it and you could even take one year to finish it but I can't imagine LLE will replace HLE at some point.
I was being sarcastic because of all the outlandish stuff in the first post, that's all.
Hmmm, since he did say to ignore hardware limitation, I wish Dolphin could materialize cookies while im playing, maybe milk (with the glass) too.
/End of trying to be even slightly funny.

Man this thread is probably going to end in a very ugly way. This sort of thing sounds like it belongs in Delfino Plaza if at all.