I'm working on implementing a game server on AppHarbor for a tournament style game. I'm planning on using WCF and C#. I want the server to generate new "levels" every 5 minutes and send it out to all the clients that are online at the time. The clients would then after 3 minutes send back the results of the level (how the player did) and the server will analyze the results and send back the universal results to each client (leaderboards, statistics, etc). And this cycle would repeat.
I'm not sure where I should start. I was looking into making a WCF service application with REST services to get the information, but I don't know who to make the server do calculations and generations independent of the clients.
I would greatly appreciate any help that you all could give me.
You can use SignalR to create independent persistent connections to your clients. At this point SignalR doesn't scale that well as it is only possible to run it on one worker/server out of the box. There is a feature request for scaling but it's not done yet. Depending on how many users you are counting on getting the first months, I would say SignalR is the way to go and then when you need scaling you can improve SignalR to be scaleable as it is open source. :)