It’s generally advisable to have some sort of limit on the number of skills simultaneously available to your player in battles, though that limit doesn’t necessarily have to reflect the total number of skills available in your game. Assuming we’re talking about turn-based combat, there are a number of issues that go along with giving characters large skill lists in battle. For example:
- You can safely assume that players will generally prefer using the skills which let them win battles most efficiently (spending the fewest amount of turns and resources possible, in this context). Sometimes players will deviate from this if another skill gains value in certain contexts (e.g. a skill which can strike an elemental weakness, or one which gives resistance to a certain status ailment that a boss uses regularly). But the problem is that characters only get so many actions in battle, and the more skills that are competing for usage, the harder it is to ensure that they’re all still used with some regularity. Many will just collect dust, even if they’re just slightly less useful than the other skills the character knows. Secondary mechanics like skill cooldowns can help correct this to some degree, but they can’t stop the problem completely.
- Even if you do a great job of making useful skills and balancing them against each other, you can run into a new problem where the player has too many viable options each turn in battle, and it becomes difficult to make choices quickly. This drags out your combat as the player is forced to consider each option individually. They’re likely to get tired before long and just opt to take the fastest/most straightforward approach, even if the overall results are worse.
- Big skill lists require more scrolling through menus in battle. This sounds like a minor issue, but the time will add up if the player has to do it regularly, and your combat will get boring more quickly.
You get the idea - skill bloat doesn’t usually make for fun battles. Fortunately, there are a number of ways to help correct it even if you make it possible for players to acquire many different skills. Here are some ideas:
Skill Evolution: Building on some of the discussion above, if you have a series of skills that do basically the same thing, but each skill in the series is just stronger than the last, you can have the stronger skills just replace the weaker ones in the command list. Be careful doing this if the stronger skill costs more than the weaker one, though. Similar to what
@Heirukichi mentioned, there are times when a weak, cheap skill is useful for finishing off enemies at very low HP, and you probably don’t want players “opting out” of evolving their skills for reasons like this.
Skill Equip Systems: You can have a large pool of available skills and simply have players select from among them outside of combat. Skill balance is still an issue, but if players are free to combine skills in whatever way they please, having a large range of options makes it easier for them to specialize characters in certain ways and develop multiple viable approaches to combat. You can also impose limits on equipping certain skills, such as giving characters a selection of different “Ultimate” moves and only allowing them to equip one at a time.
Skill Trees: Skill trees let players specialize in just one segment of your large overall skill pool, narrowing their selections in battle and forcing them to accept the tradeoffs which come with their chosen specialization. It’s a popular way to offer the player customization which is still railroaded to some degree, and it can even be combined with mechanics like the Skill Equip system mentioned above.
Skill Clusters: Having mechanics which give characters skills in fixed groupings is another way to accommodate a large overall skill pool. For example, say you have elemental stones which characters can equip, and their current stone determines which elemental spells they have access to. Or maybe skills are built into different types of weapons instead. This gives you some different options for balancing, too, since players have to weigh the value of entire skill clusters against each other instead of just looking for the single most efficient skill.
The above methods are just a sample of what’s possible - there are many ways you can keep skills manageable in battle without limiting your game’s total skill pool. Just make sure you’re designing each skill with a clear purpose in mind, and that those purposes are actually worthwhile compared to just using the most efficient skills to power through each fight. Best of luck with it!