The Player is Not Your Enemy
From YoYoGames Wiki
One of the most important things to keep in mind when designing a new computer game is that you should be nice to your players. The players play the game because they want some entertainment, not because they want to get punished and frustrated. You as a designer have to keep them happy.
Many people that design their first games try to be as nasty as possible to the players. They for example put as many monsters in the game as possible such that you are instantly dead unless you perform exactly the right moves. I know that as a game designer you have that power to punish the players but you should not use it. Treat the player as your friend, not your enemy.
But when is a game nice? What is the right number of monsters in a level? And how strong should they be? When is the game balanced? That is a difficult question to answer. The ability to get it right is something that distinguishes good game designers from poor game designers. (Well, to be more precise, this is combined quality of the game designer and the level designers but I assume that for most of the games created with Game Maker this is the same person.)
That are certain (mathematical) methods to create balance in games and there is theory from psychology on how challenges, player abilities and rewards should be matched but that might be a bit complicated at first.
One thing is clear though: you must test your levels. And you must test them on players that belong to the target group of your game. And be sure: You are not a good tester yourself. You know the game way too well for this and in general you tend to make the game too hard. Don’t use the same testers after each update. Your testers start becoming too familiar with the game. And definitely don’t just publish your game and then provide patches later! This might ruin the reputation of your game.
By the way, note that there is a big difference in testing whether a game is correct (bug-free) and whether it is well balanced. These are different testing procedures requiring different types of people. When testing for bugs you should not play the game but systematically check out all features. You should also do all the possible steps and make all the moves people normally do not do (like hitting your keyboard in random ways).
Having too many or too difficult enemies is clearly not the only way in which you can frustrate the player. Other ways are to make the interface too difficult, not to give feedback on actions by the player, and not to tell the player what to do. In particular the last aspect I see in many games on the site. The goal is simply not indicated, nor is there a description of how to play the game. Game Maker has such an easy to use help system by providing Game Information but many games don’t even use that. And it is really easy to put some information about the controls and goals on the start room of a game or in a room you can reach by clicking some help button. Without it, many people will immediately stop playing your game and will never enjoy all the work you put into it.

