Search Unity

[TCG] Game Of Kings [Working Title]

Discussion in 'Works In Progress - Archive' started by Alan47, Oct 12, 2012.

  1. Alan47

    Alan47

    Joined:
    Mar 5, 2011
    Posts:
    163
    Hello everyone,

    and welcome to my little presentation of the "Game Of Kings" project (working title). My name is Martin Häusler and I study computer science at the University of Innsbruck, Austria.

    Personally, I love Trading Card Games (TCGs). However, on our current computer games market, there are almost no TCGs with really deep-going mechanics. There are some in the Free-2-Play segment, but every one I've tested so far had unacceptable "business models", if you know what I mean. Well, I also happen to love Unity. The logical conclusion? Design and implement a TCG of my own.

    That happened a couple of months ago. Since then, I'm developing the game in a one-man show as a hobby project when I find time to do so. I consider myself a programmer and not neccessarily an artist in terms of modelling, that's why I focused more on the programming part so far.

    Let's have a look at a regular soldier card from Game Of Kings, shall we?




    And here's an annotated version of the card layout, I'll explain the stats below.



    1. Rank
      The rank of the soldier. Given by a number of stars printed on the card.
    2. Name
      The name of the soldier. May be important as a search criterium and many other things.
    3. Health
      The health of the soldier. Damage is permanent (meaning: does not regenerate automatically), if health reaches zero, the card is destroyed.
    4. Armor
      The armor of the soldier reduces health damage taken. Armor regenerates at start of controller's turn.
    5. Type
      The type of the soldier indicates his role on the battlefield. E.g.: Frontier, Assassin, Healer, Ranged, ...
    6. Attack
      The attack value of the soldier. Indicates how much damage this cards inflicts in battle.

    ... and if we fill in some values, a card may look like this:



    Of course, that's by far not all information belonging to a card - but that's all that the game will show on the card itself. The all-important Effects and various other text-intense information will be displayed in the card details.

    Here's an example of what a simple effect description may look like:

    [Assault 1]
    When this card is moved from your back row to your front row, this card gains +1 attack until the end of turn. Enable this card afterwards. You may not withdraw this card to your back row during this turn.



    Speaking of rows... are you ready, because here's the playing field:


    [NOTE: The white dots are actually particles moving upwards to make the scene visually more interesting.] The big card on the left is your General (or Hero). He may be attacked only if there are no other units on your side of the field, and if his health drops to zero, you lose the game. Since your opponent's field is exactly mirrored, you win the game by defeating the enemy General. The little card below the general is your deck, your remaining cards for the game. The empty space next to it is your graveyard - any used or destroyed card rests there.
    The two big horizontal blocks are your front row and back row, respectively. Every card you play from your hand is set to the back row initially. Since it is set face-down, your opponent can't see what you just set down there. If you choose to advance a card, it is moved to the front row and flipped face up. It will also be disabled (turned 90° to the side), indicating that it cannot execute any other commands during this turn. You may also reveal a face-down card and disable it, since some effects may require a certain card to be face-up on the battlefield.
    Cards in your back row may not attack, but also cannot be attacked as long as there is a card in the front row. However, since there is a limit of 5 cards for front and back row individually, you can't play any cards if your back row is full, so moving cards around strategically is important.
    The vertical area on the right is reserved for non-soldier cards and may be re-structured in the future.


    Now I think it's time for the first full screen-shot (click the thumbnail to enlarge):



    And here's another one, focussing on a piece of UI that I spent a lot of time on, the game log:


    This neat piece of UI can be expanded (as shown in the image), showing the whole course of the game so far, or contracted to show only the last thing that happened. It consists of a custom UI component which is able to parse and render a BB-Code-like language to do all the formatting and insertion of icons. Since it compiles the text only once, this component is running very, very fast once the compilation is done.


    Here's another important aspect: issuing commands to your cards. Here's what the menu looks like when you click on a card:
    (please also note that the card which has the cursor in it will be sorted to the front in your hand)


    ... and depending on the current situation, the menu will offer different actions:


    The stat viewer window also plays an important role when it comes to stat changes (buffs):

    As you can see here, the green attack value indicates that the value has increased, compared to its original value printed in (...).




    That's a quick overview over the parts of the game that I've been able to get done so far, we're talking about 6000 lines of C# code, and development is still continuing on :)

    If you want to know more about the game rules (maybe so we can discuss them here a little) or provide me with constructive feedback, please feel free to do so, it will be much apprechiated. However, please note that this is my first real Unity project and also that it is a one-man show, so please don't set your expectations way too high ;)


    Thanks for your attention!



    Martin alias Alan


    PS: I don't think that it is really necessary to mention, but the big gray areas within the cards are supposed to show the card artwork some day ;)
     
  2. clakes707

    clakes707

    Joined:
    Oct 3, 2012
    Posts:
    3
    Is there a link to test it, or is it not at the stage yet? And I personally love TCG games, especially digital ones. One aspect that I think would make the game infinitely more enjoyable would be to add expansion packs. Think Magic, the Gathering. The game seems to have a pretty sci-fi feel to it, which is good, but maybe different expansions could be made that would add fantasy or modern urban cards as well. If this is done, I would think it would be better to just let the player set up their deck how they want. For example, someone chose to use mostly fantasy cards, or even a mix of sci-fi and fantasy, and their opponent was using only sci-fi cards. Also, is this single player, or are you planning on adding multiplayer?
     
  3. Alan47

    Alan47

    Joined:
    Mar 5, 2011
    Posts:
    163
    Hello,

    first of all: thanks for your feedback and your interest in the project!


    Sorry, no - not yet. I'm still working on some of the core concepts in my code, but as soon as there's a basic AI up and running such that it is possible to play a game from start to finish, I'll definitly post some demo here :)


    That's actually something I've been discussing with a couple of people and I completely understand your point here. I spent quite some time thinking about whether a sci-fi looking card-layout will be able to host an archetype of cards comming from a fantasy realm, from knights and sorcerers to orcs and dragons. It might look and feel a little unusual at first sight, but if you design your cards in a too generic way just to fit all potential flavours of cards, you lower the recognition value.
    I definitly do plan to have fantasy clans and creatures in the game, alongside laser beam firing battle mechs ;) If you have ever played "Phatasy Star Online 3: C.A.R.D. Revolution" by chance, it's the same thing there - the cards and the entire game has a sci-fi look and feel to it, but the actual creatures on the cards have a very broad range.


    To me, being able to build and test a variety of decks with different strategies is a very big part of the fun in playing a TCG. Therefore, there will of course be an extensive deck editor in the later versions of the game. I also have special balancing plans for the cards. Every card will have some sort of a "deck cost" value attached to it, which is fixed. So if you want to play a very powerful card with a high deck cost value in your deck, you can certainly do so - but to make up for its cost and stay below the limit, you'll have to add some cards with lower cost values to compensate for it. To make it more interesting for beginners, there will be multiple "classes" of games, with each of them having its own deck cost limit. So if you are a seasoned player with a large card pool and want to play with your most powerful cards, you can do so - but only against opponents which have a similar card pool.


    When talking about TCGs, that's always a core question. My opinion here is that if a digital TCG provides *only* multiplayer with no A.I. to face off against, it won't be sufficient because it could happen that there's no opponent around to play with, or that you have to test your newly-built experimental deck against a seasoned veteran. That's why having A.I. is important. On the other hand, no matter how good an A.I. actually plays, it will never be able to replace a human opponent (at least, not with our current technical possibilities, that is ;)). Therefore, I will aim for a multiplayer component as well, along with the actual Trading functionality which is so badly neglected by many digital TRADING card games out there. However, I must admit that I have not done any experimenting with Unity's networking and multiplayer capabilities yet - so this is certainly a topic on the list, but not at the very top ;)


    I hope that this answers your questions - if there's anything else you want to know or discuss about, feel free to ask :)


    Greets,


    Alan
     
  4. nogard230

    nogard230

    Joined:
    Jul 21, 2014
    Posts:
    8
    Hello,

    I was interested in joining the team

    I'm an amateur designer and programmer
    I would like to know which type of texturing prefer to images (magic the gathering, tcg yugioh or pokemon).
    I've been involved in programming ygoPro for my language, and have been ahead in 3 games programming.

    If the project is in progress will be glad to participate.
     
  5. KheltonHeadley

    KheltonHeadley

    Joined:
    Oct 19, 2010
    Posts:
    1,685
    Hmm, card design is weird. The blue cloudish thing and the gradient. Look at MTG cards, or Yu-gi-oh.
     
    Deleted User likes this.
  6. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Implementation of card games, PnP games, board games, war games- into a video game medium is always extremely interesting to me.

    Anything that lets people connect like that is pretty awesome.

    One of the biggest problems with those types of games is finding someone to play with (although the barrier is a lot closer to how long those games take, which is the real barrier). Like Jon Stewart joked once, http://thedailyshow.cc.com/videos/ib99xm/the-neverspending-story---defense-cuts

    I remember using this one software to play Legend of the Five Rings (CCG) online with my best friend. The game lasted like 8-9 hours, and it was a blast, but we were like "My life...where did it go?" lol. And deck building for some CCG's can take 20+ hours of your life *just like that*


    What is inspiring, is how enhanced these games can be when placed into video game form.

    I've always thought this was pretty cool, ever since I played "Battle Chess"



    I'm especially curious why no one has done anything (successfully) with war gaming. Even WARHAMMER games, such as the amazing Dawn of War series, allows you to paint your "figures". Yet they don't incorporate that into the war gaming aspect. Well, they don't even have those games in the first place.

    Honestly, it's all about graphics. There is plenty of software that lets you play card games, board games, war games, PnP games, online. Even some with great customizability or default/free assets. It's those graphics, animations, and effects that make those games really thrive on the video game medium.

    There's so many ways people can go with this type of stuff. Innovation is just waiting to be grabbed.
     
    Last edited: Jul 22, 2014
  7. Alan47

    Alan47

    Joined:
    Mar 5, 2011
    Posts:
    163
    @nogard230: I've sent you a personal message ;)

    @CarterG81: Yes, I agree, digital games and trading card games make for a great couple! However, many many approaches are crushed by unbearable "business models" that dare to call themselves "free to play". I've seen more than one online card game come and go. All the more reason to build a game which is REALLY free. Let's take YuGiOh for example. Konami is struggling hard to establish an online platform (Duel Arena), while truly free platforms (albeit somewhat doubtworthy with respect to legal issues) have plenty of users - and work better on top of that.


    Note to all: The project is currently on hold due to personal reasons, my free time is unfortunately very limited at the moment. However, as a TCG enthusiast, I always love to discuss game mechanics, ideas and designs, I do intend to give this project another go with Unity 5.
     
  8. Batou_37

    Batou_37

    Joined:
    Sep 29, 2014
    Posts:
    4
    Hello Alan47,

    Sorry for my bad english (i'm french ...:D)

    I want develop card game with two persons. I'm the only one developer for this project.

    Actually, i have a file XML and XML application for add / modifiy / delete card in the XML file.
    Now i must start the game development but my problem is rule of card !

    How implement the rule of card? Have you a method for each exists rule?
    Actualy, i have a LibrayCard who as equal to:
    Card = property of card (name, cost, type, rules ...)
    Animals:Card = Get the same information of card and new information Attack. One attack have many type (Magic, Life, Direct attack ...).
    Booster:Card = Get the same information of card. This type of card is just a card with only one rule (action)

    Each animal card have one rule and 2 attack. This attack can contains a rule.
    Do you think, i must implement a method for each attack? I think that because, attacks have maybe rule and can't generic method.

    How to implement the rules you?

    Thanks advance ! :)

    Have a good day :)