Thread: Generalizing Network TCG (Trading Card Games)

  1. #1
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108

    Generalizing Network TCG (Trading Card Games)

    I've played a few dozen different "TCG" games over the years. I've always loved them. (I think it is partly the somewhat severe OCD.) However, I'm not loving any of the dozens of online serviced I've played with lately. I've also gotten a little tired of my current personal project. (I've been working for weeks on preventing cheating.) So... yea, going to make a framework for building "TCG" and code up a few sets depending on the time it takes to get off the ground.

    Anyway, I figured I'd ask around and see if any one wants to kick around some ideas for this sort of thing.

    Oh, and yes, I've almost certainly seen "<Open Source TCG Engine>", and I didn't like it. I don't want to go so far as to criticize those projects. The ones I've played around with are all "not bad", but that's pretty much as good as I've seen... "not bad". (Yes, that is true; I may end up with something that is also "not bad" or worse.) That said, if you think I may have missed something go ahead and drop it here.

    Soma

  2. #2
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Ah, and the so called "freemium" model is right out. I don't mind paying for a service, but asking me to pay for overpowered virtual cards that can't be obtained any other way is offensive to my personality.

    If I'm going to pay for "TCG" cards, I'll buy a box of boosters or something.

    Soma

  3. #3
    Registered User NeonBlack's Avatar
    Join Date
    Nov 2007
    Posts
    431
    I don't see what you have against a freemium card game. Isn't that pretty much how it works in real life? I thought that comic/card shops hold free tournaments and sell cards. And I don't understand why you would buy boosters but be opposed to buying individual cards. The only difference is that when you buy individual cards, someone else has bought the boosters and sorted through the crap to find the good cards.
    I copied it from the last program in which I passed a parameter, which would have been pre-1989 I guess. - esbo

  4. #4
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I don't know where, but somewhere along the line, you got horribly confused.

    No. In the real world, unless you win a card or something, the policy is a premium from the outset. You can spend some money and get some cards; the cards are yours to keep, trade, sell, or do almost anything else with you might want. You are not charged a monthly fee as a ransom for those cards. You do not have to pay a premium to have access to a pool of better cards. If you want to trade or pay for a "epic rare", you are allowed. You do not have to pay a premium beyond the cost of the card to get it.

    I don't know where you got the idea of me having a problem buying an individual card. I didn't say anything of the sort. I said that having to pay a premium just for access to overpowered virtual cards offends me. The difference is profound.

    I buy a lot of booster packs for different games every year. I even buy a few singles. I'm not going to start paying "WOTC" a premium for the privilege of access to a particular card. More to the point, I don't think anyone else should be willing. The very idea of a competitive "TCG" with a premium pool offends me greatly as an avid gamer. I don't even have a problem with multiple pools, but if a card is in the tournament pool, anyone allowed to play in the tournament should have standing access to every card in that pool without having to pay a premium for that privilege.

    Let me explain my stance with an example. If a kid with $5 bucks buys a booster pack and gets the most useful card in the tournament pool (legal for tournament play), the kid should be able to use that card in any tournament in which he may compete without paying a premium for the privilege of using that card.

    Soma

  5. #5
    Registered User NeonBlack's Avatar
    Join Date
    Nov 2007
    Posts
    431
    I think I understand what you mean now. I think the confusion came about because we have different ideas of what "freemium" means (God, I hate that word). And when you said "asking me to pay for overpowered virtual cards", I thought you meant paying for individual cards.

    In my understanding, a game of the sort would work like this:
    You get the game for free, along with a basic deck. To get more powerful cards, you can buy them as a one time purchase individually or in a booster. You can then trade them with other players or do whatever you want with them. You wouldn't lose them if you stopped paying (I've never heard of a game that did this).

    I think this is pretty close to what you had in mind as well, but it seems like you think freemium has something to do with "access" or subscriptions maybe, which I don't think is necessarily true. I think it just means basic functionality is free, but you can pay to get something that gives you an advantage.
    I copied it from the last program in which I passed a parameter, which would have been pre-1989 I guess. - esbo

  6. #6
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Well, I distinguish between "freemium" services (paid premium extras of a free model) and services which offer both a free model and a premium model, but yes, "freemium" is a crap word.

    In any event, I was basing my conceptual model of "freemium" as it applies to "TCG" on what I've seen the last few months. I just assumed the crap I've seen is the norm for that world.

    Let me give you an example from last month.

    The open game is setup very simply. You signup for the service and play as many "open" games as you want. You can also play a few "ranked" games.

    The premium game too is simple. You can still play as many "open" games as you want. You can also play a lot more "ranked" games.

    With "open" games, there is no record of games and you don't win anything.

    With "ranked" games, there is a "leaderboard" and you win one of three randomly chosen cards.

    (As far as this goes, I would not even consider this a "freemium" model. Gamers playing for free get to play as much as they want but don't have as many opportunities to advance the deck. Gamers playing on the paid service get access to "leaderboards" and more opportunity for growth. A nice division of models that.)

    Here is where the service becomes a "freemium" and starts to suck. All players build from the same tournament pool and play against the same tournament pool. All gamers, those paying and those playing for free, can win cards that are only available at a premium. You win the card, but you can't use the card unless you pay for the right to use it. (In this case, it was a one time "activation" fee.) It gets worse. If you pay for access to the card, you do not get the card. (You literally only pay for the access. You still have to win the card in random "ranked" play.) I can see that they were shooting for a lure. (Like screaming "Hey, you there! You won this awesome card! Oh, but you can't use it unless you pay for it.) They could have done better than that; I mean, every "freemium" model needs a lure to succeed so I understand using such a beast. (It would have been easy to improve the model. Just providing a card list that buys you both access and the card itself would have gone along way towards fixing the service. Providing a two stage, and thus two pool, service would be even better.) However, it gets worse still; here is where I quit playing on this particular service. Only gamers paying for the service (monthly fee) have access to a card bank, and that card bank sucks only storing a few cards; gamers playing for don't have a card bank.

    *shrug*

    To sum up, a little late I realize, gamers have to pay a fee for access to cards they can only get by random chance, can't reasonably store, and even if stored must continue to pay a service fee or lose all the cards they've managed to score. Oh, and free gamers compete in the same "ranked" matches as the guys who don't mind spending that money and so by definition have almost no chance of building deck that can compete.

    Soma
    Last edited by phantomotap; 06-18-2011 at 04:06 PM.

  7. #7
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    Quote Originally Posted by phantomotap View Post
    Oh, and yes, I've almost certainly seen "<Open Source TCG Engine>", and I didn't like it.
    Links - Dvorak - A Blank-Card Game

    You didn't like any of them? Or you just found one and didn't like that? There are a whole slew of them out there now.


    Quzah.
    Hope is the first step on the road to disappointment.

  8. #8
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    O_o

    Oh, yes, there are tons of "TCG" engines.

    I have no interest in picking up a "TCG" that hasn't been updated in several years.

    I have no interest in picking up a "TCG" with a microscopic community.

    I have no interest in picking up a "TCG" whose community is hemorrhaging members.

    Actually, I can't think of anyone who wants to pickup a "TCG" with those traits, and those traits remove them from being considered. Unfortunately, those traits applies to most of the engines at that link, which you apparently posted without looking around.

    I did look around at that link. A couple of links go nowhere and if searched reveal stuff that hasn't been updated in years. A couple of links reveal projects that have no active community to be found. A couple of links are basically advertisements for resources to build real world card games.

    That said, a couple of links go to places with active development and an active community. Sadly, I have already tried those.

    So, yes, I've tried a lot of them.

    I'll be happy to give yet another "TCG" a try, but honestly, I'm just an incredibly curious person; so tell me, do you actually have a suggestion for a "TCG" you play that I might have missed? Or did you just come by to waste time for both of us with a pointless statement, a silly question, and a link to mostly dead air?

    Don't be shy now, if you have a suggestion, post it.

    Soma

  9. #9
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    o_O

    Okay, yes, that came off harsher than intended. I'm sorry for that, but really, posting a link to a card game ("Dvorak" isn't a "TCG". It has been used to build "TCG", but they are "not bad" at best precisely because of the "not bad" rules that "Dvorak" represents.) website linking to dead engines and dead communities is pointless.

    Soma

  10. #10
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    I wasn't posting a linke to Dvorak. I was posting a link to a section of that page that listed multiple TCG engines, hence the #Game_engines on the end of the link. l2internet

    Your first post only mentioned having tried one. I was simply showing you others. I couldn't care less what you do. If you want to waste your time making your own engine from scratch rather than trying something else, go for it. No one here cares.


    Quzah.
    Hope is the first step on the road to disappointment.

  11. #11
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    O_o

    Okay...

    Well, then I'll be happy to move your dead air links and useless posts to the side where the remain pointless.

    Soma

  12. #12
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I've spent a few hours over the last couple of days scrounging up the various rules of different card games in trying to nail down the interface necessary to implement those rules from simple scripts.

    Obviously, I'm trying to go as general as possible for now so no "ApplyDamage" or anything like that exists at the lowest level. It is mostly things of the form "Discard", "Draw", "Burn", "Shuffle", "Display", "Position", "Rotate", and such other general card game mechanisms that can serve as both an abstraction and a container or view if you like.

    As it is, it is simply too much of an abstraction in that every "TCG" would need to implement rules to contain common "TCG" elements, like health and damage, in scripts. That isn't really acceptable to my mind. I'm thinking of factoring those bits out even further and then building off those bits to compose different contextual API for different types of card games. This means a longer cycle and probably fewer sets, but sets with altered mechanisms should be easier to design in game contexts.

    *shrug*

    That said, early testing on the simple OpenAL based voice chat is horribly broken. I either have a bad microphone or I've got a lot of work to do with activity profiling. ;_;

    [Edit]
    I'm going to have to offer some control over the profile to the user.

    *shrug*

    It wasn't just my microphone. (It does suck though thanks to a bad connection.) I've found my other microphone and it exhibits similar problems, but those problems have a different texture.

    *sigh*

    I think I'll have to look into a different codec as well.

    Does anyone have any experience working with "speex" from the ground up? (Open source and low profile so licensing the "G7*" family of "VOIP" isn't an option, and while this will take a while I don't necessarily want to wait for those patents to expire.) I'm talking about the codec, but I'd be interested in hearing about personal experience with the library as well.
    [/Edit]

    Soma
    Last edited by phantomotap; 06-18-2011 at 10:12 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Network Card
    By Joanna in forum Tech Board
    Replies: 16
    Last Post: 09-27-2004, 07:27 PM
  2. need network card's adress
    By molie666 in forum C Programming
    Replies: 2
    Last Post: 08-13-2003, 03:05 AM
  3. How to access Network Card using C
    By vadiv in forum A Brief History of Cprogramming.com
    Replies: 0
    Last Post: 10-17-2001, 01:47 AM