Question Upscaling Farmer Sprites

ElegyofSins

Newcomer
Hi there,

I've been trying for some time now and I haven't found a single helpful solution in various Forums and google alike, so I'm kinda getting the feeling, that what I want to do is not (yet) possible.

Is there a way to upscale the Farmer/Npc Spritesheets to a bigger resolution? So far the only thing I found was "Scale Up" in "PyTK" BUT, as far as I understand it that is meant for stationary game assets and/or map tiles.

I tried upscaling the spritesheets with the xBRZ algorythm and just replacing everything with upscaled .pngs. That obviously didn't work because of dimensions.
Then I tried (some) upscaled spritesheets with the corresponding PyTK.json files, and the game accepted those, but scaled them down to "original size" before resizing it ingame. Thus making all my upscaling obsolete, as it was just the same sprite as the original in the end :D
I have found the SpriteMaster mod on Nexus, which upscales the textures live while playing. And as much as I like the idea, that's not *exactly* what I want.

Is there a way to make a spritesheet, let's say 4 times as big, so I can add more details / make a more refined spritesheet, and make the game use this? Or does the game force the 16x16 / 16x32 dimensions before "manually" scaling up when the game runs?

I believe there hase to be a mod solution to change the hardcoded dimension references. But either there are no solutions, or I'm unable to find what I'm looking for OR I'm doing it wrong.
 
Im not sure I understand completely what it is you are trying to do. This was in the mods list on the wiki, would it be of any help?

Edit: to remove link.

I'm not knowledgeable in this area, so please take anything I say with a grain of salt, but I'd guess that the entire game may have to be resampled to the same res in order to be able to accept the res you want, then individual sprites modified, otherwise scaling might be haywire or it might continue to scale your images? That mod also uses xBRZ algorythm (and replaced an older bugged HDTextures mod) so I thought it might be worth mentioning.

Perhaps you could modify that mod (if it is licensed for such), work along side it, or draw some inspiration from it? From other posts it sounds like there is a Discord channel for modding that many find helpful and more immediate also.

Good luck! 🍀
 
Last edited:

ElegyofSins

Newcomer
Im not sure I understand completely what it is you are trying to do. This was in the mods list on the wiki, would it be of any help?
[...]
Ah yes! I think I have to be a little more clear about my intentions. Thank you for your answer.

It's not quite what I was looking for, as I stated in my original Post I already knew about SpriteMaster.

My goal is to upscale the spritesheet to bigger dimensions, and then redraw the sprites with more detail, as I find the 16x32 Format too limiting for my taste, and then use those "high detail" spritesheets, instead of the original ones. No need to rescale via game engine anymore. Knowing, that the game itself "cheats", by upscaling the sprites 4x via the game engine anyway, I thougt there might be a possibility to just *use* spritesheets in that dimension and *not* scale them ingame (if that makes sense to you).

I'm not very good at coding, and I fear that this would be a big part of what I intend to do, as I would have to tell the game: "Hey Bud, those sprites are already 4 times the size of your usual sprites, please don't scale them."
I thougt this was possible with PyTK, as it stated the ScaleUp funktion can be told the new dimensions. Maybe I did something wrong when using it. But the fact, that the explanation referred to Map Tiles and Sprites, makes me think it won't work with character sprites as easily.

SpriteMaster applies the upscale of the xBRZ algorythm on everything (if you include it in the config file), but I don't want it upscaled automatically, I want to use my *custom*, bigger spritesheets. *If* that is possible.

EDIT: I don't know why I didn't realize this sooner: The Mod "HD Sprites" (https://www.nexusmods.com/stardewvalley/mods/4024) does exactly what I'm looking for. ... kinda. With this mod I can use at least 2x bigger spritesheets and modify them, before loading.
Now having found this "solution" I'm standing before two new questions:
1. The mod apparently is discontinued as it got replaced by SpriteMaster (which does not work for my intentions as stated above, or maybe I just don't know how to use it like I want to. If anyone can correct me on that and show me how, please do)
2. I don't know how to code or use GitHub to get the source code to tinker around myself to increase the scaling to x4 instead of x2. If anyone is interested in helping me out here, and would like to have *reworked* higher resolution sprites, hit me up.
 
Last edited:
Apologies, for some reason I had the names between the mod it replaced (HD Sprites) and its name (SpriteMaster) jumbled up. If you jumped onto Discord, and joined the Stardew server, they might be better able to provide you with some clues on how to achieve what you're wanting. I think perhaps some of the folks there might be more active (at least I've seen mention of it that for game modifications they are more active on the Stardew server discord channel).

HD sprites was the first I found also, but I see it is plagued with bugs, and why the other by mistake. SpriteMaster stated somewhere intended as a sort of replacement for it. I think the Spritemaster notes state it was inspired by HD Sprites to address some of the issues.

I was thinking that it wouldn't be too hard to modify the non-bugged one to create the desired scale? What you want to do sounds a lot like a mod might be needed, the modding folks on Discord would know better though. If the other works for you without bugs though, great.
 
Last edited:

mouse

Farmer
PyTK scaling doesn't require them to be "stationary" -- there's not really a concept of that since animations are made up of static frames. You can even use it on things you animate with CP Animations. That said, scaling the farmer through that method is definitely weird. So much of the farmer stuff is done through code, I'm not sure there's a way to do it properly with that route yet. NPCs sure, farmer, not so much. So, same conclusion, different reason? :P

Spritemaster is not using higher resolution sprites, but is doing everything automatically through code, so I don't see how that would be a solution, yeah.
 

ElegyofSins

Newcomer
Maybe I did smth wrong with PyTK then.

As stated above, the HD Sprites mod does what I'm looking for. The mod uses .png spritesheets twice the resolution from the original. So the farmer sprite is 32*64 instead of 16*32. Which gives me room to redraw the sprites with a higher resolution and make them cleaner or more detailed, whatever comes to mind. And it works, when i load the game the sprites used look much sharper. No algorithm scaling (like xBRZ) applied. Now if I could up the sprite size to x4, just imagine how nice the sprites could be looking. And how much more we gould get creative with clothes, sprites and details.

Unfortunately, as I said before, I can't code well enough to modify (or even understand) the source code of HD Sprites, and make it use 64*128 sprites.

I am actually a little surprised, that no one attempted to use redrawn, high resolution sprites. The game is quite old.

I really don't get why using higher resolution sprites, farmer or not, should be such a big problem. What's so different about the farmer sprite? It's just a spritesheet like any other.

Attached the comparison btw "original" and cleaned up by me.
 

Attachments

Top