msikma / pokesprite

Database project of box and inventory sprites from the Pokémon core series games
https://msikma.github.io/pokesprite/
MIT License
958 stars 164 forks source link

Add new icons for Pokémon Sword/Shield #54

Closed msikma closed 4 years ago

msikma commented 4 years ago

Relates to #46.

Pokémon Sword/Shield is nearing release (only a few more days), but somehow part of it has apparently already leaked and so I have an early release of the box sprites.

The new sprites are 68x56. Most have been changed, which means I'll have to redo most. The old Pokémon sprites will remain where they are, and the new icons will go to /icons/pokemon-68x56. I can never change the location of the old sprites anymore, because I'll be breaking approximately a billion trade excel sheets 😄

This may not be the definitive list of new icons. The image I linked has some confusing things, like Alolan Raichu and Alolan Dugtrio being smaller than their Kanto counterparts, for example—possibly indicating that their old box sprites are just there for compatibility and they don't actually appear in the game? Or, possibly indicating that their sprites will be updated later. We'll see. In any case, the old icons did get updated (the old ones had 15 colors, the new have 63 colors).

Also, I don't have a dump of the item icons yet. I'll see if I can get one. If you have it, let me know on Twitter.

I don't think anybody cares about the sprite sheet generator, but I'm remaking it in Node/Javascript right now and the new larger icons will become the defaults.

Edit: I've got a full dump of items and Pokémon icons named by ID numbers now, which will be a massive help.

koenigderluegner commented 4 years ago

Really great to hear that! While your at it, can you make an option for the generator to switch back to a large css file instead of Javascript? I know why this decision was made but would like to have it back as css (without using my custom script). I can open up a new issue if you think that's better

msikma commented 4 years ago

Yes, that option will be there.

The reason why it requires JS now is because this was originally written super long ago, and back then it was literally impossible to get it to work with only CSS. Internet Explorer would glitch up and refuse to load CSS rules past a certain number in a file, and performance in other browsers was lackluster too.

These days that's not a problem anymore, though, so JS will not be needed anymore after the script has been remade. But getting the new icons up and making shiny versions is the first priority.

AgentKazy commented 4 years ago

"I can never change the location of the old sprites anymore, because I'll be breaking approximately a billion trade excel sheets 😄"

THANK YOU! That does save a lot of headaches to a lot of people, myself included :P

I'm guessing Meltan and Melmetal will only have sprites with the SwSh update, right? (Any intention to add LGPE sprites? Haven't had the time to compare those to the SwSh datamined ones, don't know if they reused LPGE sprites on SwSh)

msikma commented 4 years ago

I would like to add those too! LPLE also has the larger icon size, so they can be combined. But I believe that every icon that's in LPLE is also in SwSh, so I shouldn't need to add them.

I'm guessing Meltan and Melmetal will only have sprites with the SwSh update, right?

Yeah, there are no Meltan/Melmetal sprites in the old SuMo format. Melmetal is too large to fit in a 40x30 box. So I'm not sure I can add them to the old sheet for compatibility. But I'd be open to doing so if possible.

Also, @AgentKazy Do you happen to have a full datamined zip of LPLE icons? I have a sprite with them but I would actually like to have a zip with the separate icon files as well. If not that's OK, I will ask around elsewhere 🙂

msikma commented 4 years ago

On a side note, it now appears that the SwSh leak might be an older build of the game. That might explain some of the problems with the icons. We'll see if the retail release brings some improvements.

5310 commented 4 years ago

Regarding the SuMo melmetal icon issue. If the ones in #53 are acceptable I can go ahead and finish the shiny variants and check the colors etc.

msikma commented 4 years ago

Thank you for that, but I actually have made a separate Melmetal icon in the meantime, almost the same as the one linked there but with some small manual changes applied. Here's a comparison.

I'll be adding both of these. On a side note, also a change to the data is needed to make sure the new icon is seen by the script.

captainharrie commented 4 years ago

Also, @AgentKazy Do you happen to have a full datamined zip of LPLE icons? I have a sprite with them but I would actually like to have a zip with the separate icon files as well. If not that's OK, I will ask around elsewhere 🙂

Hey did you still need those icons? Separating sprite sheets is super easy to do in aseprite, so if you still need 'em here you go! I've not renamed the items cause I'm not familiar with their IDs, but I did rename the pokemon to their dex numbers for you. LGPE Items.zip LGPE Sprites.zip

msikma commented 4 years ago

@captainharrie thank you! This will definitely come in handy. Really appreciate it.

