Search Unity

[Released] CCG Kit: create your own collectible card game with Unity

Discussion in 'Assets and Asset Store' started by gamevanilla, Jan 23, 2016.

Thread Status:
Not open for further replies.
  1. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The visual editor provides support for adding as many effects as you want to a single card, but the code specifically restricts triggering more than one effect of a given trigger type at this moment because this has certain usability ramifications to consider if the effects in question have targets chosen by the player and I plan to provide more extensive support for effect combinations in version 0.4. Having said that, there is a trivial way to support this in the current code that will work just fine with your drain effect example; you just need to remove the break instruction in the TriggerEffect method from the EffectResolverHandler class.
     
    bottlejean and Dziemian like this.
  2. Kobaltic1

    Kobaltic1

    Joined:
    Jan 22, 2015
    Posts:
    183
    Ok. Thank you.
     
  3. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I have just submitted the latest update to CCG Kit (version 0.3) to the Asset Store for review. It contains the following features:

    - Implemented server with player registration/login, rankings and purchasable card packs functionality.
    - Implemented effect conditions, which allow you to define the criteria that must be met by the effect target/s in order for said effect to be applied (e.g., "deal 1 damage to enemy creatures with fury", "you gain 3 life if your life is lower than 10").
    - Implemented card subtypes, which allow you to easily tag your cards (this is useful for creating groups of related cards; for example, you could have a zombie subtype and effects targeting only zombie cards).
    - Implemented support for mobile devices.
    - Implemented the ability to set the minimum/maximum deck size and maximum hand size.
    - Improved visual editor usability.
    - Added background music and basic sound effects to the demo game.
    - The deck editor screen in the demo game now shows the amount of cards of each type in the current deck.
    - Upgraded Unity version to 5.3.3.

    You can find a video showcasing the new server functionality included in v0.3 here:



    This also means work on the next version (0.4) is starting right away. As always, you can follow the development via the public roadmap and also reach me for any question or suggestion (thank you for your excellent feedback, it really helps make the kit better!). :)
     
  4. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    I will definitely try this after my current project. Can't wait for that!
    Please keep going well!
     
  5. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! :)
     
  6. SarahR

    SarahR

    Joined:
    Mar 14, 2016
    Posts:
    9
    Hey the kit looks fantastic, just watching the latest video update, are there any plans to add things like:

    Matchmaking (To go a step further, matchmaking based on rank?)

    Currency - To buy packs with, earned by playing and winning games (Maybe a system to charge actual money with, though not required for most)

    Easier to edit card frames - Maybe this is me in my limited work with the kit (I work with someone who owns the kit currently getting ready to pick it up myself) but there doesn't seem to be a scene or easy way to edit the layout of the cards, if I am mistaken please let me know but right now I have no idea how you'd edit a cards layout (For example if I wanted to put the cards life in the top right hand corner)

    Starter cards - A way to define if the player starts the game (when making a fresh account) with a certain card or not (for example a "base set" would be required if the player was able to buy packs rather than just have every cards available)

    Pack rules - By this I mean being able to easily say how many cards a pack has, and maybe going as far as to being able to set up different types of packs that the player could buy (So for example Pack A contains only beast cards whilst Pack B contains only undead cards)
     
    Last edited: Mar 14, 2016
  7. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your kind words and your excellent feedback, Sarah! :)

    Matchmaking that leverages UNET's Internet Services is already provided. Having more advanced filtering options is a great idea; I am adding it to the roadmap.

    This is a great idea too! The latest update (version 0.3, currently pending review) includes a reference implementation of a server with player registration/login, rankings and purchasable card packs functionality. Currently, the demo game does not provide a currency and lets the player buy as many card packs as he wishes, but it would definitely be a nice addition to implement one. I am adding this to the roadmap too.

    There are three key parts to CCG Kit:

    - The visual editor, which is used to define the game/card/effect properties according to your game design.

    - The core library, which provides generally useful code that can be applied to a wide variety of CCGs and also access to the game information defined in the visual editor.

    - The demo game, which provides a foundational example on how to use the core utilities to build a complete game.

    The demo game cards use prefabs (located in the Demo/Prefabs folder) that you can use as a reference or tweak as necessary. But you are also free to use only the visual editor and the core library if you want to.

    With version 0.3, player card collections are stored remotely on a server*. Complete, documented source code for the server is included, which means you are free to define the initial cards available when creating a new player, how many cards are contained in a pack, etc. With future updates, it could be interesting to configure these properties from the visual editor to reduce the need to touch the server code. Definitely something to consider!

    * An offline mode is also included so that you can play without registering into the server. In this case, a default deck is provided by the game.
     
    toko_ likes this.
  8. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Awesome! Now Singleplayer Ai and iam ready to roll :D
     
    toddalbert likes this.
  9. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! I am looking forward to implementing it. :)
     
  10. SarahR

    SarahR

    Joined:
    Mar 14, 2016
    Posts:
    9
    Thanks for letting me know where the card stuff was stored that's really sped production on my product along now I know how the cards are layed out with the kit.

    As a final suggestion by the way (Sorry it hit me whilst I was trying to sleep) a card rarity system for the packs would also be very helpful, maybe being able to set a % of how likely it would be to open each rarity of card and then setting the rarity on the cards in the editor so for example

    40% Common, 30% Uncommon, 20% Rare, 10% Heroic, obviously it would have to = 100% overall I'd assume but something like that plus the other suggestions would basically make the "collectable" part of CCG complete
     
  11. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Agreed! I have added a new card to the roadmap for implementing a card rarity system. Thank you! :)
     
  12. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The latest update to CCG Kit (version 0.3) is now available on the Asset Store! You can find it here.

    It contains the following features:

    - Implemented server with player registration/login, rankings and purchasable card packs functionality.
    - Implemented effect conditions, which allow you to define the criteria that must be met by the effect target/s in order for said effect to be applied (e.g., "deal 1 damage to enemy creatures with fury", "you gain 3 life if your life is lower than 10").
    - Implemented card subtypes, which allow you to easily tag your cards (this is useful for creating groups of related cards; for example, you could have a zombie subtype and effects targeting only zombie cards).
    - Implemented support for mobile devices.
    - Implemented the ability to set the minimum/maximum deck size and maximum hand size.
    - Improved visual editor usability.
    - Added background music and basic sound effects to the demo game.
    - The deck editor screen in the demo game now shows the amount of cards of each type in the current deck.
    - Upgraded Unity version to 5.3.3.

    The following video showcases the new server functionality included in this version (player registration/login, rankings and purchasable card packs):



    Work on the next update, version 0.4, has already started (you can check out the public roadmap). I can also confirm the kit is working fine with the latest stable version of Unity unveiled today at GDC (5.3.4).
     
  13. SarahR

    SarahR

    Joined:
    Mar 14, 2016
    Posts:
    9
    Hey could you maybe create a tutorial (written or visual) on a good way to set up our own server stuff, just right now I am a little lost with how it would all work, any recommendations of server hosting would be great too
     
  14. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Definitely! I will expand the official documentation with my personal setup used for development in case it may be helpful. With the server being developed with Node.js/Express and MongoDB,some familiarity with these technologies is also recommended.

    Well-known options for deploying the server in a production environment would be AWS, Digital Ocean, Heroku and Openshift. Choosing one over the other is a balance between ease of setup, experience of your team and pricing/scalability concerns that need to be carefully considered on every particular case (meaning it is both a technical and business decision). I will also update the official documentation to reflect this.

    Thank you for your feedback! :)
     
  15. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    A quick video getting started would be very useful to involve and start playing around with this promised kit.
    AWS would be easy and friendly as well!
     
  16. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Noted, thank you for your feedback! :)
     
  17. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    have you had the quick starting video? or the document is enough to get started? I just can't wait for having it on hand.
     
  18. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The official documentation included with the kit should be enough to get you started and I am constantly extending and improving it based on user feedback. I also plan to do videos in the future, but as there are currently many features being introduced with every update, creating them now would render them outdated very quickly.
     
  19. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    OK, videos are not important! Well-documented would be must better. Would you please plan for 3D minions example!
    I'm gonna click buy button within today!
    cheers!
     
  20. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! A 3D example is something interesting to consider for the future and it is in fact on the roadmap.
     
  21. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    I prefer videos instead of written documentation!
     
  22. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Noted! I understand some people prefer written documentation while others prefer videos, so I plan to have both for CCG Kit. :)
     
    Gunhi and pushingpandas like this.
  23. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    How does the SP AI comes along? If you need a beta tester ;)
     
  24. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    OK, I see. Take your time!
     
  25. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! I am currently working on it; still early days. :)
     
  26. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I have just submitted the latest update to CCG Kit (version 0.4) to the Asset Store for review. This version includes the following features:

    - Implemented single-player mode in demo game.
    - Implemented 'current card' as an effect target option.
    - Implemented audio manager for better management of music and sound effects.
    - Fixed bug when switching between different game configuration assets for the first time in the visual editor.
    - Fixed bug where triggered effects could target the wrong player in very specific scenarios.
    - Upgraded Unity version to 5.3.4.

    You can find a video showcasing the new single-player mode here:



    I will certainly not claim the AI is on a DeepMind level at this point, but it is a good foundation to build upon. I find it particularly interesting that the single-player is not a special case in the codebase, but it is nicely integrated within the existing multiplayer architecture. As this was a highly-requested feature, I hope this version helps shed some light on how this type of functionality can be achieved.

    As always, submitting a new update means work on the next version (0.5) is starting right away. Remember you can follow the development via the public roadmap and also reach me for any question or suggestion. :)
     
    carsenk likes this.
  27. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    Im looking forward to buying your kit, a couple things I would love to see is:
    -In-App Purchases/Currency to purchase Card Packs
    -Possible levels for actual players? Instead of global leaderboards?
    -Player Emotes (Similar to how in Hearthstone you can click on your player and send text like "Hello!" or "Good game!" or "Nice try!") (Really helps to keep players interacting with each other)
    -Card Based Mana?
    -Card Trading (Hearthstone doesnt even have this and it needs it badly!) (Possibly implemented with a game lobby/players online list where you can view other players online and select to offer to trade with them and then be taken to a trade screen, where you could choose to trade an entire deck or just single cards)

    Thanks! Looks amazing!
     
  28. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    Do you have any closed group that can get the latest version right at the release time. Waiting for Unity Review progress is really painful!
     
  29. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your kind words and your excellent feedback!

    - In-app purchase/currency to purchase card packs: Implementing a virtual currency is on the roadmap; adding in-app purchases is something I currently feel is a bit outside the scope of the kit, as Unity already provides excellent facilities to implement them (and there are also many other payment systems outside of mobile too; I believe integrating real currencies is a very project and studio-specific area rather than something I can provide a universal solution for).

    - Levels/ranks is on the roadmap.

    - Player chat is on the roadmap and I am definitely planning to add support for emotes.

    - Card based mana is something you can currently do with the kit.

    - Card trading is an interesting idea to think about.
     
    carsenk likes this.
  30. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    You can reach me via the support email with your invoice number and I will send it to you.
     
  31. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Could you please implement a visual DRAG and DROP ? Like in Heartstone, you have to drag the card on the table. This would add nice visual to mobile devices
     
    carsenk likes this.
  32. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Definitely! It is on the roadmap. :)
     
    carsenk likes this.
  33. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    Another random thought:

    Adding some sort of basic animation so that when it becomes your turn and you draw a card, that card that was drawn should flip and fly up and in, something of that sort to make it more apparent that it was the card you just drew, Hearthstone has a great example of that....just something basic that we could go off of to add our own animations or develop it further :)

    Hope to see Card Trading on the roadmap
    (I also second adding Drag and Drop functionality, implementing it more of how hearthstone has it with drag targeting as an option would be extra cool!)

    Will be purchasing this week (just waiting on some funds)! :) Seriously an awesome asset, I find myself refreshing this page more than normal hoping for updates :p
     
  34. Cartoon-Mania

    Cartoon-Mania

    Joined:
    Mar 23, 2015
    Posts:
    320
    It has become increasingly good product. I did not buy now

    Someday I will like to buy this product. Keep Going~
     
  35. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I completely agree with you, thank you again for your kind words and your feedback! Currently, my main focus is on providing more features and extending the core functionality provided by the kit. But there is also room for improvements like the ones you mention in the demo game: more animations, more visual indicators for what is happening at any given time, etc. in order to help with its visual readability. I definitely plan to implement these features too. :)
     
    carsenk likes this.
  36. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your kind words! :)
     
  37. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The latest update to CCG Kit (version 0.4) is now available on the Asset Store! You can find it here.

    It contains the following features:

    - Implemented single-player mode in demo game.
    - Implemented 'current card' as an effect target option.
    - Implemented audio manager for better management of music and sound effects.
    - Fixed bug when switching between different game configuration assets for the first time in the visual editor.
    - Fixed bug where triggered effects could target the wrong player in very specific scenarios.
    - Upgraded Unity version to 5.3.4.

    The following video showcases the new single-player functionality included in this version:



    Work on the next update, version 0.5, has already started and the public roadmap is available here.
     
    HumanCurious and carsenk like this.
  38. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    Very awesome! Super excited for the 0.5 release...really looking forward to it :) just purchased today finally will be leaving a very positive review! :D
     
  39. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! I really appreciate it. :)
     
    carsenk likes this.
  40. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    One thing I am very curious about and maybe I am just not informed correctly yet:

    Since this is based on UNET (Unity Multiplayer Services), The max CCU is 20 for Unity Free and 200 for Unity Pro, does that mean I can only have 20 players online at a time? What happens when you go over that 20 users or even the 200 users? I could easily see a game reaching over thousands of users online at a time, would they just be told they can't play with a dialog box? Is there any solution to this to not have a limit on how many people can be playing? Or maybe I am misunderstanding Unity Multiplayer?

    I read something about how you can setup your own "Unity Multiplayer server" by linking up with their API? That may be a cheaper/better option?
     
  41. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your excellent questions, carsenk. I believe the official Unity Multiplayer Launch FAQ is the best resource to answer your questions:

    - If you need more that 20 CCU with Unity Free or 200 CCU with Unity Pro, the limit is removed and you are charged $0.49GB for traffic that travels through Unity's infrastructure (meaning the relay server and the matchmaker).

    - You are free to use the low level and high level UNET APIs to implement your own servers (potentially with NAT punchthrough) without using Unitys' relay server and matchmaker.

    Please note CCG Kit makes use of both the matchmaker and the relay server, but you are definitely free to implement your own systems if you want to. Realistically, most games are not going to reach thousands of users online at a given time and if they do they will do so during peak hours and not uniformly over the entire day. It is also important to remember that the kind of turn-based games that can be created with the kit are inherently less network intensive than their real-time counterparts. Having said that, if your game reaches those numbers, you are definitely going to incur into server costs either way (UNET bandwidth or the cost of developing and maintaining your own servers).

    I hope this helps! :)
     
    carsenk likes this.
  42. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    Thanks for the help! That article was extremely helpful :)

    Seems to me its pretty fair, but the pricing is a bit steep compared to just running your own hardware....So implementing a separate Relay/Matchmaking server in the far future would be an awesome goal, like a headless linux daemon something of that sort for the option to easily run your own servers if we dont want to use Unity's. Unfortunately my C# skills are on point yet so I don't think I could this myself.

    Do you have an ETA at all on when 0.5 will be completed?

    Thanks again! :) Loving the asset!
     
  43. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    You are welcome! I am always happy to help.

    That could certainly be interesting, but may also fall a bit outside the scope of the kit. In any case something to think about!

    I release updates often (every few weeks). As always, as soon as development and testing work on 0.5 is completed I will update this thread.

    Thank you! :)
     
    carsenk likes this.
  44. peca92sk

    peca92sk

    Joined:
    Feb 24, 2016
    Posts:
    29
    First of all, have to say that you at the Spelltwine games did a great job with this kit. I am following your work for a past few months and have only nice words for your work. Your efficiency with the kit and social bond with the community are truly remarkable.
    Second, I have some ideas of my own I would like you to consider:
    1. turn counter ( somewhere between players avatars)
    2. turn timer ( somewhere between players avatars)
    3. maximum creature number at the board ( do not know does this exist already)
    4. adjacent effect for creatures and spells ( like in heartstone)

    And finally, my birthday pass so now I have the money, my exams are going to be finished next week so I will have the time, so there is one main question left: How difficult is all of this ? What kind of knowledge is needed for this kit, because I am far from a C# or Unity ninja, but I am neither a total beginner. Keep up the good work! :D
     
    carsenk likes this.
  45. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you very much for your kind words and your feedback! :)

    A fundamental knowledge of C# is highly recommended, but the code is clearly structured and well commented so it is also a good way to learn how a collectible card game can be architected and implemented with Unity. Being a ninja is most definitely not required.
     
    carsenk likes this.
  46. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    Found a bug...If you play a card say a Spell card and you hit End Turn before the Death Effect happens it does not remove the card from the game board...
     
  47. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The code already handles this case explicitly, so maybe there is something else going on. I will investigate it, thank you! :)
     
    carsenk likes this.
  48. HumanCurious

    HumanCurious

    Joined:
    Apr 10, 2016
    Posts:
    1
    I've just bought your kit to take it for a spin.

    I'm a complete beginner in Unity and development. What would the best way to contact you for questions/ support? The email address provided?

    Can I ask questions about customization, development?

    I will try to implement my card game into a TCG format and see what comes out of it.

    So far, I'm impressed with the functionality, let's see if I can easily modify the demo to my ideas.

    Good luck with the future development and I hope you will continue working on this.
     
    Last edited: Apr 10, 2016
  49. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your support and your kind words! Feel free to reach me at the support email address if you have any question. :)

    I am always working on extending and improving the functionality provided by the kit, so definitely do not hesitate to let me know if you have any suggestion. Also, the development roadmap is public and you can find it here.
     
  50. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    853
    Would it be possible to use the CCG Kit as part of a bigger game? The classic MTG game from Microprose had you roaming the land and entering dungeons on an isometric map and only switched to the cardgame view whenever an encounter occured.
     
Thread Status:
Not open for further replies.