You need to understand how TCP/IP works, you also need to understand how computer comunicate with one another, and once you have a basic understanding you will see that your second point can't happen as easy as you think it will, you need server softwear as it need to hadle the incoming conections.
As for friends list, I don't understand how this work, could you ad more information on your idea on how this would work and what you are wanting from it?
OP, this guy is right. You clearly don't know how online multiplayer works in any sense of the term.
Without going into too many details I can soundly say that multiplayer in its current form is unchangable in the sense that you need a server to be actually established in order for people to connect to it.
When you make a multiplayer server there's a lot more stuff going on in the background than what you see in single player. The game either makes a world exclusively for you and you alone (SSP) or it makes a server which you and anyone else that wants to play must connect to using an address (SMP). Its basically the same way multiplayer and single player are handled in any other game you've played. The differences lie with how the various game developers have disguised the unseen stuff that forms the framework of it all.
In short: Server software is a necessity no matter what you wish to do with multiplayer in games.
The friends list feature however would be nice. This could be accomplished through a database and unique, unchangable, account names/identification (could be a user-defined name or it could be a long hexadecimal string of characters based on the date the account was created and such). Being able to actually join a friend's game would be out of notch's hand for the most part however. Individual servers have different rules and whatnot established such that whitelists would effectively keep people apart in many cases (unless friend A on server 1 was able to tell the admins of server 1 "hey I have a friend who wants to join. he's a cool bro and doesnt affraid of anything." and those admins were able to amend the whitelist within a short enough span such that friend B could join friend A via possible friends list options).
You just lost the game.
Victor Kiam
OP, this guy is right. You clearly don't know how online multiplayer works in any sense of the term.
Without going into too many details I can soundly say that multiplayer in its current form is unchangable in the sense that you need a server to be actually established in order for people to connect to it.
When you make a multiplayer server there's a lot more stuff going on in the background than what you see in single player. The game either makes a world exclusively for you and you alone (SSP) or it makes a server which you and anyone else that wants to play must connect to using an address (SMP). Its basically the same way multiplayer and single player are handled in any other game you've played. The differences lie with how the various game developers have disguised the unseen stuff that forms the framework of it all.
In short: Server software is a necessity no matter what you wish to do with multiplayer in games.
The friends list feature however would be nice. This could be accomplished through a database and unique, unchangable, account names/identification (could be a user-defined name or it could be a long hexadecimal string of characters based on the date the account was created and such). Being able to actually join a friend's game would be out of notch's hand for the most part however. Individual servers have different rules and whatnot established such that whitelists would effectively keep people apart in many cases (unless friend A on server 1 was able to tell the admins of server 1 "hey I have a friend who wants to join. he's a cool bro and doesnt affraid of anything." and those admins were able to amend the whitelist within a short enough span such that friend B could join friend A via possible friends list options).
You just lost the game.