VexIsRed commented 4 years ago

so it appears the sword/shield files are almost entirely useless. there is alot of noise and colour leakage in the sprites so they will mostly have to be remade anyways. ill get started on that since i was going to anyways

VexIsRed commented 4 years ago

ao its not just the textures they are that way in game aswell. honestly its worth a wait until pokemon home releases hoping it has all the textures we need

route1rodent commented 4 years ago

poke_icon_0940_00n_n

note that SW/SH sprites are 136x112px (with Eternamax Eternatus being the biggest one), 68x56px are the ones from LGP/LGE. I added them here:

SWSH Menu Sprites.zip SWSH Item Icons.zip

kwsch commented 4 years ago

@route1rodent SW/SH sprites are 2x upscaled; they're still the same 68x56 size format.

route1rodent commented 4 years ago

@kwsch you're right, I didn't realise

msikma commented 4 years ago

Hi everyone. Sorry for the lack of updates! It's been difficult for me to find time to work on the update because it just happens to be a weird time for me right now, as I'm soon leaving my current job where I've been for over 3 years. Obviously also because it's December.

I'm not yet at the point where I can just start hacking away icon updates, as I'm still building the definitive list of new icons and figuring out the most appropriate way to organize them. I'm using Gen 7 and LPLE sprites where possible, and SwSh icons where needed, as the chroma subsampling makes them a bit worse than the old icons.

My current plan is to have three icon directories in the root:

I'm using a script to track down icons that have changed from their originals, in case there are a few with very minor changes.

Since the Gen 8 item icons are largely unchanged from the originals, except for a white line, I'm currently planning on running a script to add this white line to the old icons. This is because the Gen 8 icons are generally in lower quality so the more I can avoid using them, the better.

So my todo list is this for now:

I might need some help with tagging. The way I've done this in the past is: first I use a script to rename files that have remained identical (by checking their similarity to the already tagged icons). Then, use a site like Bulbapedia to manually find and rename the ones that are left over. I'm thinking I could maybe put the leftover icons in a freely editable Google spreadsheet and get suggestions on what to name them.

Hope you'll bear with me for a bit longer, I'm working on it and hope to get it all perfect!

koenigderluegner commented 4 years ago

Thanks for the update! I would gladly help to tag the icons, most of them already have a name in most communities which are almost identical everywhere.

I'm wondering, will there be an icon for all 63 Alcremie forms + shinies? There are 9 types of cream and 7 types of decorations but currently only 9 icons for each cream.

msikma commented 4 years ago

I'm wondering, will there be an icon for all 63 Alcremie forms + shinies? There are 9 types of cream and 7 types of decorations but currently only 9 icons for each cream.

I'm not sure. I haven't actually had time to play Sword/Shield yet, so I'm not sure what they look like. Sounds like we could do it, but possibly as a later update after?


In case anyone is interested, LPLE updated a few existing icons:

koenigderluegner commented 4 years ago

I'm not sure. I haven't actually had time to play Sword/Shield yet, so I'm not sure what they look like. Sounds like we could do it, but possibly as a later update after?

I think it doesn't have a high priority right now, but I also think it's not that much effort to do if you're familiar with pixelart (the decorations are very small in each sprite). I have a few repositories which use custom icons, I can check them and see if some of them have custom icons for Alcremie and leave a message when I find some.

I also could reach out to a somewhat large subreddit and see if I can find someone there?

msikma commented 4 years ago

Thanks - though I'd prefer to look at the files first, to see what the changes would be like. Maybe we can script it.

msikma commented 4 years ago

Sorry for the lack of updates.

As I mentioned earlier I was in the process of leaving my job, so it was difficult to do much work.

I've continued working on this now and will have a nice update soon. In the meantime I did more work on the contrast issue I mentioned (old icons have different outlines than new ones) and basically fixed it (just needs a last check), which means the previous shiny icons I made will look consistent with the new ones. I also did some work on adding the same white outline to item icons that the SwSh icons have, meaning we can just convert some of the older icons instead of using the poorly compressed new ones.

Will post an update on this soon.

koenigderluegner commented 4 years ago

Good to hear, is there still anything we can help with? Like the tagging or is that something for after the update? Anyway sounds good to me! Also happy new year

msikma commented 4 years ago

@koenigderluegner I will need some help with tagging the items for sure! That would be super helpful. 🙂 I'll prepare it, I've run a script that filtered out all the items that already appeared in previous games, so we should have only the new ones, but I just need to give that a final check.

koenigderluegner commented 4 years ago

