This is coming in a whiles after your post, but hopefully I can still put in some input.

I am a freshman in college with my first semester finished. In high school, I had about 3 good friends I enjoyed hanging out with. Besides them, I rarely had any social interaction. I was rarely (maybe once or twice?) invited to anything by anyone other than those 3 friends. The end of my senior year especially was depressing. I got to see everyone else, including my good friends, get invited to a good number of graduation parties while I stayed home. Weekend nights on the computer (like this one now) were common.

Enough about myself, but hopefully that gives you an idea of where I'm coming from. This advice is from very recent experience. I understand what you mean by having people you only have a specific interest with. While others say this is normal, I don't think they git it. If every time you're with them, the conversation turns to just computers or whatever, it's not real friendship. One piece of advice is that you could try doing something or going somewhere with people, so it's not all about a conversation. I also know that living in certain towns (like my hometown) finding something to do can be near impossible.

Now, for making new friends. Honestly, this is hard in high school, but not impossible. Friendships ebb and flow, and all of my friendships have seen different levels. Joining clubs is one good strategy. You could even try starting a club with someone else. For example, if you know someone who enjoys programming and you do too, you could both start a programming club. Why when I just said that only talking about computers is not frienship? Because having a club means you have to interact with people and it can bring in situations for meeting other people. Often, just having a good time with someone is a good sign.

Now, for the advice that is probably most important, what will happen at college. I'm a geek, and I chose NYU, a college that I'm pretty sure is not very geeky at all. I did this on purpose, because I wanted a clean slate and an environment that actively pushed me to become more social. Here's some tips:

- You have to do whatever you can to meet random people in the beginning. Sit with people at lunch, talk to people before class, join clubs, go out with floormates. I didn't do this at all, and now I regret that my only friends are from my floor. You just have to take advantage of this critical period when socializing is extremely open.

- I was extremely depressed during my first few days at college. Many others seemed to have something amazing about them, playing an instrument, photography, acting, etc. Everyone else also seemed much more sociable while I stayed quiet most of the time. I often thought whether I made the right college choice. But after those few days, I suddenly fit in well enough. I was still very much the same person, but after all the stuff about "whoa! you play guitar!" or "dude, you've got so many movies", personalities became more dominant. I wasn't an asshole, and I could be funny on occasion, and I danced like an idiot, but a funny idiot. So the moral of this is, do something in high school that you can show off to other people so those first few college days won't be as painful. Otherwise, just be a nice guy and if you come up with something funny, clever, or interesting, say it!

- After a few weeks of college, you will notice that everyone seems to have an individual label. I don't mean prep, jock, goth, or things like that. More like, everyone has a few personality traits that make them who they are. Somebody might be the big, outgoing guy, or the californian Asian dude, or the quiet we-need-to-get-this-guy-a-date nerd (guess who I am). Whatever happens, don't be the awkward guy. This will mean being natural and casual. If you don't think you can hold a one-on-one conversation with a girl, even if she's just a floormate, then frankly, don't. Large groups are your safest bet.

To return to your high school troubles, here's one last piece of advice. Even though the guy who might be good at acting or talking to girls has his own kind of smartness, make sure that both you and other people respect you. Don't mix with people who disparage science if you're into science. Find people who are willing to be intellectual.

I'm afraid that much of the above was too long, off-topic, or just weird. I'm pretty much writing this as stream-of-consciousness. Just remember:
Be yourself. You can change yourself. You have to like what you change into.