R – Advice for a new project – Command line Chess game between two Ubuntu Machines


I am a CS student and I'd love to make a command line chess game. Ideally I would be able to ping my moves directly to my opponent and just for fun I would rather use ASCII art to print the board (No memory chess) at the command line.

I have a 4 year computer science degree under my belt and I'm just starting work as a Java programmer. I want to go back to basics for a bit of fun but I'm stumped on how to start.

What kind of a connection would you establish and how? What language would you use and what would be the most difficult thing about this project in your opinion.

2 linux machines on the same network, I can ping the machine easy.




What thoughts do I have on a possible approach?
I could do it in Java easily and maybe that's the best option for me. Make an executable Jar and run it from the command line. I was just hoping to learn a new language or skill with a scripting language or similar. I just don't know anything about setting up a connection in Python for example.

Sorry, I know the question was a bit vague but I was just looking for a couple of pointers, nothing in depth. What technology would you use.

Best Solution

I have done something similar for my online chess site at: www.geekswithchess.com.

I implemented my chess system in C# using a client server architecture. I used Microsoft Silverlight for the client and Windows Communication Foundation (WCF) Services for the server.

You could go with a client to client desingn but than each client would have to keep it's own information like score, wins profile. This would make it very easy to hack and for example modify your score.

I would strongly suggest an online client is for security reasons. You can limit the domain name that has access to your web services and prevent any unauthorized access to your server. If you make a distributed client than it will be far more difficult to secure since anyone can download the client and access your services. You also have to consider that in this design someone can make their own client that cheats by using a computer chess engine.

If you need more help feel free to lookup my contact info on my web page.

If you would like to learn more about writing a chess engine and download some free source code visit my blog: www.chessbin.com

Related Question