Alright I can absolutely do this, just ping me whenever I can start.

msikma commented 4 years ago

Quick update, I did the updates for the LPLE sprites today. Haven't started on the sprites for Sword/Shield yet, but it should be 94 in total (81 new Pokémon, 13 new variants) if I'm not mistaken. They'll be a bit harder than the Gen I Pokémon but I'm sure I can finish most of them soon.

I've used a script to add lines around all the existing icons, making them look the same as the Sword/Shield versions, except without the poor chroma subsampling.

I still need to re-run my script to get a def list of all new icons (it lists all non-duplicate icons), so that those can be tagged. I'll do that tomorrow.

After that the rest is just tagging. Which is still a bit of time, because the LPLE/SwSh icons no longer include gender specific versions, mirrored icons or Mega Evolutions.

msikma commented 4 years ago

It's more time consuming to make these new icons for Sword/Shield, because the poor color compression I talked about earlier is making it harder to select colors. Everything's just a bit blurry. Really hoping that a future Pokémon game gives us nice and clean versions to work with (I'm keeping PSDs).

koenigderluegner commented 4 years ago

Do you have a rough estimation how far you have come today? Don't want to rush, just curious because I have no clue how long such a thing takes to do.

About the compression, well, that's unfortunate for sure but I use the original icons already in some applications and they look good to me, maybe it's just the surroundings that make the quality look so "awful"? (Focusing on icons in a clean PSD vs having them as part of a UI with focus on content)

captainharrie commented 4 years ago

Since you mention PSDs i'm assuming you're using photoshop for this? If I'm wrong then ignore this (sorry!!) but I highly recommend picking up a dedicated sprite editor like aseprite or pyxel edit or graphicsgale for the cleanup!

I use aseprite myself and I think it's probably the best suited out of them all to what you're trying to do. And you can either buy it, compile it yourself, or download one of the much older versions!

But I recommend asesprite primarily because you can very quickly cut down the colour count by just changing the palette size https://i.imgur.com/PYocnFf.gif and then you can edit the palette itself to adjust colours further https://i.imgur.com/Qdo3ail.gif

It also has scripting support which is something i know nothing about but if you can code w/ lua, you might be able to make this process even faster?

msikma commented 4 years ago

Do you have a rough estimation how far you have come today? Don't want to rush, just curious because I have no clue how long such a thing takes to do.

About the compression, well, that's unfortunate for sure but I use the original icons already in some applications and they look good to me, maybe it's just the surroundings that make the quality look so "awful"? (Focusing on icons in a clean PSD vs having them as part of a UI with focus on content)

I'm not sure if I explained it fully in this issue but the new sprites are lossy compressed with chroma subsampling. Kind of like jpeg (BC1 to be precise). You can see an example here. This just makes it a bit more difficult to make nice, clean adjustments.

It's actually a really poor lack of attention to detail from GF. If we ever get nicer versions in a future game that aren't compressed to hell, the PSDs will allow me to batch update them all.

As for how long it takes, well, it varies too much. Some sprites I can do in a minute and a half. Some take 15 minutes and they still don't feel right. The newer Pokémon are harder because I don't know them that well, and I think Bulbapedia doesn't have their shiny versions listed yet so I'll need to find a different source for comparing.

Since you mention PSDs i'm assuming you're using photoshop for this? If I'm wrong then ignore this (sorry!!) but I highly recommend picking up a dedicated sprite editor like aseprite or pyxel edit or graphicsgale for the cleanup!

Thanks for the suggestion, but I doubt that will speed me up in this case - I'm actually not doing the changes on a per pixel basis.

Basically, when I need to add a new color to a sprite, I do it as a separate layer as one single color and then I blend that new layer onto the background. Then I usually do fine tuning with a few adjustment layers that alter the exact hue, saturation or gamma. So, rather than doing it per pixel, I do it per area. A few blend layers plus adjustments is really powerful and if done right I can finish a sprite in no time.

msikma commented 4 years ago

Update, another 40 icons down today. It's still gonna be a while but I'm getting there. Hoping to have them all done by the end of this week.

edit: I also now have a list of all new items that got introduced in Sword/Shield and haven't been tagged. However I realize now that this doesn't include the items introduced in LPLE, since my rip from that game only included Pokémon and not item icons. So I'm gonna see if I can get another full dump of LPLE before I continue with this.

msikma commented 4 years ago

Still working on the icons, but at least I'm at Gen 8 now.

Later gens (Gen 5 and up, mostly) really have more complex Pokémon designs than before. Especially the legendaries!

koenigderluegner commented 4 years ago

Looking good from what I can tell :) is there more to be done after recoloring? The scripts etc. or are they already finished? (Not including item tagging)

