msikma / pokesprite

Database project of box and inventory sprites from the Pokémon core series games
https://msikma.github.io/pokesprite/
MIT License
972 stars 167 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

That's good news! If there's anything I can help with, let me know :) (except image manipulation/design 👀)

msikma commented 4 years ago

Last few shinies have been done. I'll probably still want to make some adjustments later but at least the first version is done now. I've done all except the Alcremie icons, which I'll be using @mattgcn's work for, which he gave me permission for.

Next steps are to generate JSON files for Gen 8 (separate from the existing one for Gen 7). I'm also generating JSON files connecting item IDs to the icon names. Then using those JSON files to verify completeness, I'll move the new images in place. Then I'll generate some verification pages.

poke_icon_0078_01s_n poke_icon_0967_00s_n_g poke_icon_0971_00f_n_g poke_icon_0938_01n_n poke_icon_0939_01n_n

antoinegillet99 commented 4 years ago

Can you add the 2 (Original ans Shiny) Meltan's ans Melmetal's Sprites for your pokesprite to compled the 7G Pokedex please i love your Work you are the best

msikma commented 4 years ago

Haven't updated in a while. I've been a little busy, but I'm currently still in the process of adding the icons and making sure everything is named properly and there are correct and consistent data files.

I've added the LPLE icons to the update branch (only for the items). I'm now working on the SwSh icons. Since I want to provide two sets of icons - with and without SwSh style white outline - I'm first doing the non-outline versions. Of course, since these icons are lossy compressed, that makes removing the outlines a little harder, but I'll try to have them merged tomorrow.

I'm checking my work every step of the way to make sure I don't miss anything, and I'm keeping a log of all changes I make to existing icons (renaming, updating, etc).

Screenshot 2020-02-07 at 00 02 22

Can you add the 2 (Original ans Shiny) Meltan's ans Melmetal's Sprites for your pokesprite to compled the 7G Pokedex please i love your Work you are the best

Thanks! They will be included. I'll attach them here in case you want to use them ahead of time:

_meltan_regular _meltan_shiny _melmetal_regular _melmetal_shiny

antoinegillet99 commented 4 years ago

Ok thanks toi Miskma

kyleoliveiro commented 4 years ago

FWIW, I found spritesheets for mons and items here: https://www.spriters-resource.com/nintendo_switch/pokemonswordshield/sheet/123710/ https://www.spriters-resource.com/nintendo_switch/pokemonswordshield/sheet/123706/

msikma commented 4 years ago

I've been able to link almost all items to their internal ID numbers. I've made a new data file containing the mappings, and a separate file for unused icons. The unused icons are images that aren't mapped to an internal item ID - these are mainly items that are no longer available in newer games, such as the Aurora Ticket or the Mail items. I've triple checked this list against the PKHeX icons (which was more tricky to automate than I thought) so I'm pretty sure it's correct.

I'll still want to make some fixes, and I'll make a separate JSON file containing a list of the images that are exclusively for older generations, but this will do for now. So I consider the items to be pretty much done. I still need to commit a copy of all items with a white line around them (Sword/Shield style), but that's a very simple matter of running a script to generate them so I'll do that when I'm ready to publish. (The project also contains all Sword/Shield icons without the white outline. And as many icons as possible are taken from the older games, since those have lossless compression.)

Next up I'm mapping all my new shiny Pokémon icons to their standardized sprite IDs/names used by PKHeX and Smogon. Fortunately I have a spreadsheet for this that someone exported for me.

I'll post another update when the Pokémon icons are organized and committed. When that's done we're very nearly ready to publish (just need to write some docs and release notes then).

koenigderluegner commented 4 years ago

I just looked into the unused sheet why are these two in there? (Didnt check further, just noticed these instantly)

"evo-item/metal-coat", "hold-item/kings-rock"

Anyway good news!

msikma commented 4 years ago

That's just an unused copy. Metal Coat is also a hold item, and King's Rock is also an evo item. Only one of the two needs to be linked.

msikma commented 4 years ago

