quote:
Originally posted by Andir:
<STRONG>
The simple solution is something I've already posted several times. You have an executable server that processes the game. The interface is something akin to an MMO client where you log into the server and you are sent information regarding only the information needed to populate your screen. We are talking VERY little bandwidth. You could have as many clients as the server has bandwidth. This could also be a way to open source part of the game (the interface) to allow other people to make whatever flashy interfaces they want and allow Toady the ability to work on the core components without worrying about graphic representation.</STRONG>
I am using this design for a turn-based game that I am making, and it is working very well for me. However, I don't think that it can work for Dwarf Fortress.
The problem is not bandwidth but rather latency. It's easy for me to transfer a gigabyte of data to you over a fast connection. However, it is much less easy for me to transfer one hundred thousand ten-kilobyte chunks of that data and make sure that those chunks all arrive, are all in order, and are all evenly-spaced in real time.
My game is turn-based, so I only need to send the state of the world to players several times a minute (whenever everyone ends their turn). I can use TCP to do this, and while TCP is slow, it is easy to use and reliable.
Dwarf Fortress would need to send the state of the world to players many times a second. I can't think of a way to do that effectively with a purely dumb-terminal design. (MMOs and first-person shooters are not dumb-terminals.)