Search Unity

Trading Card Game Maker

Discussion in 'Assets and Asset Store' started by Melang, Mar 30, 2014.

?

What would you like to see in this kit:

  1. lots of pre-coded spell and creature effects (ex. copy creature, double strike)

    224 vote(s)
    54.5%
  2. cool 3d effects, possibly a 3d background (ex. Hearthstone, MtG:DP)

    147 vote(s)
    35.8%
  3. optimization for mobiles

    182 vote(s)
    44.3%
  4. multiplayer

    260 vote(s)
    63.3%
  5. card art that you are free to use in your games

    106 vote(s)
    25.8%
  6. sound effects and voices

    92 vote(s)
    22.4%
Multiple votes are allowed.
  1. nogard230

    nogard230

    Joined:
    Jul 21, 2014
    Posts:
    8

    Thanks for reply. I make some little changes in the card.cs and Player.cs to solve. :) (commented some "if"s). Now i'm try add effect of destroy Land and two monster ID to Grow (like a fusion). Add the card flip is very cool too for anothers tcg types.

    I liked that much, if I can make these changes, I send the code for you for future implementations.

    Thanks.
     
  2. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
     
    MrEsquire likes this.
  3. nogard230

    nogard230

    Joined:
    Jul 21, 2014
    Posts:
    8
    Melang,
    It would be interesting to introduce conditions on the effects of the cards and upgrades creatures.
    There are possibilities of adding this to update?

    thanks.
     
  4. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    It is planned and the UI for conditions has already been added to the card editor in the dev build, I'll try to fit a couple of conditions in the next update.
     
  5. Nerdzul

    Nerdzul

    Joined:
    Sep 3, 2014
    Posts:
    15
    Another interesting thing could be allowing for the damage of an effect to be selected not as a static number, but as a function of something.

    Ex. tap to deal damage equal to a creature atk. def. or equal to the number of humans, or equal to a creature spellpower (as a custom stat), equal to your hero spellpower,
     
  6. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    It's already possible for "number of creatures you control" and "number of your creatures that died this turn". For all effects that use int parameters (deal ... damage, draw ... cards, etc) those two "functions" can be used instead. :) More of them will be added in the future.
     
    Nerdzul likes this.
  7. nogard230

    nogard230

    Joined:
    Jul 21, 2014
    Posts:
    8
    Thank =)
     
  8. Mario-White

    Mario-White

    Joined:
    Sep 16, 2014
    Posts:
    3
    If I wanted a player to draw from the opponents deck of cards, or each player share a deck during a type of game play.

    *Is there a built-in or easy way to do this?

    Thanks,
     
  9. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Hi, there's no built-in way to do this currently, but it's not difficult to code it, you can add me on Skype for detailed advice on which scripts to modify.
     
  10. Nerdzul

    Nerdzul

    Joined:
    Sep 3, 2014
    Posts:
    15
    heya again, I was wondering, is it possible (or easily coded) to use "tap a creature you control" as the cost to play a card? And can ifs be implemented for that kind of alternate costs (for example, tap a human or tap a creature with atk 3 or more, or tap Your Hero).

    Is there a way to change the 'tap' visual effects so that for example a card that had been used\just put into play is grey while one that can still act is in color?

    thanks again
     
  11. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    Hi Nerdzul, Melang can help you out more with what you're asking, but my recommendation is not to use color as the only indicator of something since some people might be colorblind or have trouble seeing certain colors (usually red and green, but there are other rare cases).
     
  12. Nerdzul

    Nerdzul

    Joined:
    Sep 3, 2014
    Posts:
    15
    Thanks for the advice it's a good point, that I hadn't thought about. Perhaps some sort of highlighting for active cards could work too.

    By the way I have just noticed Zems's demo and I really like the game concept and even the prototype already looks good. I'll start following it too :) Besides I'm an avid player of boargames that works on a similar principle, like Mage Wars.
     
    Exeneva likes this.
  13. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    As Exeneva said, this won't work for colorblind people, so I suggest changing the existing highlight instead. If you want to customize the highlight system, you can modify card.AddHighlight() method (what should happen when highlight is added) and this line in Update() (what should happen when the highlight is removed):

    Code (csharp):
    1. if (!IsPlayable()) Destroy (highlight);
    Not in the current stable build, because there was no "Tap" effect in it. It has already been added in the dev build, so the next update will have it. Additional filters will also be possible because of the new target system with filters. :)
     
    Nerdzul likes this.
  14. Nerdzul

    Nerdzul

    Joined:
    Sep 3, 2014
    Posts:
    15
    Oki thanks, I will wait for the next update then, no point messing with the code (especially given that I'm pretty noob with it), if you are already working on it.

    I have another question, is there a way to include symbols\icons in the card text? In order to save space on the card (a la Tyrant and Tyrant Unleashed), I have also seen that in the code there is some support for using keyword\description for the card abilities that are displayed when you open the ability menu of a card, how do you assign them to a specific effect?

    Thanks again :)
     
  15. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Keyword icons and ability names are definitely planned, but they won't be in the next update, since the next update already has lots of changes and I want to release it as soon as possible :)
     
    Last edited: Sep 25, 2014
    Nerdzul likes this.
  16. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
  17. VectorNector

    VectorNector

    Joined:
    May 22, 2013
    Posts:
    62
    I'm interested in this asset. Do you plan on optimizing it for mobile?
     
  18. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Hi VectorNector, Touch and mobile support (and a mobile demo) will be my main focus after I release the next update. The next update will feature Unity 4.6 UI, which I think is great for mobile builds, since 4.6 UI makes working with multiple resolutions much easier.
     
  19. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    I cant seem to be able to find you in skype :(
    are you sure melang1111 is correct?

    Anyway id like to ask you whether the kit is mostly optimized for multiplayer or singleplayer card games is a valid option.
    Also the last time i tried the demo there were no animations (card draw, card play, attack , etc.) Are you planning to add animation support(even basic position lerping between deck-hand-board positions)?
     
  20. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Just purchased. Look forward to checking this out as my first unity project was a dueling wizards / magic the gathering clone so I'm curious to know how you handled the design. Any ETA on the 4.6 version with updated GUI? I'll probably start going through it in earnest at the point.

    Also, I agree with Moure ... card animations would be fantastic. So when a card is drawn from the collection, when it attacks, etc., if it actually moved from point to point, that would be a fantastic addition.
     
  21. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Also, I noticed in your demo that creatures can directly attack other creatures. Is it possible to turn this off so that creatures can only attack other players like in Magic? Just curious whether this would be a code change or if you've already configured it as a setup option.
     
  22. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    It's correct but you can PM me your username, and I'll add you myself if you can't find me

    Single player games are supported as much as multiplayer (and probably are easier to do).

    Animations are very custom and each TCG has its own, so I didn't think that it will be a popular feature. I'll try to add some animations in the future releases. :)

    Thanks for the purchase, I'm trying hard to release it in 1-2 weeks, porting all of the UI, cards (yes, cards are also UI objects with this port), and zones is not an easy task. :/

    Hm, this is something I should add, it can be changed via code rather easily though. In card OnMouseDown(), find the switch case
    Code (csharp):
    1. case 1:     //needs a target for creature attack
    and comment that case out. Then only the players will be selectable as attack targets
     
  23. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Cool ... sounds good.

    Regarding allowing creatures to only attack enemy players ... what would be needed to then have opposing players "block" those incoming attacks with their own creatures?
     
  24. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    I'm going to add blocking in the future releases, but for now, here's some advice on how you could implement it yourself. (not tested, pseudo-code ahead)
    First you'll need a new target type, take a look at effect numbers.txt and choose some new number in the high range but preferably lower than 255, write it down, not to effect numbers.txt but to your own file, for example 240 - blocker. Just make sure it's not already taken.

    to Player.cs, add a
    Code (csharp):
    1.  public static card CreatureToBlock;
    .

    1) Make a new coroutine (IEnumerator), call it "WaitForBlocker". Add these 2 lines to it:
    Code (csharp):
    1.  
    2. IEnumerator WaitForBlocker()
    3. {
    4. Player.ActionCancelled = false;
    5. Player.targets.Clear();
    6. }
    7.  
    Then to the start of IsAttacked in Player.cs add a check for creatures that can block. If the player can block with some creature, call WaitForBlocker
    Code (csharp):
    1.  
    2. StartCoroutine("WaitForBlocker");
    3.  
    Add Player.NeedTarget = 240; to the coroutine. (if 240 is your blocker target id). The game will pause and wait for the player to choose a target.

    2) In Player.cs OnGUI find where it displays target texts (choose a creature, etc) and add a check for NeedTarget == 240 and display smth like "You can choose a blocking creature".

    3) Then in card.cs OnMouseDown find a switch that checks for Player.NeedTarget, add (preferably in order so it's more organized) a switch case for 240. In that switch case check if the card the player has clicked on is a suitable blocker, for example a player's creature in game and if it is, AssignTarget() (see the other targets there) . If it's not, BadTarget() (again, check how it's done for other target types there).

    4) In the coroutine you've created add
    Code (csharp):
    1.  while (Player.NeedTarget > 0) yield return new WaitForSeconds(0.2f);
    2. if (!Player.ActionCancelled)
    3. {
    4. // your blocking code goes there, for example it can call
    5. //IsAttacked(CreatureToBlock) on the blocking creature
    6. //and do a return; so that the player is not attacked
    7. }
    8.  
    Contact me in Skype if you decide to implement this and have some questions. :)
     
  25. VectorNector

    VectorNector

    Joined:
    May 22, 2013
    Posts:
    62
    I'm really excited to hear that from you. I look forward to that update. Thank you!
     
  26. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    Thanks for the reply, i went on and bought it to take advantage of the 50% sale.
    I will test it this weekend and give you my feedback, cheers!
     
  27. Kemp-Sparky

    Kemp-Sparky

    Joined:
    Jul 7, 2013
    Posts:
    72
    I also bought the TCG Kit. I like the kit very well, but after a bit of testing, I found what could be a bit of a problem with the game mechanic. If your hand has no moves available, and you keep drawing from the deck, once you reach 10 cards in your hand, new cards go into the graveyard. Meaning that you will never be able to play a card. Perhaps you can push cards into the graveyard from the other end? I.E. the cards that were dealt first go into the graveyard, and the new cards go into the player's hand?
     
  28. Tortyfoo

    Tortyfoo

    Joined:
    Mar 6, 2012
    Posts:
    132
    @Kemp - That is the 'Hearthstone' mechanic and is often used an a tactic to make you lose upcoming cards. But how can you get in to a position where can never play another card for rest of game? It may for a turn or 2 you can't but board state should change so you can play some of the 10 cards in your hand. Normally having a lot of cards in your hand is a massive advantage.
     
    Melang likes this.
  29. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Hi Kemp-Sparky, and thanks for purchasing TCG Maker. :) As Tortyfoo has said, currently the hand limit is implemented exactly like it's done in Hearthstone, and yes, in HS you can theoretically be in situation when you can't play anything for a turn or two. I will probably also implement MtG-style hand limit (player chooses which card(s) to discard), but it's not a priority at the moment.
     
  30. Kemp-Sparky

    Kemp-Sparky

    Joined:
    Jul 7, 2013
    Posts:
    72
    @Tortyfoo, if you don't get any land cards in your first 10 cards, you never have any mana with which to play any other cards. Unless I'm missing something, which is entirely possible. >_< lol Thanks!
     
  31. Sprush

    Sprush

    Joined:
    Sep 28, 2014
    Posts:
    5
    I would be most interested in multiplayer and lots of pre-coded effects.
     
  32. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    There's a lot on the plate for the next build, such as the new UI system since Unity 4.6's new UGUI has been unveiled, but perhaps the build after that should offer a mulligan option, partial-paris style like Hearthstone does it (instead of full paris like MtG).
     
  33. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    Hi, unfortunately i had little time to get a look at the package this weekend. However my first impressions are the following:

    • The code is very well written and easy to understand by following the detailed documentation. I havent done any modifications yet but it seems pretty straightforward to do so. Some parts of the documentation need updating, i guess due to the zones additions. Some methods have been moved to the zones script.
    • The resizing of the cards to fit the zones seems like a strange design decision to me. As a result of this, the cards change size on board depending on how many cards you have on hand for example. That takes a bit away of the immersion. I think a better way to do this would be to include a checkbox option to overlay the cards (in x or y axis depending on the situation) a bit in order to fit in the zone instead of making them smaller.
    The next thing i will look into will be checking how hard it is to add some basic card moving animations between the different zones. I guess this wont be hard for singleplayer. For multiplayer this will probably need more work as the animations will have to be syncronised across the network.
     
  34. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    The poll is there since the early days of TCG Maker, the multiplayer is already in (as you can see from the demo), and there are quite a few pre-coded effects. :)

    About resizing of cards - I also thought about overlaying the cards, I'm going to add this option in the future. It was a bit difficult to make the overlay work with the zoom in the old UI, but should be easier now with 4.6. Also, what do you think about how MtG stacks the same cards to use less space?
     
    pleewpleew likes this.
  35. Nerdzul

    Nerdzul

    Joined:
    Sep 3, 2014
    Posts:
    15
    The stacking of cards, especially lands with the same name, looks useful to me, and it could also be used for the 'attachment' kind of cards when they are introduced (I guess in a future build). I'm not sure however about overlaying different cards, it might make 'reading the table' harder.

    Another way to save 'real estate' on the screen and remove the need for overlaying cards on top of each other could be to have the cards represented just by their illustrations+relevant stats while in play, excluding the rest of the template, like it is done in Hearstone and in many other online ccgs.
     
  36. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    Thats a nice option too :)
    I guess if you want to have everything implemented you have these options:
    1. non-overlay look with standard space between cards and the option to align the cards left/center/right to the zone. (this method of course will require a maximum amount of cards per zone) Here you can add the same card stack.
    2. simple overlay look - each card overlays the next a bit in x/y axis and is a bit forward in the z axis.
    3. overlay holding cards look - the same as before but the cards are rotated a bit around a point (hearthstone hand look) this helps the player visually distinguish the different game zones.
    4. free overlay look - the player positions the card wherever he wants in the board(upside/downside) - if there is a card already on spot the new card is moved a bit forward in z axis to avoid intersections.
    I guess that if you have all these the current implementation will be a bit obsolete.


    Edit: Question, can a player in the current implementation draw from different decks? Have for example a creatures deck and an abilities deck and choose where to draw from?
     
  37. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Stacking cards of the same type would be a really useful feature.

    Something else that would be helpful would be a system where particles could originate from one card and end at another card. So if a card had an ability to shoot a fireball at a target player or card, being able to specify a particle effect that would begin at a specific card and end at another card (or player picture) and kick off another particle effect at point of contact (to represent an explosion effect) would be great. That would really make clear what exactly is happening when certain abilities that use targets are kicked off.
     
  38. Zastrow89

    Zastrow89

    Joined:
    May 1, 2010
    Posts:
    51
    what am i doing wrong here? i added my own card frame, and set it up exactly like the one already there. and this is what it looks like:


    and then ingame it looks like this:



    any help would be greatly apreaciated! thanks in advance!
     
  39. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Hi, can you send me your project in a .rar? First time I see this problem...You can send it via PM or Skype
    melang1111
     
  40. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Personally, I haven't seen TCGs that have this, so I didn't think it was going to be popular and so currently there's no option for it. But this question has been asked a couple of times, so I'm going to add it in the future since people seem to be interested in it.
     
  41. Nerdzul

    Nerdzul

    Joined:
    Sep 3, 2014
    Posts:
    15
    Online ccgs there are very few (or none I guess) with more than one deck, but it isn't an unused concept on tabletop, with examples like Agot (with the plot deck), oLoR with the company and hazards decks, Call of Chtulu that has a neutral 'deck' with the missions to solve, vtes that had the crypt deck for minions plus another one for everything else.

    Besides extra sub-decks can also be used for example to determine setups (put into play everything that is in the setup deck) or to make deckbuilding games like Dominion or Thunderstone for example.
     
    moure likes this.
  42. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    While it is up to Melang, I would argue that TCG Maker is intended to be exactly what the title suggests - a TCG Maker.

    Some of the examples you mentioned are board games with a card game aspect. They are not collectible or trading card games. If we want to stretch TCG Maker further, we should consider rebranding it to be Board Game / TCG Maker or something like that.

    Now, as to games with multiple decks - Legend of the Five Rings is a prime example of a trading/collectible card game where each player uses two decks: the 'troops' deck and the 'combat tricks' deck.
     
  43. Arghonaut

    Arghonaut

    Joined:
    Jul 23, 2012
    Posts:
    26
    This may or may not help, but I remember having a similar problem a while ago, the issue for me was the various labels were sitting 1 space in front of the card frame on the z? axis and i was using a perspective camera at an angle to the cards.
     
  44. adigleria

    adigleria

    Joined:
    Aug 19, 2012
    Posts:
    4
    Looks like a very well put together system. One thing I don't see any mention of, however, is iOS devices (iPhone/iPad). How well are they supported (if at all)?

    Thanks.
     
  45. Melang

    Melang

    Joined:
    Mar 30, 2014
    Posts:
    166
    Hi. Since Unity supports all platforms, if you make a game using TCG Maker and adjust the UI and input, it should work on mobiles (though I haven't tried it). I'm currently working on a port to Unity 4.6 UI, which will make adjusting the UI to support multiple resolutions much more easier. After I release it I'm going to to make a mobile demo since it's a much requested feature.
     
  46. adigleria

    adigleria

    Joined:
    Aug 19, 2012
    Posts:
    4
    Sounds good, thanks for the quick response.
     
  47. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    Do note that it's often not as simple as changing the build platform in Unity. If targeting iOS, for example, you want your assets to be optimized for iOS resolutions in order to increase performance.
     
  48. Sprush

    Sprush

    Joined:
    Sep 28, 2014
    Posts:
    5
  49. Arghonaut

    Arghonaut

    Joined:
    Jul 23, 2012
    Posts:
    26
    There is a menu item, under Window - TCG Maker.
     
  50. Sprush

    Sprush

    Joined:
    Sep 28, 2014
    Posts:
    5
    Thanks Much