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
    Hello! We are glad to announce the release of CCG Kit:




    CCG Kit was born out of the realization that there was a distinct lack of high-quality, well-documented information on how to create a multiplayer collectible card game (CCG/TCG) with Unity. After the new networking system in Unity (UNET) was released, bringing facilities directly integrated into the engine to develop multiplayer games, it only made sense to start work on an Asset Store kit for providing a solid foundation for developers to create their own multiplayer collectible card games. With the official deprecation of UNET in 2022, we have completely migrated the kit to Mirror.

    The key goals of CCG Kit are the following:
    • Server-authoritative multiplayer by default leveraging Mirror.
    • High-quality, well-documented code.
    Let's dive into the reasoning behind each of these goals in more detail.

    Server-authoritative multiplayer by default leveraging Mirror

    Our experience working in the industry for several years shows that, as soon as your multiplayer game reaches a certain mass of players, a subset of them will try to hack it. It is simply going to happen. Cheating in multiplayer games is no fun and hurts the experience of the non-cheater players, so if you want to create a multiplayer game you really want to be serious about this issue from the very beginning. CCG Kit design revolves around the fundamental idea that the server is authoritative, meaning it drives the entire logic of the game and is ultimately the one deciding if any given action is allowed. Clients are therefore reduced to "dumb" terminals that take the player's input, send it to the server and update the UI accordingly when the server answers back. "Dumb" terminal is a bit of an unfair term, as the client still needs to perform quite a bit of work. Work that actually includes running some of the game logic locally to hide the latency that inevitably exists in any networking scenario in order to present smooth, lag-free visuals to the player. But the important idea here is that the server is always the one in control of the game, and may ultimately override the client's state if deviations arise.

    The kit natively supports running on a dedicated server by providing a complete integration with Dedicated Server Kit (Dedicated Server Kit is included and does not need to be purchased separately).

    Unity is a great game engine and the release of Mirror has made it even better. Having used Mirror it since its release, we can confidently say it is getting better with every update and already is a great, proven networking library that integrates very well with the rest of the Unity ecosystem. Mirror is the present and future of networking and we are ready and prepared to keep up with its development and vibrant community.

    High-quality, well-documented code that is useful for a wide variety of games

    We take pride in our work and aim to deliver excellent code that works, follows good practices and is well-documented. As development on the project progressed, we faced an interesting dilemma as we noticed a lot of elements in the game could be abstracted into more generally useful components. Should we release the game as it stands or try to make it more universal? We finally decided to bite the bullet and cleanly separate the core functionality from the demo/example functionality to pave the way for even more customization opportunities in future releases. Of course, one can think of infinite variations on game rules and card mechanics for a CCG project, so we intend to improve the kit with every release based on your feedback using it in your own games.

    Please do not hesitate to ask us any questions or provide any comments/suggestions here! We will be happy to answer. :)
     
    Last edited: Jun 25, 2022
    Deleted User likes this.
  2. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    Great, can't wait for that! subscribed
     
  3. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you Gunhi! Please note the asset has just been released on the Asset Store and you can find it here: http://u3d.as/naa
     
  4. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    Cool, I will definitely try it! Do you have plan for creating a sample/demo for 3D minions instead of 2D cards
     
  5. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Yes! This is definitely something I want to have in the future: a variety of demo games showcasing different mechanics and visuals (2D/3D).

    The current demo is very similar in spirit to games like Magic: The Gathering and Hearthstone, but the kit is designed with flexibility in mind and the ultimate goal is to provide a generally useful core (independent from the demo code) that can be used in a wide variety of collectible card games.
     
    Last edited: Jan 25, 2016
  6. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Just purchased it. Its awesome! Developer is very friendly and helpful. This asset will ROCK
     
  7. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you very much for your kind words! I am glad you are happy with the kit. :)
     
    Last edited: Jan 25, 2016
    pushingpandas likes this.
  8. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    CCG Kit is now featured on the Asset Store! I really appreciate the support the kit is having. :)



    I am currently working on implementing new features and improvements for the next update, which you can follow at our public roadmap.
     
  9. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    When do you plan to release next update?
     
  10. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I plan on submitting it next week! More generally speaking, I intend to release new, smaller updates often because I believe that is more useful for customers than having to wait too long for bigger ones.
     
    pushingpandas likes this.
  11. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    300
    Do you have an approximate of Road Map for main features? Let's say you should create a official forum for this.
     
  12. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Do you mean having an official forum in addition to the roadmap? If there is enough interest I could certainly setup one. Please note the roadmap is already public and anyone can vote and comment on it. I have also created several new cards for features explicitly requested by customers since the initial release.

    While the contents of the next update (v0.2) are mostly fixed because I already started work on it while the kit was still waiting to be reviewed by Unity, the updates following it will definitely be based on customer feedback. I have received excellent feedback already and I am very grateful for that!

    Once v0.2 is released, I will take all the suggestions for new features and improvements received up until that point and prepare a detailed plan of action for future updates. Ultimately, I want you to have the most important role in deciding what comes next because the goal of CCG Kit is to help you creating the games you want to create. :)
     
    pushingpandas likes this.
  13. gamevanilla

    gamevanilla

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

    - Implemented triggered effects.
    - Implemented zoomed card view in the demo game.
    - Implemented LAN game support in the demo game.
    - Improved the implementation of the visual CCG Kit editor.
    - Implemented the ability to specify the maximum number of copies of a card in a deck in the CCG Kit editor.
    - Fixed scrolling issues in the CCG Kit editor.
    - Fixed players sometimes not being selectable as valid attack targets in the demo game.
    - Upgraded Unity version to 5.3.2, which brings important fixes to UNET.

    You can find a video showcasing the demo game in v0.2 here:



    I have received great feedback since the initial release, which I really appreciate and am very grateful for. My focus now is on organizing this feedback and start work on the next version (0.3) right away. As always, you can follow the development via the public roadmap and also reach me for any question or suggestion. :)
     
  14. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Looks awesome! When can we expect audio effects? That would bring more action and fun to gameplay
     
  15. joaopaul

    joaopaul

    Joined:
    Feb 1, 2016
    Posts:
    39
    Hello, any ideas for a demo version? something along the lines of watermarking or limiting amount of different cards maybe?
     
    Last edited: Feb 9, 2016
  16. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! I plan to add them in the next update and have updated the roadmap accordingly: https://trello.com/b/qXRx5Y0R/ccg-kit.
     
    Last edited: Feb 9, 2016
  17. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your feedback! I have no immediate plans for a demo version; my current focus is to continue extending and improving the kit. Maybe something to consider for the future?
     
    Last edited: Feb 9, 2016
  18. joaopaul

    joaopaul

    Joined:
    Feb 1, 2016
    Posts:
    39
    awww....shame :( Would love to try before buy...
     
  19. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    If you have any question, please do not hesitate to ask! I am always happy to answer. :)

    Creating a demo version implies either not giving access to the source code (which is precisely the core part of the kit) or developing a parallel, more-limited version of the kit. I honestly believe it is a better use of my time to focus on providing the best value for the kit as it stands rather than creating several variations with different levels of usefulness.
     
    DangerClose0369 likes this.
  20. joaopaul

    joaopaul

    Joined:
    Feb 1, 2016
    Posts:
    39
    hmmm, you are right about that. Maybe one video tutorial showing a incredibly simple game being made...

    Don't get me wrong, I'm very tempted to buy the asset even without demos ro so but I have that tiny fear that one or more of my ideas will not be implementable in the asset (at least without rewriting all or most of the logic)
     
  21. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    That is an excellent idea! I definitely plan on creating video tutorials showcasing the usage and features of the kit in the future. One of the main goals of CCG Kit is to help fill the void that exists regarding information on how this type of games can be created.

    Also, if you want to discuss your ideas to see if they are currently implementable with the kit (or they will be in a future update), please do not hesitate to reach me here or privately and I will be happy to help. The public roadmap is mainly built around customer feedback using the kit in their own games and I always appreciate suggestions for making it better and more generally useful.
     
  22. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Version 0.2 is now available on the Asset Store! It includes the following features:

    - Implemented triggered effects.
    - Implemented zoomed card view in the demo game.
    - Implemented LAN game support in the demo game.
    - Improved the implementation of the visual CCG Kit editor.
    - Implemented the ability to specify the maximum number of copies of a card in a deck in the CCG Kit editor.
    - Fixed scrolling issues in the CCG Kit editor.
    - Fixed players sometimes not being selectable as valid attack targets in the demo game.
    - Upgraded Unity version to 5.3.2, which brings important fixes to UNET.

    The following video showcases the demo game in version 0.2:



    Work on the next update, version 0.3, has already started. The list of planned features for this release is available on the public roadmap.
     
    pushingpandas likes this.
  23. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Awesome work! I know the high price is it worth. I jumped into the cold water when I purchased it but I trusted you and I was right. Thank you for your efforts.
     
  24. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! I am really glad you are happy with the kit. :)
     
  25. joaopaul

    joaopaul

    Joined:
    Feb 1, 2016
    Posts:
    39
    Would it be easy to implement our own type of cards or would it need a lot of fiddling?
    Also, if it is difficult, is there any plans to make it easy?
    Just thinking out loud here but a baseCard script which could be inherited and the addon would just load all the scripts that inherit from the base one...
     
  26. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The kit includes a visual editor that allows you to define:

    - The basic game properties (turn duration, number of cards dealt every turn, etc.).
    - The player attributes (e.g., health, mana, etc.).
    - The card types (e.g., spells, creatures, etc.).
    - The effect types (e.g., heal target player, deal damage to target creature, draw X cards, etc.).
    - The card collection, where you define the actual cards that will be available in your game based on your previous custom definitions.

    The goal is to provide a flexible foundation that can be used in a wide variety of games with different mechanics. There are no hardcoded card types or card/player attributes; you define them yourself based on your game design. For example, the demo game defines spells and creatures as the available card types. Spells have a mana cost, a card image and a card text as their attributes. Creatures have the same attributes, plus additional attack and defense attributes. Players have health and mana numeric attributes.

    This visually-defined information is then available programmatically; the core library defines several base classes (for the server, player, cards, etc.) that are intended to be overridden to provide additional/custom functionality. The included demo game is the official example on how this clear separation between core code and game-specific code is achieved. You are free to take it as a starting point for your own game or just make use of the core functionality.

    At this moment, you will definitely require additional programming if you want certain specific features. Ultimately, I want to provide more options for everything: more effects, more customizable properties, more helpers to create the game itself reducing the need for custom code, etc. I really appreciate suggestions on ways to make the kit better (and have already received excellent feedback from existing customers that has been added to the public roadmap!), so please do not hesitate to let me know if you think of something and I will happily take it into consideration for a future update. :)
     
    Last edited: Feb 11, 2016
  27. Kobaltic1

    Kobaltic1

    Joined:
    Jan 22, 2015
    Posts:
    183
    How are the cards stored? XML? Database?
     
    DangerClose0369 likes this.
  28. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    A watermarked or DLL version would be awesome. I'm strapped for cash at the moment too but would love the ability to see what I could do with it so when I have the cash I would know if I would be able to use. I really have a hard time spending $100 without being able to try something first.

    Something I was thinking about with cards is similar to the minion system in Rift. Kind of pull the card game into my game and winners get in game rewards. Just need a good card system and something players could play solo or go head to head (head to head offering better rewards of course)...

    If this sounds like something that might be possible with your system and you do end up making a demo version, I'd be game to give it a look - even if demo is DLL and watermarked. I'm just interested in testing the functionality during development and not looking to run the demo in a live game.

    Oh.. I was also going to ask about importing other card decks but it looks like from your post a couple posts above my response that this is possible to do in database.. Cool!
     
  29. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    They are stored in an internal database (a Unity asset file).
     
  30. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your feedback! Definitely something to consider.
     
    BackwoodsGaming likes this.
  31. joaopaul

    joaopaul

    Joined:
    Feb 1, 2016
    Posts:
    39
    Ok thanks for the answer but I'm still in doubt about one thing.

    You said that the demo game has creatures and spells... imagine that I want to had another type of card. How would that work? Do I need to define only how the card works or would I need to code the functionalities by hand.

    let's use two exemples:
    - A card which can be played on the opponent turn for as a response to his own card play.
    - A card which stays ingame for a certain amount of turns and is then destroyed

    how would one go to implement this features/card types?
    If I only have to extend a base card and use a simple API to define the rules of the card then this is a must buy for me. If however I need to basically change game logic to allow these and only after that I would need to code the cards then I will probably have some extra questions before buying.

    Also, another question, about the card design... how is it done? is it a prefab which I can modify?

    best regards:
    João Paul

    note: Only telling this from your demo video so it could actually already be implemented, but having the capability to drag and drop (which can be super easy with something like touchscript) adds a lot more fun to everything ^^
     
  32. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Drag and drop sounds cool! Please add that. That would fit perfectly for desktop and mobile.

    Also a option to change the background color/picture. Like to have different tables.
     
    DangerClose0369 likes this.
  33. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    If you wanted to create a new card type, you could do so via the visual editor to define its name and attributes. As for its gameplay behavior, currently you would need to program it yourself. The plan is to increasingly add more predefined gameplay behaviors in the editor to help reduce the amount of custom code needed. For example, version 0.2 adds a "Destroy after triggering effect" toggle to card types. This is useful for spell-like cards that enter the game, trigger a determined effect and are automatically destroyed afterwards. I plan to increase this library of predefined behaviors in the following updates: for example, being able to specify that a creature is automatically destroyed when its defense attribute reaches a value equal to or lower than 0. Or your example of a card that remains in the game for a certain number of turns. Feedback from the community on this is incredibly helpful to me in order to devise more abstractions that make the kit easier to use, so I really appreciate it.

    The demo game uses prefabs extensively and you are free to modify them as you see fit.

    Drag and drop sounds like a great feature to add! Thank you for your feedback and your excellent questions. :)
     
    DangerClose0369 likes this.
  34. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Noted, thank you! :)

    As for the background color/picture, do you mean the card background? You can already do this with the visual editor.
     
  35. juba08

    juba08

    Joined:
    Jul 8, 2013
    Posts:
    11
    it looks awesome hope it wont be like old ccg kit in asset store which is not updated anymore. i also liked public roadmap so people will have information what will happen in future. keep up good work :)
     
  36. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! :)
     
  37. eddyfosman

    eddyfosman

    Joined:
    Jan 18, 2016
    Posts:
    19
    I bought it for supporting you
     
  38. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you Eddy! I really appreciate it. :)
     
  39. eddyfosman

    eddyfosman

    Joined:
    Jan 18, 2016
    Posts:
    19
    I'm waiting for AI feature :D
     
  40. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    yes AI feature is needed!! :D
     
    DangerClose0369 likes this.
  41. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Definitely, it is on the roadmap! The focus for the next update is on the server side (player login and card packs purchase) and when this one is finished I will start work on a single-player-against-AI mode.
     
    DangerClose0369 likes this.
  42. joaopaul

    joaopaul

    Joined:
    Feb 1, 2016
    Posts:
    39
    I'm just waiting for payday to buy this asset ;)

    A few sugestions I came up with and which I'm not sure if they are possible to do at this moment so if they are, just ignore them ;)

    - Different animations for card placement (Think legendary rarity cards from heartstone) or some hooks we can use to link our custom animations (probably easier and more generic)

    - Cards that react to certain other cards (this can be reacting to a certain stat or maybe a specific card)

    - Randomization of values. Sometimes you may want to ahve a card that, for example, makes you buy a number between 1 and 3 extra cards.

    - Different goals than reducing the enemy player life to zero. I once played a game where the damage was done to the deck (dealing 3 damage would remove 3 cards) and the objective was to completely mill the enemy deck.

    - Also, continuing the idea of the previous sugestion, "on discard from deck" effects are also incredibly fun and allow for amazing combos with "discard" cards.

    - Ability to shuffle copies of a card into the deck. Doesn't need to be a card that you already have. Imagine lorewise a hunter shuffling his pets in the deck when summoned.

    - Possibility of 2vs2 and other matchups maybe... I can easily see a game of 1vs3 being incredibly fun with the adequate handicaps...


    That's all for now... if you can, please tell em what you think. I'm pretty sure some of those (specially the last one) would require an amazing amount of effort so I'm not expecting it to be done just because I asked but sugestions are only that... sugestions ;)
     
    DangerClose0369 likes this.
  43. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you again for your excellent feedback! All of these features are definitely doable and some are even planned already.

    Please note that, while the demo game is 1vs1 because this is the most common type of CCG, the core library is prepared to handle a customizable number of players in an all-versus-all fashion. Support for 2vs2 and other team variations could be certainly interesting to implement in the future.
     
  44. Kobaltic1

    Kobaltic1

    Joined:
    Jan 22, 2015
    Posts:
    183
    Is there a way to play the demo in editor? Since there needs to be 2 players I have to keep running a standalone to test anything.
     
  45. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    That is the way I usually test the networking myself during development: by first selecting 'Build & Run' to launch a standalone build for the first client and then playing in the editor for the second client. As far as I can tell, this is the most convenient way to do it; you can see the workflow in practice in this Unity presentation.

    Implementing a single-player mode is on the roadmap and will also help with non-networked development/testing.
     
  46. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Any timeframe for the singleplayer mode update?
     
  47. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I plan to release version 0.3 next week and start work on the single-player mode for the update after it, 0.4.
     
  48. Kobaltic1

    Kobaltic1

    Joined:
    Jan 22, 2015
    Posts:
    183
    Thank you. Looking forward to 0.3.
     
  49. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! Definitely looking forward to releasing it too. :)
     
  50. Kobaltic1

    Kobaltic1

    Joined:
    Jan 22, 2015
    Posts:
    183
    Is there a way to have multiple effects on a single card? Example: Drain, Takes 2 life from target and adds 2 life to player.
     
Thread Status:
Not open for further replies.