msikma commented 4 years ago

Looking good from what I can tell :) is there more to be done after recoloring? The scripts etc. or are they already finished? (Not including item tagging)

Well, there is one I was thinking of: all item icons now have a border around them as of Gen 8, but it would be a bit of a waste to replace the old icons that don't have a border. So I would like to provide two sets of icons, one with and one without border. For the borderless icons I would like to also provide the new items from Gen 8, meaning that for however many new item icons it introduces I'll need to make a borderless version. But that shouldn't be too difficult.

Aside from tagging I also need to fix the JSON databases. We'll have one for the older Gen 7 and below icons, and one for Gen 8, as they're so strongly different there's probably no point in having them in the same file, although I'm open to opinions on that of course. Gen 8 doesn't have gender differences anymore, doesn't have megas anymore, nor unique right-facing sprites, so the JSON will need to reflect that.

Some quality check would be great too.

Working on more sprites tonight.

koenigderluegner commented 4 years ago

Well, there is one I was thinking of: all item icons now have a border around them as of Gen 8, but it would be a bit of a waste to replace the old icons that don't have a border. So I would like to provide two sets of icons, one with and one without border. For the borderless icons I would like to also provide the new items from Gen 8, meaning that for however many new item icons it introduces I'll need to make a borderless version. But that shouldn't be too difficult.

I think some kind of erosion in a 3x3 mask + color filter should do the trick here, as far as i know theres always a different colored outline next to the white one.

Gen 8 doesn't have gender differences anymore, doesn't have megas anymore, nor unique right-facing sprites, [...]

How exactly do you mean that? Gender differences are still in game like Pikachus heart-shaped tail, or are you speaking exclusively about icons? I always thought they were custom made, same for right facing ones.

If you could provide the JSON with a few examples how to handle all the information then I can help there, too. (if theres anything else not mentioned in your current README)

msikma commented 4 years ago

How exactly do you mean that? Gender differences are still in game like Pikachus heart-shaped tail, or are you speaking exclusively about icons? I always thought they were custom made, same for right facing ones.

I am talking about just the icons. There are still some gender differences, just very few. Most only use one icon for Pokémon that had different sprites in Gen 7.

As for the JSON format, I appreciate the help. I'll probably just copy the existing JSON, remove the data that isn't applicable to Gen 8, and then manually add back the few gender differences and extra sprites that do exist in Gen 8 since there's only a handful, but a few manual checks would be good for that too.

msikma commented 4 years ago

Hi everyone. To anyone who's interested, I've made a list of all new icons from Sword/Shield that haven't been tagged yet.

If you want to help out with tagging them, see this wiki page I made. Instructions are there.

Any help is really appreciated 😊

Some random icons I made yesterday, for no reason:

poke_icon_0953_00s_n poke_icon_0956_00s_n poke_icon_0950_00s_n poke_icon_0946_00s_n poke_icon_0922_00s_n_g poke_icon_0920_00s_n_g

I did about 20 yesterday. Still about 60 more to go. So we're nearly there. Gonna give it one last big push tomorrow and the day after and hopefully that should be it.

koenigderluegner commented 4 years ago

A question about the tagging, how specific should we tag them? Should we add all xp candies into its own group or leave them? And is there a way to add aliases in this format? For example mints reuse the sprites depending on the stat they boost

Edit: btw those icons look amazing, especially corviknight and inteleon

msikma commented 4 years ago

A question about the tagging, how specific should we tag them? Should we add all xp candies into its own group or leave them? And is there a way to add aliases in this format? For example mints reuse the sprites depending on the stat they boost

I'm not sure there's a perfect answer for this, to be honest. I think generally it's best to be too specific than not specific enough, since we can always merge multiple groups together later. And yes, that's a good point for the mints, we can actually make aliases, so in the case for mints we can just call it "red mint", "blue mint", etc. - when tagging, you can put the aliases next to the name in parentheses, like "red mint (lonely mint, adamant mint, ...)"

Also in this specific case I think a separate candy group would be best. There's more candy items to add from LPLE, too, which currently isn't on the list of images to tag.

Also I 100% appreciate any suggestions you might have on grouping or tagging.

koenigderluegner commented 4 years ago

Alright, I tagged nearly everything, but there are some things I want to explain:

msikma commented 4 years ago

