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
    CCG Kit uses Unity Services by default for its multiplayer functionality, which you can use for free during development (up to a certain number of concurrent users that depends on your Unity tier). There is also a single player mode included in the demo game.

    When using the kit together with Master Server Kit, there are zero changes to the game's code. The majority of the changes required are in the lobby screen (because the matchmaking system provided by Master Server Kit is used instead of the one from Unity). So it should be a pretty smooth transition, even if doing it at a later point.

    Implementing colored mana can be done today. You can define the available mana types as player attributes and also create different land cards that increase the value of those attributes as appropriate; all this from the visual editor. You will need some additional programming for handling the actual payment of the card's cost, but it should be pretty doable taking the code of the demo game's existing system as a reference. Related to this, having more options for defining the cost of cards (to allow for an easier implementation of colored mana or paying for cards with resources other than mana) is something I plan to do in the future.

    One thing I have learned while developing CCG Kit is that there are infinite possibilities when it comes to different game mechanics and it is simply impossible to cover them all extensively. The goal is to provide fundamental mechanisms that can be easily used, combined and extended by the users to develop new features specific to their games. There is certainly a fine line to be had between having a simple, understandable and flexible core and providing a big number of features out of the box.

    Definitely something to think about!

    Thank you again for your feedback! :)
     
  2. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    And I thank you for your quick and excellent answers.

    OK that kit is required ASAP to switch from theory to practice.
     
    gamevanilla likes this.
  3. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    You are welcome, Fhizban!
     
  4. cdds

    cdds

    Joined:
    Mar 31, 2017
    Posts:
    2
    hi man:
    i`m thinking if your kit can create a card game like yugioh or cardfight vanguard? your kit seems based on MTG? of course, i love yr kit very much, and if it can create what i want to play. i`ll buy without hesitate :D
     
  5. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    @Spelltwine-Games :

    Sorry to bother you again, can you clarify the following points to us please? Could you add that to your docs as well?

    1. Server Hosting
    What are the requirements to host your Master Server? Is it a EXE created with unity or is it a bunch of PHP scripts? Does it work with a MySQL DB as well? Do I need Shell Access? (Most hosting enviroments require me to rent a whole root server in order to upload and start a custom coded EXE file). Why not add these points to the docs, would be great!

    EDIT: Sorry, I should read before posting. So it's a Unity Instance and you also say somewhere that it is proven to run on DigitalOcean's cloud servers (as an example). That answers this question (for now).

    2. Card Dimensions/Textures
    What are the dimensions of the default cards? Are you using multiply textures? Are all numbers, text and icons printed on top of the template or do we have to put them on the template using our graphics program of choice. Again, adding this to the docs would be nice.

    @cdds: As far as I have understood the concept, you can create any CCG from this kit. But you must be skilled in writing C code in order to do that. Out of the box it is very HS/MTG like. Anything else must be custom coded.
     
    Last edited: Mar 31, 2017
  6. cdds

    cdds

    Joined:
    Mar 31, 2017
    Posts:
    2
    thanks guy~
     
  7. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The core of the kit is intended to be generally useful for a wide variety of CCGs, but the accompanying demo game plays similarly to Hearthstone. You can always customize and extend it as appropriate with your specific rules and mechanics, but please note you will need to have a knowledge of C# programming.
     
  8. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    That is right; the servers in Master Server Kit are independent Unity binaries that are intended to be run in headless mode on a dedicated server (or several dedicated servers, depending on your use case) with a public IP address. I will make this clearer in the documentation.

    The core of the kit is completely independent from the visual representation of your game; you can use 2D, 3D or a hybrid approach just fine. The accompanying demo game is using Unity's UI system for rendering the cards, where the cards are images (the frame, the card picture and the icons) and the attributes are labels; both are dynamically updated depending on the card contents. I plan to extend the official documentation with the release of 0.9.
     
  9. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    SOLD...err...I mean...BOUGHT!

    Ok, this will take a while... :)
     
  10. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you! :)
     
  11. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    Got your server kit as well (which I do not need ATM) - just to show you my support.

    I think I can do almost everything I want to, right out of the box with this CCG Kit.

    The only things Im missing (besides the other stuff mentioned above) are a drag-n-drop interface for the cards, a targeting arrow like in HS and a layout like in in a similar Kit for UE4 (https://www.unrealengine.com/marketplace/ccg-toolkit). Especially the deck selection screen could look exactly like in HS, because that can be called a standard nowadays (example: ScreenshotsStore_CCGToolkit_screenshot_4-1920x1080-af45ed1c42c504ff0daee22e145f2aec.png).

    But that are all just luxury features - your code and your setup with the server, the optimizations to lower bandwith and the "dumb client" aproach are much better than in all other Kit's I have tried so far.
     
  12. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your purchases, your kind words and your feedback! :)
     
  13. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Hello! I am happy to announce CCG Kit is on the Madness Sale:

     
  14. MortalMan

    MortalMan

    Joined:
    Nov 6, 2012
    Posts:
    25
    Is the demo not supposed to have any sounds? Or is it bugged? Didn't seem to see any default sound files in the demo file either. Where are these sounds stored in the unity project? What folder?

    The FAQ seems to just barely touch upon sounds in game. Is there documentation on this that goes into a bit more detail?

    On smaller screens it could be hard to read the text or see the image on some of the cards, is there a feature already implemented that allows players to click on the card to bring it in focus so that the card is readable? This is a feature on pretty much every popular card game out right now
     
    Last edited: Apr 18, 2017
  15. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The demo game does not have any sounds (it is quite hard to find fitting sounds with a permissive license), but it includes a few utility classes to help in this area. I have added more information about them to the official documentation.

    The demo game shows a bigger view of the cards when right-clicking over them; you can look for usages of the OpenCardDetailWindow method to see how this is implemented.

    I hope this helps!
     
  16. MortalMan

    MortalMan

    Joined:
    Nov 6, 2012
    Posts:
    25
    You can get free sound files from the Unity asset store. There not "good" sound files, but they should suffice for the demo.

    Can we get some more card abilities?

    "http://www.ign.com/wikis/hearthstone-heroes-of-warcraft/Card_Abilities"

    We currently do not have all the abilities that hearthstone cards have.

    I believe were missing Taunt (Important),Deathrattle, Freeze, Poision, Silence,Stealth, Windfury, and Choose one. It would be nice if we could have all the abilities in hearthstone.

    The game "Eternal Card game" has a card ability called flying. It basically make the creature fly. Flying creatures can only be blocked by other flying creatures, but can block land creatures if the player chooses to do so.

    The ability to use creature cards to block other creature card attacks would be nice.

    Other users also suggested this, but it would be nice if we could have a land based mana system like magic the gathering or Eternal, instead of each player gets 1 extra mana per turn. The chances that you don't get the mana generating cards you want completely changes gameplay and make things more unpredictable.
     
  17. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Considering that adding your own sounds is trivial (the code is ready for it), I am not entirely convinced about adding bad sounds to the demo just for the sake of it. I will think more about what can be done about this.

    As I mentioned a couple of messages above, one thing I have learned while developing CCG Kit is that there are infinite possibilities when it comes to different game mechanics and it is simply impossible to cover them all extensively. For some users, having exactly the same abilities as in Hearthstone is essential; for others, not so much. The goal is to provide fundamental mechanisms that can be easily used, combined and extended by the users to develop new features specific to their games. There is certainly a fine line to be had between having a simple, understandable and flexible core and providing a big number of features out of the box.

    Having said that, adding more examples of common/popular abilities to the demo game is something I would like to do in the future.

    Implementing colored mana can be done today. You can define the available mana types as player attributes and also create different land cards that increase the value of those attributes as appropriate; all this from the visual editor. You will need some additional programming for handling the actual payment of the card's cost, but it should be pretty doable taking the code of the demo game's existing system as a reference. Related to this, having more options for defining the cost of cards (to allow for an easier implementation of colored mana or paying for cards with resources other than mana) is something I plan to do in the future.

    Thank you for your feedback! It is definitely appreciated. :)
     
  18. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    Hi,

    Interested in this kit while its on sale. However, I cannot purchase since I am using Unity 5.5 and this kit requires 5.5.2.

    Unfortunately, I cannot upgrade because all my other software is in sync with 5.5. Can you lower the requirements before the sale runs out?
     
  19. bloomsirenix

    bloomsirenix

    Joined:
    Jan 14, 2013
    Posts:
    8
    Assets/CCGKit/Demo/Scripts/Networking/DemoHumanPlayer.cs(516,51): error CS1061: Type `ChatDialog' does not contain a definition for `AddTextEntry' and no extension method `AddTextEntry' of type `ChatDialog' could be found. Are you missing an assembly reference?
    please help
     
  20. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your interest! Not sure how doable it is to go back to a lower version, but I will see what I can do.
     
  21. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Are you by any chance using the kit in combination with Master Server Kit? In that case, please note that you only need to import the Core folder as per the official documentation.
     
  22. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I just tested this and it turns out you can import the kit just fine even if using 5.5.0. Please note that the next update, which I am currently working on, will require 5.6 though.
     
  23. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    If your version on the asset store is higher than the user trying to purchase, then the user cannot buy it. A number of asset store publishers only update out of necessity. Because quite a few Unity users will stay with their current version out of fear of something breaking something in their project
     

    Attached Files:

  24. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    I definitely understand the value in providing a minimum supported version of the engine and plan to do that with the next update and 5.6. The main reason of being so active in having periodical upgrades of the engine version in the past has been to benefit from bug fixes and new features in UNET, which the kit uses extensively and has been in constant evolution since its initial release.

    Thank you for your feedback! :)
     
  25. bloomsirenix

    bloomsirenix

    Joined:
    Jan 14, 2013
    Posts:
    8
    tryed with and without both same errors even reinstalled my game anyway i removed chatting temporarly in mine until u fixed it please do so i wana use chat ;)
    also i whas planning on mixing them so thank you for the tip :)
    ps mind if i tell u the serverkit has only linux and windows binrarys? i am using mac(cause my pc died :mad: ) while making for android
     
    Last edited: Apr 27, 2017
  26. bloomsirenix

    bloomsirenix

    Joined:
    Jan 14, 2013
    Posts:
    8
    please make a more android compatable version i do got it working without modding code but its kinda glitchy and since my game gona be 4 android(warnning alot of cusring since i curse alot on my channel):

    ps it is not a problem i use the demo as a base right?
    didnt found a thing pherhibbing me but still asking dont wana make you mad i will make my own cards in it,edit alot of code and have edited assets(not shown in this vid)
    also i find the pricetag a bit to much please make it a bit lower so indie devs like me dont have to pay alot i dont ask for a refund/paying back of the money i just wana see what others can do with it to its worth my money tough :D
     
    Last edited: Apr 27, 2017
  27. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The kit compiles successfully if you import it on a new, empty project, so you must have a conflicting ChatDialog class or a similar problem. I would suggest re-importing the kit again on a new project and confirm that is indeed the case.

    You can compile Master Server Kit for Mac too.
     
  28. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    No worries, that is what the kit is for! You can definitely use it as a starting point for your own game. :)

    I would encourage you to create your own visuals, cards, mechanics, etc. though, because directly selling an existing game asset is generally frowned upon by players.

    The specific licensing details are available in the Asset Store EULA, which basically allows you to use the kit in any free/commercial game project but forbids reselling it or any of its contents (like the source code).
     
  29. bloomsirenix

    bloomsirenix

    Joined:
    Jan 14, 2013
    Posts:
    8
    good then i will have some the gui(exept page backgrounds) of the demo and the scripts the rest i add myself it will also be the frist moddable CCG :D i will give the user the posiblity to work on a limited CLRPackage() enabled NLua so thay can even hook into (some)game/unity3d functions:eek: and later on a card editor
    that wuld make it truely epic(if people upload there own assets) and maby even let go more viral then Valkarie Crusade :eek:
     
    Dziemian likes this.
  30. MortalMan

    MortalMan

    Joined:
    Nov 6, 2012
    Posts:
    25
    I'm looking to edit "effect types" but I don't see where these scripts are located. I want to change how some spells work through editing code, because the CCG kit editor window options just isn't given me the flexibility I need. Were are the scripts for these "spells" saved? I didn't see anything about editing spell scripts in the official documentation.
     
  31. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The effect types are located in the Effect class and the code that resolves the effects at runtime is located in the EffectResolver class. Which effects are you interested in that are not provided by default in the visual editor? Please note that some effects can only be expressed with code (e.g., taunt).

    Improving how the effect system works, making it easier to extend and customize and improving the official documentation on this area is something I am actively working on for the next update.
     
  32. MortalMan

    MortalMan

    Joined:
    Nov 6, 2012
    Posts:
    25
    Baby Steps,,, I was going to change any reference of "fury" to "Charge". I tried changing the name in the visual editor, but I was getting bugs in the unity editor, so I figured I would just do a find and replace on all the scripts and it would work.

    I do want to add a taunt effect, but that will be later.
     
  33. scranley

    scranley

    Joined:
    Dec 1, 2013
    Posts:
    9
    Hello,

    I am interested in making a minimalist interface that will be comfortable for players on small mobile screens, limit the enemy card layout to 3 cards, and have the player iconicize his 3 cards into known effects (preloaded). My question is whats the best way to limit the cards on the table to 3 cards?
     
  34. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    You can implement checks on the client side (see the PlayCard method of the Player class) and on the server side (see the OnPlayCard method of the PlayCardHandler class) to prevent playing more than 3 cards. The next update will allow you to specify the maximum number of cards that a game zone can have.
     
  35. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    hello i wanned to ask why cant i register i mean wen i build it i cant register it aways says connection error check your network ?
     
    Last edited: May 5, 2017
  36. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    o yea and even if i dont build it and its unity i cant chek out the futures like the shop and the edit deck :( help
     
  37. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The features you mention were part of the optional Node.js server that was removed from the kit several months ago; if you want a dedicated server setup with player registration/authentication functionality you can use the official integration with Master Server Kit. You can find more information about this here.
     
  38. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    so is there any way i can remove it manually because if i update it will remove alot of things and i dont really have that much time can i just remove from the script the registration things and who are they ?
     
  39. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The version you mention is very old and there have been many changes since then, so it is a bit hard to say. If you have any specific questions related to your project, please reach me at the support email with more detailed information (including your invoice number) and I will be happy to take a look.
     
  40. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    oki but can i ask is it possible to work with other master server assets ?
     
  41. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    The official integration that comes with CCG Kit is specifically for Master Server Kit. If using a different asset, you will want to check for its UNET support and also roll your own integration.
     
  42. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    so until i wait my friend to search in his accouts the code i have some questions so this node.js server i see there is a file with name server what is its meaning ? if its for node.js how do i do it i connect it ?
     

    Attached Files:

  43. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    For specific support questions, please reach me via the support email with your invoice number. Thank you! :)
     
  44. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    i did
     
  45. DrugSandwich

    DrugSandwich

    Joined:
    Dec 30, 2016
    Posts:
    13
    hello wen will i get a reply on my email ? :(
     
  46. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    You have not provided an invoice number even after being asked to several times. I answered your email, basically asking for it (again).
     
  47. FS_Artsy

    FS_Artsy

    Joined:
    Mar 28, 2017
    Posts:
    69
    Hi,
    just wanted to give David (Spelltwine-Games) a kudos for the CCG kit. I bought it a while ago and Im quite happy with it. After messing with it several weeks now, I also realized that we can easily tweak and adjust almost every aspect to our liking. That master server is even more interesting because it can be used for a whole variety of other games as well (still waiting for that portal feature to move player between servers :-D ).

    If you guys don't mind, I would also like to place a shameless plug here: Im selling stock art at another site, compromising high quality fantasy artworks. You can browse my portfolio here:

    http://www.rpgnow.com/browse/pub/7586/1manstudio

    Im writing this, because the artwork is PERFECTLY suited for a CCG using CCG kit as its base.

    Thanks a lot guys - and keep it up David!
     
    gamevanilla likes this.
  48. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    Thank you for your kind words, Fhizban! It means a lot to me. :)

    And very nice artwork!
     
  49. seanmoebeal

    seanmoebeal

    Joined:
    Aug 25, 2015
    Posts:
    38
    I've been working with this fantastic kit recently, and I commend you for the intricate and detailed work you've put into this.

    I've hit a snag though. My general question is, "How do I get the custom cards I created in the CardDefinitions tab of the CCG editor to appear in my DeckEditor scene within the library cards?"

    Details:
    I don't like editing demo files, so I've gone through and replaced most scripts with different ones of my own name so that I can continue to use the demo scripts as reference. Similarly, I didn't want to edit the Demo/Resources JSON files, so I 'SavedAs' my custom CCG setup to a new location in a separate folder from the CCG Editor.
    When I play the single player mode, my new game configurations take effect like number of cards to draw, etc, but I'm still left playing the Demo Default Deck. And when I go to the deck editor scene from the main menu, I only see the demo card collection cards available in the library with none of my custom cards in MY cardCollection.

    Could it be with loading the line in the GameConfiguration Script (Line 122):
    var cardCollectionJSON = Resources.Load<TextAsset>("card_collection");
    because I have multiple "card_collection" TextAssets in my project?

    I'm certainly missing something here and I appreciate all the hard work you've done so far, as well as how promptly and effectively I've seen you communicating to others with questions. Thank you.

    EDIT: I've discovered that by creating a new set of cards within the original JSON files (found in the Demo Resources folder), then I can go into the DemoDeckEditorScene script (Or rather, my own version of it) and replace line 133 which is:

    foreach (var card in GameManager.Instance.Config.CardCollection[0].Cards)

    with the correct card set number (this case '1') rather than '0' as shown above.
    This makes my custom card set now available in the deck library, but I still don't understand how to fully integrate a better method of new game JSON files and rules. Is there any documentation that could help guide me through this process? I feel like such a guide would also be important to help understand how to make a game which has a full card set known to the game, but the player only has access to certain "gathered" or "earned" or "unlocked" card sets...
     
    Last edited: May 24, 2017
  50. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    968
    First of all, thank you for your kind words! :)

    There are two sides to the storage of decks:

    - The default deck is the deck that is available to the players by default when they launch the game for the first time. It is also the deck used by the AI. The first time the game is launched, the DefaultDeck.txt file is parsed and cached into a PlayerPrefs variable. You can find the code that does this in the Start method of the MainMenuScene class.

    - The custom decks that the player defines in the deck editor scene are stored in Application.persistentDataPath (you can see the related code in the DeckEditorScene class). On Windows, the path looks something like this: C:\Users\David\AppData\LocalLow\Spelltwine Games\CCG Kit\Decks.

    Regarding the default deck, please note the location of the PlayerPrefs entries is different when you play from a standalone build and when you play from the editor. For example, on Windows:

    - Standalone builds: HKEY_CURRENT_USER/SOFTWARE/Spelltwine Games/CCG Kit
    - Unity editor: HKEY_CURRENT_USER/SOFTWARE/Unity/UnityEditor/Spelltwine Games/CCG Kit

    If you delete these entries and make sure your DefaultDeck.txt file contains only valid card ids, everything should work just fine and the default deck should be the one you created. You can also delete the entries programmatically via PlayerPrefs.DeleteAll instead of through regedit.

    I have learned that caching the default deck into the PlayerPrefs is very inconvenient when modifying the kit, as you have experienced, so I have removed this from the next update.

    Regarding your custom collection not being picked up, I believe you are right and you only want a single card_collection TextAsset in your project.

    I hope this helps! Please do not hesitate to let me know if you have any further questions and I will be happy to answer.
     
Thread Status:
Not open for further replies.