sp614x / optifine

1.81k stars 418 forks source link

[Suggestion] 2D Sprites to replace entities #1949

Open JadeMonsuta opened 6 years ago

JadeMonsuta commented 6 years ago

I am aware that new features added to Optifine of this magnitude are scarce, if not simply something that does not happen, but I would like to suggest a new method that could quite change the way Resource Packs are made, in a major way. On its surface, this may sound like something rather crazy and difficult to achieve, but nonetheless it has some possible benefit either from a performance standpoint, or a mere stylistic standpoint. What I am talking about obviously, is 2D sprites that would be rendered instead of 3D models, in terms of how it could be specifically handled, think of older games like DOOM, Wolfenstein 3D, or other games of their type. The pack artist would be able to define a sprite, define how many directions said sprite would have (4, 8, 16, 32, etc) The artist would also have to include what sprites they want to use for each animation, and how fast they would want to animate them, as well as in what order. The worst issue I can foresee with this is the animation part, there would have to be a way to fallback if a vanilla animation is not defined, a way to stop after playing x number of times, and a way to define if the sprite would face the player in all directions (Appearing the same if you're above or below it) or skewing according to 3D as if it were a cardboard cutout.

sp614x commented 6 years ago

The sprites were working half-way realistically in games like Doom, because the game was 2.5D without a real third dimension. In Minecraft replacing a mob (skeleton) with a sprite is not going to work very well. Looking at a pig from above would look strange if it uses the sideways sprite. Some entities (snowball, xp orb, etc,) are already rendered as sprites, not as 3D models. Generally, can't see this happening except maybe for some specific cases.

JadeMonsuta commented 6 years ago

Even with a voxelized environment such as Minecraft's, this is a feature that I can see having alot of use for artists that have a good understanding of what stylistic direction they want to go. The lo-fi feel of it, atleast I think, would merge well with Minecraft's minimalist environments.

sp614x commented 6 years ago

One general problem is looking at an entity from above/below.

JadeMonsuta commented 6 years ago

...and a way to define if the sprite would face the player in all directions (Appearing the same if you're above or below it) or skewing according to 3D as if it were a cardboard cutout.

I've already mentioned this, sure it's something doom itself lacks, but worst case scenario, an option for top facing / bottom facing sprites is viable, flying / swimming mobs could make use of it with multiple directions, or could keep their stylistic appeal by simply facing the player at all times like an EXP orb would.

sp614x commented 6 years ago

Round entities (xp orbs, snoballs, etc.) are well represented with a sprite because they look identitcal from all sides.

JadeMonsuta commented 6 years ago

I'm aware, but again, one could attempt creating more sprites for more angles (i.e if you viewed them from a 45 degree angle above or below) and that would work out, sure the sprites would often swap in and out of their different frames, but to an extent that can be part of the appeal, part of the charm.

JadeMonsuta commented 6 years ago

image Here's an image with an enemy from DOOM edited into a screenshot, it doesn't look completely out of place, and with enough adjusting, It would feel just as natural as a normal model would.

ghost commented 6 years ago

That would be a lot of work, maybe better as a standalone mod?