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.

  1. Gunhi

    Gunhi

    Joined:
    Apr 18, 2012
    Posts:
    294
    Hey, how is the kit going? please update some good news! ^_^
     
  2. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you for asking, Gunhi! :)

    I am hard at work on it and currently focused on three fronts:

    - Creating a new website with extended documentation.
    - Implementing the features planned for 0.6.
    - Researching some ideas for the future regarding improved support for dedicated servers.

    I have also upgraded the kit to be compatible with Unity 5.4, as there were some changes in the networking APIs. I plan to submit the update this month but cannot be much more specific than that yet (also, this depends on Unity 5.4 getting out of beta).
     
  3. Alert

    Alert

    Joined:
    Oct 9, 2013
    Posts:
    1
    Hello! Looks like you are creating an awesome thing here, but before I buy it I have couple questions:
    1. Is it possible already to have 4-6 players in the game?
    2. Is it possible (or how much efforts required) to create Manchkin-like game using this asset for a person having some C# skills? Functionality I would like to have is - Decks of 'Doors' and 'Monsters' (for example) for players to take a card from.
    Thank you and all the best!
     
  4. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you for your interest and your kind words! :)

    Answering your questions:

    1. While the included demo game is 2-player, the core library does not make any assumption on the number of players and the exact number is configurable (in an all-vs-all fashion).

    2. It is definitely possible to implement new mechanics if you have a knowledge of programming. Also, every update extends and improves the functionality provided by the integrated visual editor based on user feedback in order to help reduce the need for additional, custom programming.
     
  5. peca92sk

    peca92sk

    Joined:
    Feb 24, 2016
    Posts:
    29
    Hello everybody !!!
    First I have to say to the community that the kit is really great, but you have to give it time. You need to explore it and learn how all the mechanics are working. Also I think that we should talk more here about our ideas and problems we are facing, because it is possible that someone found a solution for it. If anyone is making a game already and need any feedback or testing help, we could help I assume.
    Now for the developer ( wont talk about the kit you now my opinion just ideas this time),
    I know you have a lot of work about 0.6 but i came to some new ideas :
    1. Create token should be modified so you can create "any card" for "any player ( current player,all players, opponent ....) " and in "any position ( deck, hand, board) "
    2. Spells (effects) that you already have in game, "silence a creature,put creature to sleep(like its just played),return creature to owners hand, reshuffle deck"
    Enjoying the kit so much and cant wait for 0.6 with new features and new documentation that will give us even more freedom. Cheers :D
     
  6. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you for your suggestions and your kind words! :)

    I have added your ideas to the public roadmap. I always welcome users of CCG Kit sharing their work, tips and questions because part of the reason for creating the kit was precisely to gather together developers interested in the creation of CCGs.
     
    Last edited: Jun 15, 2016
  7. lejean

    lejean

    Joined:
    Jul 4, 2013
    Posts:
    364
    Hey, great kit but I'm trying to change the manasystem and I can't really find the code that sais you get 1 mana on game start. Could you guide me towards the correct script maybe?

    Also a couple of bugs:
    - Pushing add on a card in the deck scene when you already have the max amount of that card pushes it beyond the limit
    - Using 2 spells after each other without resolving the first bugs it, you need to resolve a spell card first before being able to add another one.
    - I can't seem to assign a definition to a card in the visual editor
     
  8. gamevanilla

    gamevanilla

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

    The mana in the demo game is a player attribute defined visually through the integrated editor (you can find it in the 'Player definition' tab after loading the demo's game configuration). The logic for incrementing the mana each turn is located in the DemoServer class (you can find it in Demo/Scripts/Networking).

    Very true! I will fix these issues.

    Card definitions are assigned automatically to cards when creating them. For example, taking the demo's game configuration as an example, you have spells and creatures as the available card definitions (types):



    When creating a new card, you first choose the type of card you want to create:

     
    Last edited: Jun 23, 2016
  9. sebastiansgames

    sebastiansgames

    Joined:
    Mar 25, 2014
    Posts:
    114
    This asset looks tremendous! I love the timely updates and the roadmap.

    A couple questions before pulling the trigger on a purchase -- does CCG support matchmaking with friends? And what about things like Facebook login integration?

    Thanks very much!
     
  10. gamevanilla

    gamevanilla

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

    The kit uses UNET for its networking functionality, including matchmaking, which currently does not have a friends system. One of my areas of research is improving the support for dedicated servers, which implies bypassing UNET's matchmaking and implementing my own. In that scenario, it should be possible to implement a friends system on top of it. This is in the research phase and as such more for the long-term, but having a friends feature is definitely an excellent idea. Thank you for your feedback!
     
    Last edited: Jun 24, 2016
  11. lejean

    lejean

    Joined:
    Jul 4, 2013
    Posts:
    364
    K I mostly figured out how to change the mana system and adding new cards, but there's a couple of bugs with the visual editor.

    - Changing a name for an attribute crashes the editor if there's a card or definition that was already made with that attribute.
    - Adding more attributes to a already made card definition, like creature, doesn't update the already made creature cards.
    I'm looking into rewriting the entire card collection json file when saving the game config, but I'm not expert with json.
     
  12. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you again! I will fix these issues.
     
  13. sebastiansgames

    sebastiansgames

    Joined:
    Mar 25, 2014
    Posts:
    114
    Hi there! I bought your plugin -- looks very cool. I had some super basic networking questions. I hope you'll forgive the noob questions. In the docs you emphasize the server-authoritative nature of CCG. But isn't UNet peer to peer? Will it still prevent cheating if the server is hosted on a player's machine? What happens if the player who is hosting the game gets disconnected? In the docs you also mention being able to run CCG on a dedicated server. Is there more documentation on that? I apologize again for the novice questions. Any insights you can provide will help me at least start to try to understand the best approach for moving forward.
     
  14. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you for your purchase, Sebastian! :)

    Answering your questions (which, do not worry, make perfect sense):

    - I completely agree with you in that focusing so much on the kit being server-authoritative in its architecture and then defaulting on Unity's player-hosted games for the demo may seem a bit counter-intuitive. It is mostly a matter of setup convenience for the user; my initial plan was to wait for Unity's official server library, which was expected to be released with 5.4, to provide additional support for setting up your own dedicated server. But as this feature was delayed and has no definite ETA now, one of my current areas of research is doing precisely that by other means. Having said that, the code definitely works in a dedicated server scenario (as there is a complete separation between client and server code). I am currently working on a new website with extended documentation for the kit and will include more detailed information on this very point. It is not trivial if you have no networking experience, because among other things it requires implementing your own matchmaking. The focus for the update after 0.6 will be precisely this: to provide everything you may need to setup your own dedicated server (code-wise, and obviously not including the hosting itself).

    - Player-hosted games are unsafe by definition; the player hosting the game could certainly make use of a hacked client. Also, if the player hosting the game is disconnected, the game will end.
     
  15. sebastiansgames

    sebastiansgames

    Joined:
    Mar 25, 2014
    Posts:
    114
    Thanks very much for your reply! That's definitely helpful. A quick follow up question -- so is the only way to ensure total game security to not only host the game on remote server, but also the player as well? By player I mean their card sets and stats etc. Currently I'm assuming with CCG the decks themselves must live locally correct? I think it's an awesome framework, but again just trying to get a grasp of the basics here. For a robust commercial CCG product would integrating with some sort of BaaS be the gold standard?
     
  16. lejean

    lejean

    Joined:
    Jul 4, 2013
    Posts:
    364
    everything needs to happen through the server except for player input
     
  17. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    The decks don't "live locally" on the client; just a view-only representation of the decks is passed to it. The server still needs to be the official source of where player cards and decks are manipulated and stored.

    Think of the player client as sort of a realtime (or near realtime) window into all that information, and the player has to ask the server to switch out cards, open packs, etc. The server then validates whether such actions are allowed and, if so, makes those updates and communicates the resulting changes back to the client.
     
  18. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Exactly, a robust solution implies having the server be authoritative for both code and data. As lejean and chiapet1021 perfectly explain, clients basically send their input to the server (which is also validated) and update their local state based on what is sent by the server. They may also run their own logic locally to reduce the perceived lag, but that does not change the fact that the server is always the one ultimately in control.

    Please note CCG Kit also includes a Node.js server for the persistent data (the player's authentication data, collection of cards, ranking, etc.). The goal is to provide a good foundation for both hobbyist and commercial CCGs.
     
  19. sebastiansgames

    sebastiansgames

    Joined:
    Mar 25, 2014
    Posts:
    114
    Okay thank you. I appreciate the replies.
     
  20. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    I am very happy to announce that CCG Kit is now on the 24 hour sale!

     
  21. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    722
    Hi @Spelltwine-Games, bought CCG Kit while it is in sale, was eyeballing it for a while now. Was wondering though when version 0.6 would be ready as I'm currently working with 5.4 beta (yeah, I know, still beta but had to upgrade because of another asset ony release some functionality in 5.4).
     
  22. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you for your purchase, cygnusprojects! :)

    I am still working on version 0.6 and hope to submit it as soon as Unity 5.4 is officially released. If I manage to finish work on the update before 5.4 leaves beta, I will update this thread so that interested users can reach me privately and get the update earlier.
     
    cygnusprojects likes this.
  23. lejean

    lejean

    Joined:
    Jul 4, 2013
    Posts:
    364
    Hey, I have another question.

    How hard would it be to implement counter actions from your opponent during your own turn with the kit?
     
  24. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    The challenge with implementing the ability for a player to interact during their opponent's turn is not so much on the technical side but more on coming up with the right level of abstraction that makes the feature useful on a variety of scenarios (meaning different games with different mechanics). There is work planned in the roadmap for extending the support for specifying the turn sequence in the visual editor, which would be the basis for further functionality on this area. Games usually solve this by having a priority system (e.g., Magic the Gathering) that dictates the points during a turn in which a player can perform a certain action. In that sense, just as the kit currently provides alternating turns, one could think of extending this idea to alternating phases within a turn where the active player is switched at the appropriate times. If you have a well-defined turn+priority system in your game design, you should be able to extend the functionality provided by the Server class (which is the one managing the turn sequence) in order to support it.
     
  25. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
  26. eddyfosman

    eddyfosman

    Joined:
    Jan 18, 2016
    Posts:
    19
    Who deleted my question about How to insert a quiz before playing a card :(
     
  27. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    I do not think anyone did; maybe you wrote it in the new forums and it was lost during the rollback to the old ones? I did not receive any notification though.

    You can ask the question again and I will be happy to answer. :)
     
  28. SagnaCreations

    SagnaCreations

    Joined:
    Jul 16, 2016
    Posts:
    1
    Hi There, i have a noob questions how would i make a card start on the field ? And also, maybe you could give some support with firebase being used for player logins and stuff.
     
  29. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    A good place to set the appropriate player's initial board state is the StartGame() function in the Server class.

    It could be interesting to implement support for alternative authorization backends in the future, but as one is already provided I am currently focused on improving and extending the core functionality of the kit.
     
    Last edited: Jul 16, 2016
  30. eddyfosman

    eddyfosman

    Joined:
    Jan 18, 2016
    Posts:
    19
    At the moment, we just need to add a new small feature to the AI demo:
    The gamer need to answer a quiz play a card successfully. A quiz would be created by Playmaker.
    Could you give me a hint how to implement this idea?
     
  31. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    As you only want this feature in the single-player mode, things are simpler because there is no need to perform any kind of server-side validation of the quiz. A good place to add the code for the quiz is the PlayCard() function in the DemoHumanPlayer class, which performs client-side validation of the conditions needed to play a certain card in the game.
     
  32. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Hello! I have just finished work on the latest update of CCG Kit (version 0.6), which includes the following features:

    - Upgraded project to Unity 5.4.
    - Implemented support for effects in card definitions. This makes it more convenient to create effects that should be applied to all cards of a given type (e.g., kill conditions).
    - Implemented support for specifying conditions in effect triggers.
    - Implemented support for random values in effects (e.g., "deal a random value between 3 and 5 of damage to target player").
    - Implemented support for random target players and cards in effects.
    - Implemented a game zone editor. This is the initial work on this area and future updates will expand on it (e.g., by adding support for effects that target specific game zones).
    - Implemented a 'Play now' option in the demo game.
    - Renamed 'offline' mode to 'guest' mode in the demo game.
    - Added a setCurrency function to the persistent data server.
    - Fixed several bugs in the visual editor that prevented changes in card definitions to be applied to the specific cards.
    - Fixed bug in the demo game's deck editor scene that made it possible to put more copies of a given card in a deck than the maximum allowed number.

    I am currently testing everything and updating the documentation. I cannot submit this update until Unity 5.4 is officially released, but if you are interested in having it before then just reach me to the support email with your invoice number. :)
     
  33. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    And Unity 5.4 is officially here! I have just submitted version 0.6 of the kit. :)
     
  34. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    The latest update to CCG Kit (version 0.6) is now available on the Asset Store! It contains the following features:

    - Upgraded project to Unity 5.4.
    - Implemented support for effects in card definitions. This makes it more convenient to create effects that should be applied to all cards of a given type (e.g., kill conditions).
    - Implemented support for specifying conditions in effect triggers.
    - Implemented support for random values in effects (e.g., "deal a random value between 3 and 5 of damage to target player").
    - Implemented support for random target players and cards in effects.
    - Implemented a game zone editor. This is the initial work on this area and future updates will expand on it (e.g., by adding support for effects that target specific game zones).
    - Implemented a 'Play now' option in the demo game.
    - Renamed 'offline' mode to 'guest' mode in the demo game.
    - Added a setCurrency function to the persistent data server.
    - Fixed several bugs in the visual editor that prevented changes in card definitions to be applied to the specific cards.
    - Fixed bug in the demo game's deck editor scene that made it possible to put more copies of a given card in a deck than the maximum allowed number.
     
  35. xKaliban

    xKaliban

    Joined:
    Aug 2, 2015
    Posts:
    5
    New errors upon updating to 0.6:

    "Assets/CCGKit/Core/Scripts/Editor/CCGKitEditor.cs(116,25): error CS0103: The name 'InitEffectEditor' does not exist in the current context"
    "Assets/CCGKit/Core/Scripts/Editor/CCGKitEditor.cs(117,21): error CS0103: The name 'DrawEffectEditor' does not exist in the current context"

    Both of these cause the editor to be inaccessible.
     
  36. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Did you update the kit cleanly? It looks like you are just missing an editor script, so I would suggest deleting your current version and importing again. I always test importing the asset into a project works and in fact it does for me and other users. Let me know!
     
  37. Mr-Nixon

    Mr-Nixon

    Joined:
    Mar 30, 2013
    Posts:
    140
    Hi David,

    I noticed v 0.6 was released.

    Occasionally click on trashbin icon on my Downloads page in Unity.
    It caused disappearance of the asset on that list.
    Resided to redownload it from the Asset Store page, but there's no Download button (neither BUY button, btw).

    Could you help me? How can I redownload it and add it to my Download list again?
     
  38. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    That is unfortunate! Are you logged in with the same user with which you made the purchase? You should contact Unity about this problem, as it is outside my control.

    In the meantime, you can reach me via the support email with your invoice number and I will send the kit directly to you.
     
  39. Mr-Nixon

    Mr-Nixon

    Joined:
    Mar 30, 2013
    Posts:
    140
    Thanks, David, for the rapid answer and for the splendid asset.
    Just done as you advised.
     
  40. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you! :)
     
  41. peca92sk

    peca92sk

    Joined:
    Feb 24, 2016
    Posts:
    29
    What is wrong with trello ??? I cant open it :/
     
  42. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Maybe it was down when you checked? It works just fine on my side.
     
  43. peca92sk

    peca92sk

    Joined:
    Feb 24, 2016
    Posts:
    29
    Ok, its fine now :D
     
  44. peca92sk

    peca92sk

    Joined:
    Feb 24, 2016
    Posts:
    29
    Btw is there a new documentation, I see that there is a new website but its seems to me there are no changes in documentation ? Sorry for being annoying but just came home from a vacation and trying to keep up with 0.6 :D
     
  45. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Maybe your browser is loading an old, cached version of the documentation website? There is indeed a new version since the 0.6 release with updated and extended content (with more to come!).
     
  46. GrzegorzPedrycz

    GrzegorzPedrycz

    Joined:
    Mar 8, 2015
    Posts:
    6
    There is a chance to get a "Playmaker" support to your awesome tool ? Would be great to give a chance for non koder people to work on that excellent tool. let me know
     
  47. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Thank you for your kind words! This is definitely something I would like to research at some point.
     
  48. GrzegorzPedrycz

    GrzegorzPedrycz

    Joined:
    Mar 8, 2015
    Posts:
    6
    That will give a lot of people to you customer base ;) Playmaker is on of the most popular adonn on the market so you should seriously consider that. A lot of plugins support PM already ( like the most powerful rpg game system here "ork framwerok " . IS There a chance to get that function in upcoming weeks/months ? I start developing my own card game with playmaker already so I wish to know if i should wait or better no ;))
     
  49. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    956
    Noted! My focus is on extending the core functionality of the kit first though, so it is not coming soon.
     
  50. peca92sk

    peca92sk

    Joined:
    Feb 24, 2016
    Posts:
    29
    I talked with some members of this forum and users of this kit, and everybody said that integration with PM will be done. Working on that add-on will probably start as the ccg kit reaches first stable version 1.0 .
     
unityunity