Thanks a lot for your help! I really appreciate it. There might be some more icons to tag later on since I still don't have the LGPE icons, but I've asked around for a copy. Would you be willing to help out with them as well?

And thanks for the explanation. Totally agree with your suggestions, they make sense to me.

I'm thinking for the Rotom Bike we could possibly just go with "rotom-bike-1" and "rotom-bike-2", with the first one being aliased to "rotom-bike"?

As for item 1279, I suppose we should call that a dynamax-crystal. That is, it seems to me there's just this one? I'm not sure since I haven't had the time to get very far in the game itself yet

koenigderluegner commented 4 years ago

Thanks a lot for your help! I really appreciate it. There might be some more icons to tag later on since I still don't have the LGPE icons, but I've asked around for a copy. Would you be willing to help out with them as well?

Yes, I think I can do that. Depending on the timing of you posting these, it might be a bit delayed because I have to do some moving the next time, but I'll try to push it inbetween.

I'm thinking for the Rotom Bike we could possibly just go with "rotom-bike-1" and "rotom-bike-2", with the first one being aliased to "rotom-bike"?

Sure! Sounds good to me.

As for item 1279, I suppose we should call that a dynamax-crystal. That is, it seems to me there's just this one? I'm not sure since I haven't had the time to get very far in the game itself yet

Oh, I didn't know this wiki entry existed. I think dynamax-crystal is fitting. The item itself is(/was?) only obtainable as part of the double pack (maybe preorder bonus, dont know for sure). Im not aware of any other kind of a distribution of those.

msikma commented 4 years ago

By the way, would you happen to know what the deal is with Alcremie? As I understand it there's multiple different forms you can get, but there's only one shiny look? (Not that I'm complaining, that makes my work easier...)

Nolnis commented 4 years ago

Alcremie has like a billion different forms based on how and when you spin and what sweet you use. You can see those here: https://www.serebii.net/pokedex-swsh/alcremie/#general

Shiny Alcremie's swirl doesn't change, but the sweets are still different, which you can see here: https://production-gameflipusercontent.fingershock.com/us-east-1:ba2fdd6b-701c-4f26-8723-dd0223cbb949/f463ef39-88c1-4b1a-84b8-fbb8ea3c02b2/e596f4a8-e6ae-4a13-8444-1a373726de6b

msikma commented 4 years ago

Thanks. It seems that there's only icons for the red sweets, it seems. Might be worth making extra forms later on (probably after the initial release).

msikma commented 4 years ago

@koenigderluegner I've just made a page for the LPLE icons that are untagged.

Thanks so much for your help on the SwSh icons. If you have the time I'd appreciate any help you might be able to give for the LPLE icons. Note that these have a white line around them but in the final version we'll have with and without lines, for all icons. Also there might be some duplicates in there that are also in the SwSh set, possibly.

Once these are tagged, I'm going to finalize the item side of the update!

koenigderluegner commented 4 years ago

I'm done, once again some notes:

Maybe we should add all names to poke-candies because the Abra Candy can be applied to Kadabra and Alakazam, too.

msikma commented 4 years ago

Thanks again for your help. Your notes make sense too. The only thing I'm not sure about is the partner-gifts tag. Are you sure they can't be sold? The Bulbapedia page says some of them can, like this one. Although to be honest I think a separate category is just fine.

Bulbapedia agrees with you on the leaves, by the way, judging by this filename.

Good call on the small candies. Apparently my script wasn't calibrated right and it autodetected them as z-crystals.

Screenshot 2020-01-28 at 20 06 38
koenigderluegner commented 4 years ago

Are you sure they can't be sold? The Bulbapedia page says some of them can, like this one.

Well, I just took a few samples, not enough I guess.

Bulbapedia agrees with you on the leaves, by the way, judging by this filename.

Good, so my eyes are still trustworthy :D

Good call on the small candies. Apparently my script wasn't calibrated right and it autodetected them as z-crystals.

Is there a convenient to check all the items? In case there are more errors?

msikma commented 4 years ago

I'm rerunning the script now with a far more strict setting, then I'll just have to manually check. The setting was way too high at first, I accidentally used an old copy of the script.

I'm going to make a confirmation page later, one that lists the old icons and new icons, to check for consistency.

koenigderluegner commented 4 years ago

Sounds good, really looking forward for this new version. I hope theres not much to edit after its release

msikma commented 4 years ago

Seems we only missed the small candies and the gold teeth. That one appears to have gotten an update.

I've got only 8 more shiny icons to finish, which I'll do tonight.