I'm new to online games. I've programmed several single player projects, but have never gone into the realm of the internet. I've also never had to "update" a game with patches or new maps/items because everything has been hardcoded and finalized once the game is finished (I'm an indie developer, by the way).
Having said this, I need to know the best route to go in developing a game. I was thinking of going for the browser based option (something like Runescape) simply because the server would be easy to access, and the client would not have to download anything for an update, leaving anything and everything easy for me to recompile.
Or, I could go the client based route and have either patches, DLL's, or whatever else is needed to update something the player already downloaded.
Of course, with browser based games I would have to write them in java (although I could do the server in c++), so there is the speed issue. I'm native c++ so naturally client would seem easier, but from anyone's experience would it be better to do something from the browser?
I'm playing around with java right now, but to be honest, I don't think there's much of an advantage once socketing gets involved. There aren't many good java engines around so if you want something highly detailed, you'd be better off using a c++ client, I think. The only advantage would be updates if they didn't need to download the client each time, but if it gets complex, they would probably do that anyway. By the way, I'm not a multiplayer person and i was wondering if everyone turns off their firewall when they play those games? That would seem kind of risky to me, or can you just allow that certain program access? Actually multiplayer in general sounds risky, does anyone get a lot of viruses doing that or not?
Yes, firewalls can be configured to unblock specific programs or ports. And, at least in Windows, the firewall doesn't even get involved until the program wants to act as a server, i.e. listening for connections on a socket. If the client is just establishing an outgoing connection, no special firewall configuration is necessary.
As for getting viruses from multiplayer, I don't think that happens very often. You can of course digitally sign any executables you distribute via internet updates so the client can authenticate them (modulo man-in-the-middle attacks, of course).
Really depends on what kind of game you want to build. Do you want to use the Internet solely/mostly for management/deployment, or actually run a game based on multiple players interacting real-time?