Minor update. I'm very close to finishing up the Pokémon sprites (generating a JSON file and renaming them all, and ensuring all files are accounted for). It's been really surprising amount of work figuring everything out and getting my head wrapped around everything, and knowing exactly what features are disappearing (almost all female icons are gone, so are all right-facing sprites) and what the exceptions are.

Just to give you an example, just now I had to manually rename around 150 icons because their filenames didn't make sense. All new Sword/Shield sprites have a filename like this: poke_icon_0038_00s_n (contains their ID, a form number, a sex indicator that's either s, m, f or n, and optionally if it's a gmax icon or not).

Except that starting with the Kalos Pokémon, the dex number was actually a totally different random number, and from that point on they're no longer in dex order. (For example, Turtonator has dex ID 776, but its filename was poke_icon_0854_00s_n.) So I had to go through them one by one and give them the correct dex number, because otherwise I can't match the icons to the data that I need for renaming them and verifying them.

Fortunately, now that that's done I can finally map all icons to my database of Pokémon names and forms.

The next release will have a JSON file containing the information needed to programmatically use the images. This file (the main file; there will be a few extra for convenience) will have one entry per Pokémon, and will look kind of like this:

{
  "006": {
    "idx": "006",
    "name": {
      "eng": "Charizard",
      "jpn": "リザードン",
      "jpn_ro": "Lizardon"
    },
    "slug": {
      "eng": "charizard",
      "jpn": "lizardon",
      "jpn_ro": "lizardon"
    },
    "gen-7": {
      "forms": {
        "$": {
          "has_female": false,
          "has_right": false
        },
        "mega-x": {
          "has_female": false,
          "has_right": false
        },
        "mega-y": {
          "has_female": false,
          "has_right": false
        }
      }
    },
    "gen-8": {
      "forms": {
        "$": {
          "has_female": false,
          "has_right": false,
          "is_prev_gen_icon": false
        },
        "mega-x": {
          "has_female": false,
          "has_right": false,
          "is_prev_gen_icon": true
        },
        "mega-y": {
          "has_female": false,
          "has_right": false,
          "is_prev_gen_icon": true
        }
      }
    }
  }
}

Note that some things will still be changed, but basically you can see here that Gen 7 and Gen 8 have different sets of icons. If you want to use charizard-mega-x, and you're working with Gen 8 icons, the file will remind you that this icon is actually from the previous generation and might not look super consistent.

Aside from the Gen 7 and Gen 8 sets of icons, I'm also including an edited version of Gen 7 icons that have had their size updated to the new 68x56 size, and had their contrast updated (Gen 8 icons have a bit darker outline colors). This is to make a mix of current and previous generation icons look as consistent as possible.

I really hope to have everything ready for a (public) final check by Monday!

msikma commented 4 years ago

Example

Just pushed a test version of the Gen 8 update. See on the node3 branch.

I'm still writing a bit more documentation and testing some things. I'll make an HTML page with a full list of all the new Pokémon sprites for a final check.

I'm not 100% sure if my shiny icons for #849 Toxtricity-Gmax, #844 Sandaconda-Gmax and #890 Eternatus-Eternamax are correct. It's a little difficult to see what the design changes are for Gmax Pokémon because of all the effects. So maybe someone could have a quick look and see if they're correct.

koenigderluegner commented 4 years ago

tox

tox

I think both normal and Gmax Toxtricity are a bit more red-ish. The normal one is pretty close, color-wise, but I think the gmax one could need a bit more paint. I dont own shiny Sandaconda to counter-check, unfortunately

koenigderluegner commented 4 years ago

Another thing i noticed tox tox tox

the top left alcreamie is the base one just "alcremie", the top right is ruby swirl strawberry, and bottom one is vanilla-cream (which is the basic one ingame) I dont know why the template one is so dark

koenigderluegner commented 4 years ago

also noticed male indeedee is missing, female one is in female/ edit: also slowpoke-galar

msikma commented 4 years ago

