Looking for an Online Generic Card Game Simulator.
July 28, 2008 1:34 PM   Subscribe

I need an "Online Generic Card Game Simulator" program (my term). I don't think what I want exists, but I don't know how to verify this, or more importantly, how to go about making one for myself.

First off, to explain what I mean by 'Generic Card Game Simulator', my family and friends are fairly scattered across the country (US), so playing cards like we used to isn't possible. We've tried the MULTITUDES of online games, and while for the most part they are ok, it would be nice to tweak the game rules a bit to match our 'house rules' (of which we seem to have quite a few).

In addition, we'd love to also have a poker program that would allow us to create all of our "Dealer's Choice" games.

I've looked online and I haven't seen any such program that fits these requirements, thus I've been thinking of ways to code it.

I've done a lot of "hobby" game coding, and while my field is aerospace engineering, I spend probably 50% of my time coding in VB at work. I can think of a few ways to go about creating the guts of the program, so I'm not looking for help there. That's the fun part. What I can't figure out is how to determine which language would be best suited to use, and the most efficient way to tackle it.

From my own research and experience, I assumed finding an Open Source Java "Web Card Game" project would be the simplest, but man, there's so much out there, I have no clue how to filter the signal from the noise. After downloading a couple IDEs and checking out a few tutorials (all geared toward complete programming newbies), I got frustrated and started googling some more.

I know this has been a rambling post, but I really don't have a good feeling on where to start.

In Summary:
1. Has anyone heard of such a Game/Program online? (free or commercial)
2. Has anyone heard of anyone attempting such a project?
3. Does anyone have any tips or advice on how to get started (specifically on how to deal with the network aspects of an online server based game, if that indeed is the best route)

Other Relevant info:
As a non-CompSci Engineer, I've had to pick up a smattering of various coding languages throughout the years, including:
C++, VB, Javascript, Unix Scripting, *some* Perl, HTML (yea, I know it's not 'coding'), and a couple other Engine-specific game programming languages (based loosely on C++). I have no problem in learning a new language (and realize there might be a rather steep learning curve to get through)

posted by johnstein to Computers & Internet (11 answers total) 4 users marked this as a favorite
Pick the language in which you are most proficient, so that you can concentrate on getting everything else (ie the harder stuff) done correctly.

Also, consider starting with a less complicated card same simulator; a generic blackjack sim would involve a lot less complexity, and it'll give you a good start on how to handle the variations (everything from the UI to make your selections to actual in-code implementation to storing and sharing those preferences.)
posted by davejay at 2:00 PM on July 28, 2008

Best answer: Maybe you're looking for Volity: "Volity is an open platform for real-time, multiplayer, Internet-based games. By "open", we mean not just that anyone can create player accounts and start playing games, but also that anyone can develop and add their own games to it! "
posted by xchmp at 2:09 PM on July 28, 2008

That sounds like a great idea to me - a sort of online game design toolkit. I'm not the sort of person myself who would get into that but I know several different people who would probably absolutely love it.

I'm a web software engineer and in my opinion, unless you're trying to do integration with some other specific system or utilize a specific library, or if you're writing a commercial product for a particular customer base / market, it doesn't really matter what language you write an piece of software in. There can be specific gotchas - like, trying to work in Unicode / multibyte text in PHP is a pain in the ass - but otherwise, any language that has regularly been used for web applications in the last decade or so has all the basic essential capabilities.

So I would pick a language simply based on two things: 1) your taste / what you're comfortable with and 2) what's available on your web server.

Personally, I'm partial to the Microsoft .NET realm of languages (at least the core pieces, there's lots of frippery mixed in) and their open source equivalent the Mono Project, which had the 1.0 release of its development environment MonoDevelop just a few months ago. But I've done a lot of PHP and Java too and dabbled in various other languages and like I said, I really think it boils down to personal taste at this point in history.

One last thing I'd say though - I think it would be worthwhile for you to be proficient in CSS (Cascading Style Sheets) too, particularly some of the more advanced CSS2.1 and CSS3 stuff that will be available cross-browser when IE8 is released (because it's already supported in FF, Opera, and Safari), and become familiar with javascript libraries like YUI. I often see people writing crazy server-side code for things that could much more easily be accomplished in CSS and / or a bit of javascript. Plus those are also the technologies you'd use to make your app look slick and sexy.
posted by XMLicious at 2:14 PM on July 28, 2008

Best answer: I would suggest OCTGN. It's a very free-form environment, so there are no rules built into it. I've used it many times with friends to play MTG, so a game of poker should be fairly simple to put together.

The only catch is, because there are no rules built into the system, you need to trust the other players to be honest as they play.
posted by meowN at 2:15 PM on July 28, 2008

The first thing you need to decide is if you're going to play in real time or asynchronously. If asynchronous play is an option, then a basic database-backed web application is best. You can always pretty up the front end, but almost all card games can be represented with text alone.

If you want to do synchronous, real-time play, then I think Flash is the best choice. The programming language (ActionScript) is just a dialect of JavaScript, so it should not be hard to pick up.
posted by jedicus at 2:17 PM on July 28, 2008

Best answer: Perhaps VASSAL?
posted by jbickers at 2:27 PM on July 28, 2008

Best answer: Yeah, I would second Vassal. I know of several fairly hardcore game nerds, none of whom have very much (if any) computer programming experience, who love it. It seems pretty accessible to the layperson who just wants to play the game and not think about the engine behind it.
posted by bcwinters at 2:35 PM on July 28, 2008

Response by poster: Votility sounds interesting. OCTGN sounds like a good generic simulator (without the AI). I've used a similar program for MAGIC TG games.

However, the Vassal site looks VERY intriguing.

Thanks to everyone so far. I knew there would be some good suggestions.
posted by johnstein at 3:36 PM on July 28, 2008

Best answer: You might want to poke through the card game engines on sourceforge.
posted by shothotbot at 5:08 PM on July 28, 2008

Response by poster: I should have thought of the sourceforge idea. Thanks shothotbot.
posted by johnstein at 5:35 PM on July 28, 2008

Magic Workstation should be usable for any card game, although it might be overkill for what you need.
posted by Four Flavors at 3:48 PM on July 29, 2008

« Older He peed in the vent. What do I do now?   |   Why wont the iPod Touch apps work! Newer »
This thread is closed to new comments.