Yes that was the most provocative, clickbaity title I could think of. Can't wait for it to start showing up in Google searches.
So, the question of "should a fan game include a complete National Pokédex" comes up pretty often in the Discord Castle - and other places I hang out in that talk about fan games - so instead of re-writing the same answer every time, I decided it might as well be a forum thread. The idea is pretty appealing: you like Pokémon games, and you want to make your own, and in order to make a game just like Pokémon [insert your favorite] and [insert whatever its counterpart(s) is] you want to do exactly what they do. Imitation is the sincerest form of flattery, at least when the IP lawyers aren't looking.
Feel free to chime in.
The short answer:
The long answer:
This is going to come in several parts because nothing in game design happens in a vacuum and all of the things you put in a game have ripple effects in a lot of other places. Also, I kinda like to hear myself talk, apparently.
What is "Dexit?"
Assuming you've been anywhere near the inner Solar System for the last 14 months you've probably heard of the little footnote on the games Pokémon Sword and Shield that has had the entire fandom's knickers in a twist for two entire freaking years, but in case you haven't, the short version is that the Gen 8 Pokémon games will not feature the entire back catalog of cute monsters from the first seven generations. There are some valid reasons people are upset, and there are many more invalid reasons people are upset, but the entire issue at hands boils down to this
I won't soapbox about it for too long here, but if you want to read more about the technical bits, you might like these:
Technical art
Resolution and shading
Why can't you just throw money at the problem
Dexit Parallels in Fan Games
So, the problems described above don't translate one-to-one to fan games, mainly because fan games generally rely on a lot of work that's already been created by other people - whether that's the game systems (Essentials, MKXP, Unity, etc), pre-made tilesets (found all over DeviantArt), battle sprites, etc. We're also still using pre-rendered sprites rather than a 3D model which needs to confirm to the style guide from any angle at any point in an animation timeline, which cuts down on the work that needs to be done massively. Unfortunately, "work" takes a lot of different forms, and artist-hours is only one of them.
Pokémon Distribution
As of my writing this there is data about 896 official Pokémon; if you're reading this in the future, there are probably more. Let's see what would happen if you tried to squeeze those all into a single game. Because we're talking about fan games, we're going to be ignoring trading, migration, Mystery Gifts or other peripherals like the Pokéwalker and the weird stuff the Gen 4 spin-offs did.
According to Bulbapedia those 896 official Pokémon are broken up into about 478 official families (although I'm sure as heck not counting them all myself). Among other things, this means that the absolute bare minimum number of uniquely accessible Pokémon you need to make available in order to allow completion of the Pokédex is 401 - the rest can be obtained via either evolution or breeding.
There are also 57 Legendary Pokémon and 22 Mythical Pokémon (grouped into 20 families), and for this little thought experiment we'll assume you're treating those like special encounters and excluding those - although I hope you can already see the problem that's going to come with 77 special encounters or NPC gifts in a single game. Some fan games don't even have that many in their complete Pokédex. So, 401 families.
I could use an actual fan game map as a guinea pig here, but instead let's talk about HeartGold and SoulSilver. Those games are pretty big: it varies depending on what you choose to count, but there are about-ish 80 locations in that game between Johto and Kanto on which you can obtain wild Pokémon. This counts routes, dungeons, and other outdoor areas, as well as all of the towns in the game, although not all of them actually contain random encounters.
Let's start putting those on routes. A back-of-the-envelope calculation tells us that each location needs to have, on average, 5 unique encounters in order for that to work out mathematically. Not every location has to have five unique encounters - some can have two, some can have eight - but on average you need about five. That counts both tall grass and aquatic encounters. Sounds reasonable, in theory.
In theory, there's no difference between theory in practice; in practice, there is
Like most things in game design, it's harder than that.
The little cute monsters aren't distributed uniformly throughout the game - that would actually make the games very boring and prevent you from developing a cohesive game world. All encounters are placed where they are for a reason. Most waterways are utterly clogged with Magikarp and Basculin, which tells you something about both the waterway and the Marikarp and Basculin. Rattata, various bird Pokémon and bug larvae abound in the field and forest routes; again, that's environmental storytelling pertaining to both the routes themselves and the things on them. You would draw different conclusions about Rufflet and its environment if it was a 50% encounter on a route vs if it was only a 1% encounter on a route.
There are also a few related issues that all require the same problem to be solved:
Not all of areas in a game actually contain random encounters
Not all types of Pokémon make sense to be found in all areas (e.g. fire Pokémon on an ocean route)
Also, the "401 evolutionary families" number is deceptively meaningless. It's extremely common to have more than one member of an evolutionary family available at different points in the game (Hoothoot and Noctowl, Wurmple and Cascoon, Lillipup and Herdier and possibly even Stoutland). Generally, it's only third-stages and things that don't evolve by level which you can't find in the wild. Again, this contributes to the game world feeling more like a cohesive place and less like someone threw a bag of monsters at the map and left everything where it landed. No Pokémon game has ever actually made the entire National Pokédex in a single game so we don't have any official references for this, but I'm going to wing it and say you'd want more like 600-700 unique encounters per area for the National Dex to fit comfortably, bringing the average from 5 to about 8+, as if this wasn't already challenging enough.
What? Sword and Shield were the first games to cut the National Dex!
This is where you need to start thinking less like a gamer and more like a game designer, and also people have short memories apparently.
Being able to complete the Pokédex and actually obtaining everything in singleplayer are different matters. In none of the main-series games is it possible to catch 'em all without outside help and / or hacking your game.
Mew is a mythical, so we won't deal with it here. Red and Blue and Yellow almost don't count because at this point in history there was no National Pokédex. Red and Blue had version exclusives (and Yellow had its own list of unobtainables), where some monsters effectively replaced others in the game world. Growlithe and Vulpix both could be found on Routes 7, 8, and the Pokémon Mansion, but only in one game or the other - in any given game, one or the other simply doesn't exist. All in all there were six families that did this in Gen 1, accounting for eleven monsters, which doesn't sound like a lot but at the time that was 7% of the entire Pokédex. All subsequent Pokémon games did this, which would disqualify them automatically, but there's more.
In addition to the version exclusives problem, there was an assortment of Kanto Pokémon who were only usable in Gold, Silver, and Crystal if you transferred them in. Namely, these were the Kanto starters, Kanto fossils, and the group of things that kids call "legendaries." Crystal added a few more.
Ruby and Sapphire were the original Dexit, but back in 2003 I was an annoying kid who thought there was a causal relationship between video games and getting bad grades (and also that good grades were something worth caring about) so I missed most of it. Gen 3 had no backwards compatibility to the first two, which undoubtedly made a lot of people very angry and would have been widely regarded as a bad move. Also, version exclusives, mythicals, etc.
Surely you see where this is going.
Work, work, work
Getting back to the "work" thing from when I was ranting about the fandom, you see there's a bit of a Catch-22 here.
If you try to jam an entire National Pokédex into a small game, your game is going to have an unavoidable feeling that you tried to squash 400 full-grown adults and their families into a four-door sedan
If you want to include the entire National Pokédex in a game but have it feel spaced out and natural where everything feels like they're in their proper places, the size of the world you're making balloons through the stratosphere
Big games are a topic for some other thread, but the work doesn't even end there.
How do you decide where things go? How do you choose NPC trainer teams from the 800+ available Pokémon? How will the player know where everything that they're looking for can be found? How do you balance the game so that the available Pokémon don't give a massive advantage (or disadvantage) to the player at a particular point in the game? How do you feel about actually entering the data for encounters on an uncountably finite number of areas in the game files?
(Drawing another weird parallel to the Dexit thing, the answer to this is also likely not to just throw more manpower at the problem.)
Is it even worth it?
This is probably the biggest question that people don't really want to answer.
It takes a few hundred hours, perhaps a few dozen if you're speedy and know where everything is, to complete the Pokédex. There are already eight generations of official Pokémon games a player could choose to do this in, plus hundreds upon hundreds of other fan games. Is it even worth it? Do you really want to spend a solid week of your life 100%ing a fan game that most people have never heard of when you could also be finishing the main story in ten other fan games, or in ten other Pokémon games, or in ten other video games that exist that aren't Pokémon, or playing with your dog, or playing an instrument, or planting a garden, or taking up a social cause, or going to school, or drawing specular maps for all 896 monsters so you can gloat on Twitter about how you're better than GameFreak (at 10 minutes per texture that's about 6 days of work), or writing an 2,000-word dissertation on why it's a bad idea to include a 900-member Pokédex in your fan game? Unless you somehow make the fan game to end all fan games, for most people, the answer is an easy "no."
Apparently I spent almost two hours writing this thing?
As I like to tell people, if you can't justify why you're doing a particular thing in a game, you should probably put on the brakes and figure out if it's something you should actually do. Whether you like Game Freak or not, they are professionals, and there's a reason for everything they do in their games - and sometimes it works, and sometimes it doesn't, but it's better than yeeting spaghetti at the wall. Wanting to emulate the real games - no, not that kind of emulation - is a nice aspiration to have, but too often people make assumptions about what a game should be without asking questions about why they're doing it in the first place.
edit 13 aug 2021: it's now been two entire freaking years