Thanks for letting me know. I'll go fix these issues. Regarding the Alcremie icons, the first one is probably my (unfinished) shiny icon that I gave up on but forgot to remove, then the other ones are by someone else who made all the Alcremie variations and gave me permission to use them.

Slowpoke-Galar is missing because we don't have the icon yet, I think—it's in the DLC, so I don't have an icon yet until that's released.

I'll double check those other things too.

koenigderluegner commented 4 years ago

There was a small patch which allowed you to catch slowpoke-galar earlier, see its icon here slowpoke-galar
and its shiny form here slowpoke-shiny

Sources: pkhex repo and serebii

koenigderluegner commented 4 years ago

the gen8 melmetal icon is the compressed one for gen7 instead of the original gen8 one gen7 gen8

msikma commented 4 years ago

You're right, I messed up and accidentally put the Gen 7 icon there. Thanks for catching my mistakes. 😄

msikma commented 4 years ago

Just committed the following fixes:

I also ran pngcrush on all new images.

slowpoke-galar slowpoke-galar-shiny sandaconda toxtricity-gmax toxtricity-low-key toxtricity

Still a bit more documentation to write but I'm nearly done with that.

koenigderluegner commented 4 years ago

looking good! I noticed a few more things, meowstics female versions is called espurr (its pre-evolution) and its male sprite uses gen7, there a more things like this with male/female sprites like hippowdon and unfezant

msikma commented 4 years ago

Seems that when renaming images (which I talked about earlier) I accidentally labeled Meowstic 677 instead of 678. I'll just double check my numbering.

koenigderluegner commented 4 years ago

If that helps, the Gen8 icon for meowstic is the espurr one, but the "real" meowstic has the one from gen 7, both male and female.

Hippowdon has a female gen7 sprite, jellicent and unfezant have a gen7 male sprite.

Kinda strange :D didn't check the other because of an urgent matter

msikma commented 4 years ago

I must've made some mistake in the script for female icons, I've just fixed them manually since it's only a few anyway.

koenigderluegner commented 4 years ago

I haven't found anything else so far, I'll test items as soon as I can

msikma commented 4 years ago

Really appreciate your help! I've gone through some of the items and haven't found anything wrong, but I haven't checked the key items yet.

Still, even if there are some mistakes here or there it's not the end of the world, we can fix that in future updates too. There are a few things I'd like to update in the future that are low priority. For example, none of the mail items or wonder launcher items are linked. There are also a fair number of key items that aren't linked to an item ID.

I haven't been able to find anything like a database matching all item IDs to item names (for all gens), which would help with that. But as long as the most important (Gen 7, 8) items are there and linked to their IDs it's good enough for the first version, I think.

koenigderluegner commented 4 years ago

I'm wondering, is there a map-file that maps ids/slugs to item names? like "Master Ball": "ball/master"? If you have something with higher priority that I can look into, let me know, I'll keep looking for things myself until then

msikma commented 4 years ago

I'm wondering, is there a map-file that maps ids/slugs to item names? like "Master Ball": "ball/master"? If you have something with higher priority that I can look into, let me know, I'll keep looking for things myself until then

No, I decided to just use item IDs and let consumers decide on what language to use in naming the items.

However, I did double check with PKHeX. It has a collection of item icons downscaled (I think for easy display as hold items), so I did the same to my icons and matched them to see if there were any discrepancies.

Here's an example of what that looked like:

Screenshot 2020-02-09 at 23 23 21

The numbers in the rightmost column is the difference between the two images (not all their item images are downscaled 100% the same so a bit of difference is to be expected). I found a few discrepancies this way, with items

I also did this same trick when generating the items with white outline—which are actually (mostly) old item icons (except for the newly introduced ones of course) with a line added to them, as the new Gen 8 item icons are lossy compressed and of lower quality:

Screenshot 2020-02-20 at 18 34 37

So for items I'm pretty sure they should be largely OK.

koenigderluegner commented 4 years ago

