I am a relatively new app developer with a BS:CS degree. I would love to work on this, but my time is very very limited between my dayjob and fiance.
That said, this game you suggest is not a single application.
It is 2 or even 3.
1: the model.
-hold the state of the world
-persists state to file system as needed
-determines outcomes of command queue
2: the server.
-provides an outside interface to the model
-asks the model for information
-sends it to the user
-recieves commands from the user
-inputs them to the models queue
3: the client.
-Connects to server.
-transmits commands.
-displays information that it is sent.
Under most systems 1&2 are (and should be) integrated. The server contains an instance of the model. The client can be implemented in any language, in fact many different clients can connect to the same server, one might be ascii based, another with sprites and tiles, and yet another renders everything in 3d.
my suggestion here is c++ for the server, as it has the highest performance you can get out of an object oriented language. The clients can be anything really, c++, C#, java, VB, python, anything that can open a socket over the internet.