sp614x / optifine

1.81k stars 418 forks source link

[Suggestion] HUGE list of suggestions #1052

Closed JackDotJS closed 6 years ago

JackDotJS commented 6 years ago

I've been getting far more in-depth usage of Optifine for the last few months, and now I have a list of suggestions I'd like to make.

I still have no idea how Minecraft or Optifine work internally, I can only make an educated guess. So, uh... Don't be surprised if half of these are impossible to accomplish. I'll start with the less ridiculous ones:

1. Custom Colors: Add textures/misc/underwater.png to the list of affected textures for colormap/underwater.png

The underwater colormap covers everything except this overlay. This works fine if the water is generally one color all around, but otherwise it looks ugly.

2. Custom Colors: Add Night and Sunset fog colors

We can change the daytime fog color, so why not nighttime and sunset?

Normally, sunset transitions from orange to pink-ish, so I suggest one of two things to cover that:

  1. A 16x1 colormap
  2. Two new properties in color.properties: fog.sunsetStart and fog.sunsetEnd.

3. Custom Skies: Offset axis property

I feel Custom Skies could be improved by adding a new property, maybe called axisOffset. This property would define the skybox's base rotation before spinning in the direction specified by axis. There would, of course, be three values: X Y and Z. For each value, the maximum and minimum would be 360.0, and -360.0 respectively.

4. Custom Skies: Moon phase property

Still on the topic of Custom Skies, I suggest there should be another new property to detect the active phase of the moon. moonPhase=1-8

This could provide certain effects for Custom Skies, especially full moons. Extra spooky Halloween resource packs, eh? With both of these combined, it would allow full control over Custom Skies.

5. New Feature: Custom VFX (lack of a better name)

Basically, bring back the old "Super Secret Settings" as part of resource packs.

I once saw a resource pack for 1.8 which added a bloom effect to the game. It worked incredibly well. I believe there's a lot of potential for this feature, but unfortunately Mojang removed it from the base game a long time ago.

This could be a new Optifine feature called "Custom VFX." This would allow resource packs to really pop out with special visual effects.

6. New feature: Custom Fog

This is a rather specific visual effect, but I believe creative resource pack authors could make use of this.

Custom Fog would allow resource packs to adjust the fog according to specific events, which include height, biome, weather, and time. The adjustable properties would be fog.density, fog.startDist, and fog.endDist.

7. New feature: Custom Clouds

Now this is where I have suggestions that I'm not fully sure are even technically feasible.

Custom Clouds would allow resource packs to define custom models for the cloud layer. This could open opportunities for resource packs to make "pseudo-volumetric" clouds or even add additional layers of clouds.

Besides models, this could also allow resource packs to change the clouds based on properties such as time and biome

This could either be implemented as an option for the 'Clouds' video setting, or be an entirely new option and require 'Clouds: Fancy' to be enabled.

8. Ability to remove the minimum transparency limit for textures

There is a point where the opacity of a texture is so low that the game will just mark the pixels as invisible. I believe there's a perfectly valid reason for this, but I think there should be an option to disable this for certain textures.

9. Option to make regular lights give off a circular area of light similar to dynamic lights

Whew, what a title Dynamic Lights create circular areas of light which just look absolutely beautiful. This could be extended to normal lights as well.

10. Custom Colors: Ambient occlusion/Smooth lighting

Now this is the most weird and most likely impossible idea I have.

When smooth lighting is enabled, it adds a black shaded spot in the corners of blocks. This is usually called ambient occlusion. For certain resource packs, these shaded spots can look REALLY ugly, and ruin their artstyle.

I suggest adding a new option to change the color of smooth lighting, maybe through a new property in color.properties

Aaaand that's all, folks. I'm going to really try to avoid compilations like this in the future, these just came to me all at once and I didn't want to spam the issue tracker or anything, haha.

It's undoubtedly possible I missed some details here. I've already spent a million hours just trying to type this whole thing out, so questions are wholly welcome.

sp614x commented 6 years ago
  1. Custom Colors The colormap/underwater.png controls the color of the underwater fog. The underwater screen overlay textures/misc/underwater.png uses a fixed color. A new grayscale overlay texture may be added which can be colored with the underwater fog color.

  2. Custom Colors: Add Night and Sunset fog colors The fog color is controlled by colormap/fogN.png. Sunset colors per biome can be added. Also rain and thunder fog colors.

  3. Custom Sky - offset axis Shouldn't this be "rotationOffset" instead?

  4. Custom Sky - moon phase Similar to shaders: https://github.com/sp614x/optifine/blob/master/OptiFineDoc/doc/shaders.txt#L105

  5. New Feature: Custom VFX There is already support for shaders (Video Settings -> Shaders) which can add very complex special effects. The vanilla shaders (Super Secret Settings) are very limited in what they can do.

  6. New feature: Custom Fog This should probably be combined with the fog colors

  7. New feature: Custom Clouds Currently there are the default (3D) and fast (2D) clouds. What could the other cloud models look like? Volumetric clouds need shaders and a powerful GPU.

  8. Ability to remove the minimum transparency limit for textures The minimum alpha level is not defined per texture. It is general and depends on what is being rendered (terrain, water, entities, etc).

  9. Option to make regular lights give off a circular area of light similar to dynamic lights The normal lights already light the terrain around them. The light pattern is not circular because it is calculated using light propagation per block. To make it circular the lights will have to be added as dynamic lights which would be very expensive.

  10. Custom Colors: Ambient occlusion/Smooth lighting The ambient occlusion is the darkening of inner corners because less light can reach them. By definition AO goes towards dark (black), so defining a custom color for AO would not be correct. There is already a user option to control the AO level. What could be added is additional AO control per resource pack, for example ambientOcclusion=80% if the resource pack looks better with less AO.

JackDotJS commented 6 years ago

2. Are you saying there's already a colormap for night fog or do you mean it's already controlled by the daytime fog? 3. Yeah, that's what I meant. Whoops. 7. I didn't mean true volumetric clouds, well... I'm not sure how to explain what I'm thinking of. I just think custom cloud models in general would be a neat addition for resource packs. 10. Even if it's technically not correct, it might help resource packs that are incredibly stylized. (cartoony, colorful, etc) I suppose an AO level would still be fine, though.

Looking back now, quite a few of these ideas seem really out there... eh. Call me a major league spitballer.

I'd love to see the custom fog, at least. I wanna make rain and deserts look more atmospheric in my resource pack. c:

sp614x commented 6 years ago

There is no colormap for the night fog. The idea is that night is dark because there is no light, so the fog is black. Sunset colormap could be added, the game already calculates the smooth sunset transition, but with fixed colors.

Currently there are 3 cloud models that the resource pack can choose from: https://github.com/sp614x/optifine/blob/master/OptiFineDoc/doc/color.properties#L324

  1. 3D clouds
  2. 2D clouds
  3. Skybox via Custom Sky, can be mixed with 1 and 2

The underwater color, fog color, custom fog, moon phase and custom AO are realistic and could be added.

JackDotJS commented 6 years ago

I'm closing this, in favor of splitting these up into separate issues to be tracked much more easily. New issues can be found here, which include fixes and hopefully better wording:

1541 #1542 #1543 #1544 #1545

sp614x commented 6 years ago

Huge lists of suggestions are never good. Several single ones have a higher chance of happening.