Just in case you're still interested in those, twitter user "mattyoukhana_" posted a dump from pokemon home renders, it includes gmax forms without the red aura. Ill add the 3 mentioned before poke_capture_0890_001_uk_n_00000000_f_r poke_capture_0849_000_mf_g_00000000_f_r poke_capture_0844_000_mf_g_00000000_f_r

I think you're version is good.

msikma commented 4 years ago

Ah nice, thanks!

I think everything is basically good, I'm just finishing up a new overview table and then I'll publish it tomorrow.

edit: still a few more small things to finish, but I'll publish Sunday.

AgentKazy commented 4 years ago

(Side note, not really a contribution: I've been following every comment here on my email ever since the Git Issue was opened. Great work from all sides, thank you guys for this!)

rawr51919 commented 4 years ago

@msikma The PR's already been merged (PR #55), so it's likely safe to say that this is taken care of. Are PRs #47, #8, and #52 taken care of too?

msikma commented 4 years ago

I've just finalized the documentation and merged the Gen 8 update.

If anyone notices anything wrong, please let me know. This issue is fine, even though I'm closing it now.

Also see the new readme file.

PokéSprite - Gen 8 update:

New documentation links:

Pokémon

Special thanks:

A lot of work went into making this project and I couldn't have finished the update without the help of others. I'd like to especially thank the following people:


@coltongit I literally just merged it a few seconds ago, I haven't had time yet to clear the other issues. 😄

I'll check them tomorrow since it's really late here.

rawr51919 commented 4 years ago

👍 Good to see that pokesprite's getting a bit of a repo activity surge. Thanks for rectifying this issue and #52 at the same time. Two birds with one stone.

route1rodent commented 4 years ago

@coltongit please give @msikma a break! lol he deserves it he and others (but mostly him) did an excellent work and deserve some love and appreciation :)

I've been also following this thread since the beginning. congratulations and thanks to everyone!

msikma commented 4 years ago

Thanks everyone!

I've added a contributors file. I feel like I've probably forgotten people, so if you feel left out please let me know. 😊

For this file I looked up how many sprites I've created over time and apparently the total is 1616. That's all shiny box sprites, not inventory items and such. Didn't realize the number had grown so big.

antoinegillet99 commented 4 years ago

can you enlarge slightly some the boxes of the pokespire table because some Pokemon are on top of the others for example charizard and charizard G-max are overlapped between the charizard feet and the flaming horns of its G-max version but it doesn’t 'it is not that he could correct you his please I love what you have done for the index, the pokedex of 7G and 8G, the new sprites of 8G and for the inventory i can't wait to see more

msikma commented 4 years ago

I intentionally made them overlap a bit, to save space and because most icons have enough empty space that they can overlap just fine. It's just the overview page, the actual images themselves are separate and clean.

MBCMechachu commented 2 years ago

I apologize if this is being posted in the wrong place I'm still new to this website as I'm typing this. I'm the person in charge of that Pokemon sprite project over on deviantart, you've probably seen it on an account by the name of Pikafan2000, I noticed that the menu sprites for Legends Arceus were being used in the Gen 8 PokeSprite page & I thought I would let it be known some of the sprites currently in use over there are considered outdated. I would've told this to Msikma directly but I don't think this website has anything on the same parallel to a private chat. At the time of me posting this comment this is what the sprites look like right now. National Dex Version Delta Icon Dex Transparent.zip

MBCMechachu commented 2 years ago

I intentionally made them overlap a bit, to save space and because most icons have enough empty space that they can overlap just fine. It's just the overview page, the actual images themselves are separate and clean.

Out of curiosity seeing how you are using the menu sprites from my project for the stuff introduced in Legends Arceus are there plans to do this with subsequent additions should Game Freak decide to not go with making menu sprites again in say Scarlet & Violet?

antoinegillet99 commented 2 years ago

I don't know, only GAMEFREAK knows the answer to this question, but it remains a possibility

Le dim. 17 avr. 2022 à 20:46, MBCMechachu @.***> a écrit :

