I spent seven semesters in college studying German and got the basic grammar, but when I went to a German-speaking country I discovered to my dismay that I couldn't converse with a native speaker. After three months of living in a boarding school in Switzerland (they spoke Hochdeutsch at the school), I was fluent.
Teaching yourself is tough even if you're immersed. The best way to learn a language is to be surrounded by it. But that's not always possible. Your advantage is that you have native speakers to talk to, even if only through Skype. Talk to them as much as possible. And tell them not to change the way they speak for your sake - if they talk really slowly and simply, you'll never understand natural speech. If they speak normally, you will eventually get used to it.
Unless you're a small child, you can't really learn a language passively. You have to be active about studying. If you're interested in grammar, then find resources online and study it - but it's not necessary. My suggestion to you is to learn vocabulary. A good goal if you're serious about learning is ten words a day. Learn - REALLY learn - ten words each day. Don't just study for half an hour each day, either. You have to repeat it several times. Study for 10-30 minutes, then take a break for a few hours. Later in the day, do it again. Keep doing it until you don't even have to think about it. It sounds like a lot of work because it is, but it also really works and your friends will be amazed by how quickly you progress. As for grammar, look up the basics if need be, but mostly just listen to the way your friends speak, the way they order words. If you don't understand something, ask for an explanation. (If their explanation doesn't make sense, ask someone else - you can throw a few questions at me if you like, I don't mind.) Eventually the grammar will just come to you naturally - since you've only been speaking with native speakers, and you've only heard things the correct way, things will start to just "sound right." And always ask your friends to correct you when you make mistakes. German speakers normally don't have a problem with this.
If they don't, you'll learn incorrect things assuming they are correct, and it's *much* harder to change it later.
All this does take a lot of time. Some people have a gift for languages and it goes fairly quickly. For most people it takes many months, even years, even if they're studying every day. Be patient with yourself if it's a slow process. And to help your motivation later, when it feels like you're hardly learning anything, write something in German now. A few sentences, a page. Do this once every couple of months. Later when you're getting frustrated (and you will, just about everyone does), look back at these to see how far you've come. It's a huge motivational boost, trust me.
As for resources aside from native speakers, I have a few. By far the best dictionary I've ever used is this one: dict.tu-chemnitz.de - it's not only a great dictionary which includes colloquialisms and lists of useful words by category, it also has a "study" feature where you can make collections of words and study them each day. It records your progress, drills you more frequently on words you've had more trouble with, and staggers the studying so you get new words a lot of times in a row, then take a break and get them again in a few days to keep your long-term memory strong.
For entertainment, the German TV station ZDF has a web site where you can stream full episodes of many shows. I recommend ZDF Umwelt (environmental show), Mittagsmagazin (mid-day news show), and Die Küchenschlacht and Die KinderKüchenschlacht (cooking competition shows - the second one is all kids). To access it, go to zdf.de and click "ZDF Mediathek" in the upper-right-hand corner. You can browse the shows there (view everything on one list by clicking "Sendungen A-Z" at the top.) Don't worry if you don't understand much at first - you won't. First your ears have to get used to the sound (which is why watching/listening as often as possible is extremely helpful) and then you have to learn the vocabulary. Write down a few words that you hear in a show and look them up afterwards. Then watch the same show again. If you do this enough times you might be surprised by how much you can understand. Movies are even better, since you can watch them as many times as you want and get a few more words with each viewing.
I hope all this advice is helpful to you. I'm an English teacher in Prague, so I have a lot of experience helping people learn a new language. I'm also teaching myself Czech - with the advantage that I live in a Czech-speaking country, but still my friends say I'm learning faster than any foreigner they've ever met. If you have any specific questions, feel free to ask me and I'll do my best to help.
It's very ambitious to be trying to learn a new language. Again, be patient with yourself and be disciplined about studying every day, and you will absolutely reach your goal.