I've spent a bit of time making local multiplayer games over the last year and a half, two-player ones specifically. I wanted to write something about why.
First: why multiplayer?
The way I play games is not focused on consumption; I don't care about playing every new thing that comes out, I prefer to play a small number of games in great depth. So I tend to gravitate towards games that are designed to be played repeatedly and to reward focused study (though it's possible to go deep on a game that wasn't explicitly designed for it - this is what speedrunning is all about). The majority of such games are [a] multiplayer or [b] roguelikes. Multiplayer games encourage repetition because they can be as difficult as your opponent, there can be scope to increase your skill indefinitely and a satisfying reason to do so, and because they allow for human forms of interaction that current algorithms are poor at. Roguelikes (and roguelikelikes) encourage repetition with randomly generated content, as well as typically having a lot of mechanical depth.
Since this is the way I like to play games, these are naturally the type of games I try to make. I especially love playing games as a social activity, sharing them with others. So: multiplayer.
I've attempted online multiplayer in the past, and it wasn't a very positive experience for me. I spent a lot of time debugging network code, tracking down obscure errors involving clients getting out of sync to the point where people were playing completely different games. (And honestly, I doubt I got them all.) And even without bugs, the way I chose to implement it turned out to not be very resilient to lag - I could have spent months reworking it to improve this but that really wouldn't have been a good use of my time. (I think there's a reason why most popular online multiplayer games are FPS and standard-RTS: with FPS it's not very consequential if players see each other in slightly different positions and discrepancies can be rectified continuously, and with RTS it doesn't matter if there's a small delay on inputs.) Possibly I could have saved myself some effort by using an appropriate library, or if I'd started out with any idea what I was doing, but there's still a lot of work involved. And then, well, not many people are willing to play some obscure indie game online anyway. It's much easier to play a popular mainstream game where you can easily find dozens of games running at any time of day.
I really don't want to go through that again. And I'd advise other independent developers to avoid it too; it's unlikely to be worth the effort.
There are a few alternatives to online multiplayer. Singleplayer. Asynchronous multiplayer - online but without the real-time requirement, so avoiding the twin spectres of lag and barren servers. And local multiplayer - either played on one computer, or board games.
So local multiplayer's great, you get interaction with human players without having to dabble in networking at all. In fact, it's about as simple as you can get technologically - even simpler than singleplayer, because human opponents provide the opposition there's little need for AI, procedural generation, or substantial content either. There's a good reason why many of the earliest videogames were multiplayer (SPACEWAR, Tennis for Two, Pong). Additionally, I find the face-to-face interaction of playing with someone who's there with me much more satisfying than online play.
But there's a downside to it, which is that very few people seem to play these kinds of games. With online multiplayer, it doesn't matter if potential players are spread out across the world (although as above, if there's not a critical mass they won't play anyway), but when it's local you need someone else to be right there to play with you. I've had a number of people tell me they liked Zaga-33, but didn't buy Glitch Tank because they'd have nobody to play with. (Glitch Tank really hasn't sold well at all, despite being a very good game.) In the comments on Rock Paper Shotgun's Cardboard Children column people often post that they'd love to play some of these board games but have nobody to play with. This honestly baffles me - I'm quite a hermit and yet I often play games with others, how is it that so many people are so isolated that they can't find someone to share a game with? It seems very sad. But maybe it's just that these games aren't an accepted part of culture; probably they do have friends who they see, but playing games is for them something that they each do alone in private and never something shared with others. This is perhaps even sadder. I hope that with more developers making local multiplayer games and events like the Wild Rumpus that local multiplayer videogames will gain acceptance (and not just for selfish reasons).
And why two players specifically? A couple of reasons. When you're all playing on one computer at the same time, it's just quite hard to fit many people in. I've played games that fit four people around one keyboard or ipad and they're great fun, but it does get pretty crowded. And also, the more players a game needs the harder it is to test. I'm living in the middle of nowhere and I'm not often in a situation where I could easily test a game that needs more than two players - but two works great, I play them with my wife. And the same problem will apply to others - just as requiring two players stops some people playing them, the more they require the less likely they are to be played. There are a lot of multiplayer concepts that don't really work with just 2 players though so I'm definitely going to try making games for more sometime.