I intentionally made them overlap a bit, to save space and because most icons have enough empty space that they can overlap just fine. It's just the overview page, the actual images themselves are separate and clean.

Out of curiosity seeing how you are using the menu sprites from my project for the stuff introduced in Legends Arceus are there plans to do this with subsequent additions should Game Freak decide to not go with making menu sprites again in say Scarlet & Violet?

— Reply to this email directly, view it on GitHub https://github.com/msikma/pokesprite/issues/54#issuecomment-1100931003, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOO6H4E6TEJZD42377UQVZ3VFRMADANCNFSM4JL4AT7A . You are receiving this because you commented.Message ID: @.***>

koenigderluegner commented 2 years ago

I intentionally made them overlap a bit, to save space and because most icons have enough empty space that they can overlap just fine. It's just the overview page, the actual images themselves are separate and clean.

Out of curiosity seeing how you are using the menu sprites from my project for the stuff introduced in Legends Arceus are there plans to do this with subsequent additions should Game Freak decide to not go with making menu sprites again in say Scarlet & Violet?

Contributor but now owner here.

I highly assume that GF is not going to continue the pixelated sprites. Unfortunately this repository lacks community support in terms of completely custom created icons (not sure if there's a technical barrier or something like this). If I may say so I would love to keep this repository up to date. Maybe we (@msikma included of course) can do it together? Your collection over DeviantArt is huge and high quality, maybe we can figure something out?

If there's no support by GF, I vote for custom Icons for Scarlet and Violet, if that matters.

msikma commented 2 years ago

I highly assume that GF is not going to continue the pixelated sprites.

I would say this is probably true. They were already too low resolution for the latest games on Switch so I'd expect them to continue with higher resolution images from here. It's likely that no new pixel art box sprites will be released from here on out.

Unfortunately this repository lacks community support in terms of completely custom created icons (not sure if there's a technical barrier or something like this). If I may say so I would love to keep this repository up to date. Maybe we (@msikma included of course) can do it together? Your collection over DeviantArt is huge and high quality, maybe we can figure something out?

If there's no support by GF, I vote for custom Icons for Scarlet and Violet, if that matters.

I totally agree!

I must apologize for how inactive I've been. I've just had a lot of things going on. But I would love to keep this repo up to date and if it's possible at all, I think it would be great to include community made resources! I'll have some time to work on this coming up soon, so I think it would be nice to see what sort of work would be needed to get this happening.

MBCMechachu commented 2 years ago

I highly assume that GF is not going to continue the pixelated sprites.

I would say this is probably true. They were already too low resolution for the latest games on Switch so I'd expect them to continue with higher resolution images from here. It's likely that no new pixel art box sprites will be released from here on out.

Unfortunately this repository lacks community support in terms of completely custom created icons (not sure if there's a technical barrier or something like this). If I may say so I would love to keep this repository up to date. Maybe we (@msikma included of course) can do it together? Your collection over DeviantArt is huge and high quality, maybe we can figure something out? If there's no support by GF, I vote for custom Icons for Scarlet and Violet, if that matters.

I totally agree!

I must apologize for how inactive I've been. I've just had a lot of things going on. But I would love to keep this repo up to date and if it's possible at all, I think it would be great to include community made resources! I'll have some time to work on this coming up soon, so I think it would be nice to see what sort of work would be needed to get this happening.

If you do go through with this the easiest way to get a hold of me specifically would be through Discord. Again I would've much preferred to contact @msikma via private messaging but this website doesn't appear to have that kind of luxury + I think this might be the only website that they're on.

5310 commented 2 years ago

Again I would've much preferred to contact @msikma via private messaging but this website doesn't appear to have that kind of luxury + I think this might be the only website that they're on.

I would just like to mention that commenting on a related Issue or making a new one is a fine way to discuss things on GitHub. It's nothing to worry about.

That said, I found that Michiel is also on Twitter from his website :)

msikma commented 2 years ago

I rarely use that particular handle but if you want to contact me, feel free to use dada78641#0789 on Discord. I'm also on Twitter as dada78641.