Suppose you cannot use players' or DM apartments. Where would you play a whole campaign ? For the very nature of roleplaying, pubs and public libraries are not appropriate. Any proposals ?
First, the generic advice:
- Plan for it. [You do this.] Set aside the first 30-60 minutes for chat.
- Hold your players' interest with an exciting game. [You are doing this.] If they're chatting, frankly, then they'd rather be chatting than playing. Make them more interested in playing than chatting by making your game more interesting. Is there a lot of downtime between "spotlight" time for any given player? Include more in-game activities that engage every player at the same time.
- Create a ritual for starting play. Do something distinctive every game when it's time to start playing: ring a bell, roll some dice, stand up, say "And thus it begins..."
- Ask players questions. Telling players to stop doesn't engage them. Asking them questions gets their attention and demands a response.
You've done some of these things (planning for it, not having a boring game). Have you asked them why they're more interested in chatting than gaming? Are you the only one who really wants to game?
Consider this: Stop GMing for them. Just join their chat. After a while -- maybe an hour or two -- they'll either ask you to run the game (and you can do so with the caveat that as soon as the chat picks up, you'll stop) or you'll realize that they're there to socialize, not to play games. If it's the latter, maybe you should play poker or something else that is more amenable to idle talk.
Smoking: It's not rude to continue to game while your friend smokes. It's rude if your friend expects everyone to stop what they're doing 4-5 times while you're gaming -- even if he MUST smoke every hour. Offer a scheduled five-minute break for everyone at regular intervals. Outside those breaks, continue playing as well as you can without absent players. Hey, people have to use the bathroom and get drinks and stuff, but these don't have to be game-stopping interruptions; neither does a smoke break.
I've dealt with this. Heck, I'm dealing with it right now. If you absolutely can't schedule a game when everyone can make it, there are a few things you can try, which I have tried to mixed success.
1) Play Without Alice
Alice's schedule changed. That's not her fault, but that IS the reality. If this were my game, I'd reluctantly write Alice's character out in a way that leaves the door open for possible return.
This is generally the best solution for the group as a whole, and for the continuity of a single game. It requires no extra bookkeeping, doesn't make anyone run a spare character, etc. But of course it doesn't help Alice at all.
2) Non-Player PC's
Schedule games to allow the most people to attend at different times. Then, when a player isn't there, someone else runs their character. This can be the GM, another player (agreed to by both the absent player and the sub player), or the group as a whole. Regardless, the player should leave a few notes on tactics/behavior for others to try to follow.
This method will keep a game going, but can slow play. There's a bit more to keep track of, and players will need a recap of what they missed every time. It also carries the potential for upset players if someone plays their character wrong. Trust is important here
2a) NPC Alice's Character When She's Not There
Subset of 1 and 2. You play on the same day, and Alice's in the only character that gets NPCed. This is a good idea IF Alice's schedule is subject to change. When I did it, the player in question had a revolving work schedule, AND sometimes had last minute switches from his manager, so some weeks he'd show, some he wouldn't. When he showed, we'd fill him in and he'd take over his character.
3) Alternate Games
When Players A, B, and C are available, you run Demonic Dungeons. When Players B, C, and D are available, you run World of Dimness. This way, everyone gets to play, and no-one misses anything of their game.
This is my second favorite method, which I used with great success for a couple of years when a player could only make every other session. On session A, we'd play one game, and on session B we'd play another. Four players played every week and one played every two weeks.
Of course, your scheduling issues are more complex, and may need more than two games. This will reach a point of diminishing returns if the same person GMs all the games, as it pulls focus and makes more work for the GM. Work =/= Fun
3a) A-Story, B-Story
A special case of Alternate Games. One game, separate, possibly intertwined storylines. This can be tons of fun if the GM is up for it. Often, players who can make both sessions need separate characters for each.
4) Make the absences an in-game thing
Play something where PCs can easily leave and return. This works really well if the game is something weird where people appear and disappear a lot.
Ages ago, I was a player in a long-running game of The Fantasy Trip where the GM simply decreed PCs appeared when their players were there and disappeared when they couldn't make it. It was demented, but we had fun. It was especially odd when it would happen mid-combat. :p
Fun For Everyone
Here's the thing. Do what's the most fun for the most people most of the time (and don't forget, the GM is a player too!). Some of the bending over backwards needed for some of these solutions will reduce someone's fun. Too many games, and the GM's fun may wane as he works harder. Running an extra PC is not much fun for most people.