Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm new at this and I was wondering if someone could suggest the most appropriate API to use to make a card game that is:

  • cross-platform
  • two-player
  • peer-to-peer
  • capable of laying out cards (png files)
  • open-source
  • beginner-friendly (well documented)

If it helps to give a better answer, the game is based on Set: http://www.setgame.com/set/puzzle_frame.htm

Edit 1

This will be a standalone client application using C#, or any other suitable language for cross-platform GUI-based applications (e.g., Ruby, Java & Swing, Python).

Edit 2

There are a number of toolkits listed at:

This helps, but which toolkit would be most suitable?

share|improve this question

closed as off topic by Bernard, Steve Evers, World Engineer, gnat, ChrisF Apr 25 '12 at 11:56

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

You need to give more information, such as: should it play in a browser or as a stand-alone client application? What language are you planning to use? –  FrustratedWithFormsDesigner Apr 24 '12 at 20:28
Isn't this Not Constructive. Bad Subjective? –  Dynamic Apr 24 '12 at 23:54
I seem to recall a very very similar question being asked and destroyed a while back. It too involved the "set" game. –  World Engineer Apr 25 '12 at 4:49
I am sure it can be done with any of the languages you suggested in your question, with any of the standard GUI frameworks of that language. So what are you missing? –  Doc Brown Apr 25 '12 at 6:18
maybe fitter to gamedev.stackexchange.com ? –  jonathan Apr 25 '12 at 12:06

1 Answer 1

There is no "most appropriate" API or toolkit. The game you seem to be writing requires little more than a way to place images and checkbuttons on a screen. Just about any GUI toolkit will work, and probably most game frameworks (other than 3D gaming engines) will work. Don't worry about the best and find one that works in your favorite language.

If you're unsure where to begin, I suggest Python and Tkinter. Python, because you list it as one of the possible languages and meets all of your requirements, and tkinter because you probably already have it if you have python and it's easy to learn.

Don't listen to people who will tell you ruby is better than python or wxPython is better than tkinter or that java is the best language. None of that matters. Pick the language you are strongest in and start coding.

share|improve this answer
There are toolkits that specialize in the creation of board games. Starting with a general purpose GUI and network library is a lot more work. –  CodesInChaos Apr 25 '12 at 13:19
Right, but if you look at the game he is creating, it's not really a board game, nor a card game. It's a match game that requires little more than images and checkbuttons. –  Bryan Oakley Apr 25 '12 at 14:33
I think such a framework might be worth is even if it's just the network part. I'd expect such a framework to have built in support for a lobby and a turn based game. Creating decent networking code isn't easy, even for me, and I'm certainly no beginner anymore. –  CodesInChaos Apr 25 '12 at 14:38
Thank you for your help, I'll try my luck in gamedev as well. –  Jessicat Apr 25 '12 at 18:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.