A nerd is a person who is very interested and very good in academics whereas a geek is a person who is extremely or obsessively interested in a particular field, which is not necessarily academic. The main difference between nerd and geek is that nerds have weaker social skills than geeks.
You can distinguish between a geek and a nerd based in part on appearance, but mainly by actions. Any person you meet in a social situation is more likely a geek since nerds tend to be introverted or reclusive.
There’s a vast difference between “gamers” and “nerds” although a lot of people just generalize. Gamers are people who like to game, and they won’t necessarily have a sharp mind. People who dedicate a large part of their life on the computer are nerds imo, but a gamer doesn’t have to be instantly a nerd.