North wrote:I hate to be the one to burst your bubble. It would be easier to write a client from scratch.
What you need to know is that the client is ultimately just an interface to show you the state on the server and change it though the API it exposes. Having no documentation on that API or how the server works would imply a tremendous amount of work to reverse engineer it. Also, being something that is not official, after each new release, if there is anything changed in the API, one would need to find it and fix it.
Also, most bugs are not really in the client. At least, they shouldn't be in the client. Being a rules enforced game, the bugs are in the implementation, which ultimately resides on the server. Anything else would mean that I could "hack" my way by saying play this card. Forget that it says "Draw 1 card."; I want it to do "Draw 5 cards.".
This "reimbursements" you talk of are nothing for wizards. I bet you only receive in game stuff. That is FREE for them. The only thing they pay are the support guys who take care of the tickets.
I'm glad you decided to join XMage, even if for the wrong reasons. As long as there is no support from wizards to make your dream true, it will remain just that - a dream. Nevertheless, if you do join the team, you can learn a great deal about programming and the MTG rules. I wish you all the best.
Oh, I was under the impression that the client enforced the rules then the server checked if it was a valid play. I didn't realize the client itself had no logic in it. I know that this client could be made, as there is software for games that manipulate the packets in other games, which you needed reverse engineer the client for the packets. I was thinking of doing the same thing but instead of a proxy, the client itself, because theoretically the interface would never need to be updated, only the packet information. I still think its very possible, and I still need to learn a lot, and am still interested in joining the development team. Thanks for your response though.
Edit: Also isnt there stuff to decode/grab data from the mtgo client in the xmage project?