I'm building a online, multiplayer, 2d, turn-based, CCG (collectible card game). The game itself is already designed, including artwork, over 600 cards, game board, etc, and now I just have to write the code. I'm providing a little background about my programming experience below.
MY FIRST ATTEMPT
I attempted to build this game many years ago using Java. At the time, I was just doing it as a fun recreational project and it was my first real introduction to object oriented programming. It took me a little while to understand Java since I was teaching myself, but I think I did pretty well, not great, but I was definitely learning. I had over 25,000 lines of code (i know that's not a lot, but it was several hundred hours of coding) and had built a chat room, the deck building gui, and the game board.
At that point, I started to think that I might actually get the game built (eventually) and so I stopped and figured I better learn how to make it multiplayer. That's where I kind of hit a snag. I believe I used TCP(?) and was able to connect directly to my other computer and chat back and forth between the two computers in the chat room, but didn't get much further and never got it working over the internet. I ended up setting the project aside when my father became sick and eventually passed away.
I can't remember, but I think I thought I might have been better off starting with the networking first instead of building the game and then trying to figure out how to get it to talk across a network/internet.
The part I'm most concerned about is the networking and having a random player or friend login/play via the internet.
1) Which language would be best for creating an online, multiplayer, 2d, turn-based, PC/Mac, CCG?
2) Would it be easier/better to make it a browser game or stand-alone?
3) I've done a bit or reading and was thinking about using VASSAL, Flash or maybe Unity3D. Are these good choices? I'm definitely leaning towards Flash right now.
4) When starting out, should I get the game built and then work on the networking? Should I start with the networking and then build the game? or both together?
I'm 42 years old and have used a few programming languages in the past, including C++, MATLAB and Java. I wasn't that big of a fan of Java at the time and remember a few people asking me why I built it in Java instead of another programming language, like Flash. I don't mind learning a new programming language at all since it will take me some time to relearn them anyways since it's been over 5 years since I've really done any programming.