You're not having fun.
Since the entire point of role-playing is to have fun, you need to do something about it. In particular, it sounds like the character he's playing (called a GMPC) is seriously distracting him from his GM task of running a fun story for the other players at the table.
You have several options, depending on whether you're willing to accept him as a GM as long as he changes, or if you can accept him as a part of the group as long as he isn't GMing:
- Talk to the GM about his behavior. Try to be non-confrontational, and don't have this conversation in front of the group; that will just make him defensive and won't accomplish anything. Try persuading him to not bring a character along with the group; he's GMing, not playing.
- Sit out the current game, until the GM is done. There's no need for you to continue playing a game you dislike, so take a break until he's done running the game. Then join the next game, that someone else in the group will run.
- Take over GMing duties, with the support of the rest of the group. Since they already asked you to be the GM, they'll almost certainly be willing to let you run the game. Talk to the other players about this individually before you try this; if you have enough support, you'll be able to usurp his position as GM, and start an entirely different game. Perhaps the current GM will be a better player than they are a GM. And look on the bright side: you now have some fantastic examples of how not to GM, which will make you much better at this new role! You can also combine this with #2 above: sit out the game until it's over, then be the next GM. (Warning: given what you've described of his personality, the current GM is unlikely to take this well.)
- Start a separate gaming group, inviting whoever is willing to play without the problem GM. If some people are unwilling to play with the new group because they don't want to exclude the current GM, then you'll need to exclude them as well. Recruit a few other players from elsewhere if you need to.
- Find a new gaming group. If all else fails, just don't play with this group at all. If they're willing to play with someone they dislike, and you can't persuade them to kick out a problem GM, that's their problem. It doesn't have to be your problem.
Note that none of these options include playing a game you dislike with a GM who you hate. He isn't going to improve on his own, unless you talk him into changing or encourage the group to leave him behind.
On a slight tangent, see the Geek Social Fallacies. It sounds like some of the members of the gaming group are suffering from GSF #1: "Don't exclude anyone" and GSF #5: "Failing to invite someone is a deliberate snub."
My group uses a private Google+ community to organise the games, and G+ alongside Roll20 to play the games. We play entirely online on a weekly basis, mainly because we're all about the same age and have small children and families, so it's difficult to get together for a face to face game.
For D&D 5th Ed you're pretty spoiled for choice, but when it all boils down the best two options are this:
Roll20, either in conjunction with G+ or on it's own. You can create an account and run your campaign through it for free, and the biggest pro (in my opinion) was the ease of use when it integrates with G+. Most everyone has a google account these days, so they also have a G+ account whether they know it or not. Once you've created your game in Roll20, you can choose to launch it in a g+ hangout.
Once you've done that for the first time, whenever you launch a G+ hangout the Roll20 app will be present, and you can launch it and select your campaign from within the hangout. Running the game each week becomes as simple as scheduling a G+ hangout event and showing up - the players don't even need Roll20 accounts, they just click the hangout invite link and game on. The D&D 5e character sheet for Roll20 seems pretty excellent too, with some dice rolling automation built into it. We're taking it for a test run soon hopefully.
The other main option right now, though it can get pricy, is Fantasy Grounds. It's not as simple for the players as Roll20 (which is, as i've said, just a link click), but if they're willing to install the program (available on Steam now as well), Fantasy Grounds is now the official online tool for D&D 5th, in partnership with Wizards of the Coast. It has excellent integration with the rules system and character sheets, as well as supporting hero lab. Some friends of mine swear by it, though it is a bit more complicated to get set up and running.
Both solutions support full voice, and I know Roll20 supports full video both in the app itself and through hangouts, as well as an online tabletop for maps, images, handouts and whatever else you like. This made it a lot easier for us to retain that "social tabletop" feeling, despite playing entirely remote. Using a large enough screen and a good set of speakers and microphone, you could play partial remote (with only a few players remote) or even with everyone in the room and disabling the voice and video altogether if you wanted.
Either way, if you do plan on getting in to running your games online through virtual tabletops, Google+ is your friend! There is a massive community of people there who will be more than happy to lend any assistance required.
Personally, I run a community geared at assisting people to set up, run or find games in the asia-pacific time zones. You can find it here: https://plus.google.com/u/0/communities/100566740249118526694
For other timezones, such as the American zones, a great place to start is here: https://plus.google.com/u/0/communities/107422815813208456454 It's an excellent community filled with friendly people.
Best Answer
There are a few details that may help, as some have already mentioned:
But there are really two fundamental things that make people show up in my experience.
Get aligned on expectations
If you're playing (most) videogames with friends, it doesn't much matter who shows up - you can still have a good time. D&D, while it has some flexibility, really requires a certain number of people to work, and if you've tailored the story to people's characters, may require particular people to be there for a given session in order to go smoothly.1
If you have first-time players, they may not understand this. So talk to your group and establish the importance of showing up every week. If you have enough serious players, you may collectively decide you only want people who can commit to being there every session, barring an emergency. In most cases, you'll have to be a bit more flexible, which may affect what type of game you can play as far as the strength of the connections between sessions. See The Open Table Manifesto for an example of episodic-style gaming that doesn't require the same players every week.
Make the answer to "Are we meeting today?" a permanent YES
This is my number 1 super-secret trick. Once you've established a regular meeting time, make it clear that absent specific information otherwise, you will ALWAYS meet for games at that time. If you don't have a quorum for D&D, have board games or other activities ready instead, suitable for any number of players. It's a nice change of pace, and prevents situations where everyone vaguely thought it wasn't happening because so-and-so couldn't make it - only to discover that so-and-so's situation changed, and they're the ONLY one who made it, when you could have had a full group. Making something fun happen every time, instead of calling the event off when someone can't make it, fixes the expectation of going into people's minds and schedules.
1Aside: when you're missing a key player, I've had good success with assuming people will live through a particular scene and skipping it, then doing a flashback later, as long as you can resolve everything before the next session or so. YMMV depending on game type.