FluidCards - Card Motion and Management System

I’m very close to releasing my first product on the Unity Asset Store and I’d love to have some feedback and guidance from you all. I’m going to ask a couple questions, then lay out the product and its intended use (quick start example). I know there’s a lot here, but I really appreciate your time and feedback. Thanks!

QUESTION 1 - For a small scripting API with a great big sample project provided, how much documentation would a customer expect? I was planning on releasing some additional examples, a quick start guide/video, and a documentation site. Is that overkill or just right?

QUESTION 2 - Given the above, would you expect all documentation (which will take me a couple weeks to produce) to be available immediately upon purchase or would you be understanding of a small developer wanting to get a product out ASAP and using a couple weeks after to polish the support side? Customers can email me at any time, of course.

OK, on to the PRODUCT itself - Please let me know if my description is lacking in telling you what you’d want to know about a scripting asset! (or if the name “FluidCards” makes you want to barf)

2848739--208069--Logo_128.png A Card Motion and Management System

ASSET STORE DESCRIPTION:

  • Fluid, beautiful card motions/animations - Robust and consistent, with customizable timing. Grab cards mid-animation. Drop and pick them up again. All transitions are smooth and seamless. Developed in Unity UI. Multi-touch supported.

  • Great for any card game - Turn-based, slow-paced, fast-paced; Classic (poker, solitaire) or complex (CCG, LCG, board games).

  • Great performance - Crisp, responsive animations and user interactions. Timing controlled by Unity’s Time.deltaTime and Time.timeScale.

  • Easy to Use! - Follows Unity UI conventions. Add behavior components to your GameObjects and tweak from there. Great customer support!

  • Purchase Includes - FluidCards.DLL with core card motion and management logic; Source code for the FluidCards Demo as seen in the promotional video; Documentation, examples, and email support (SOON) at https://onechanceproductions.com/FL.

  • COMING SOON - “tweak” default animations with your own custom/“guest” transformations.

MEDIA:

Watch the video:


ADDITIONAL DETAILS (to be provided at onechanceproductions.com/FL and Community Showcases - Unity Discussions)

  • Verified to work with Unity UI Canvas in both “Screen Space - Overlay” and “Screen Space - Camera” Render Modes

  • Works with any Unity UI card assets/prefabs, including those excellent ones available in the Unity Asset Store.

  • Does not force you to do things just one way. Layout your own card space and just tell FluidCards where everything should go.

  • Use the provided card deck logic/management scripts or replace with your own.

  • FluidCards supports typical card management use cases, including: draw cards, play from hand, deck peek-shuffle-and-putback, discard random from hand, remove X type from deck, remove cards from discard pile, etc.

  • Is NOT THREADSAFE - Please send me an email if this is an important feature for you! It does use and work great with coroutines, which for most developers are safer and more predictable than threads in Unity.

QUICK START
A hasty quick start guide just to show how it could be used. Does not make use of any of the included deck logic/management code. Animations/Motions only.

Prerequisites:

  • The developer (customer) has created their own card types, art, and prefabs
  • The developer has created their own deck setup/building strategy

Use the Inspector:

  • Add DraggableCard (required) and SelectableCard (if necessary) components to each prefab GameObject. Tweak as desired.
  • Create a Panel to serve as a “drop target”/play area for cards played from the hand. Add a DropTarget component to it.
  • Create a Panel to contain the hand of cards. Add a FluidCardView component to it. Tweak as desired.

Scripting:

  • Call FluidCardView.SetHand with the initial hand of DraggableCard. This will move the prefabs you set up into the FluidCardView rect, fitted into the rect according to the defined aspect ratio.
  • Listen for DropTarget.CardDropped to handle “played” cards.
  • Setup a button to call FluidCardView.CardsDrawn to animate cards being drawn from your initialized prefabs into the hand. Animation start position is configurable and in the demo its offscreen.
  • Setup a button to call FluidCardView.CardsDiscarded to animate cards being discarded from the hand. Animation stop position is configurable and in the demo its offscreen.

Play It:

  • Drag one or more cards from the hand with touch or mouse button.

  • Drop on the “drop target”/play area to play them.

  • Release the mouse button anywhere else and watch the card zip back into the hand

  • Click your “draw cards” and “discard” buttons to watch cards zip into the hand and out again.

I just realized I didn’t mention price at all. See if you think this is fair: A “basic” version for $10 to get people the card dragging and hand layout animations and then a “full” version for $40 which adds the demo/sample project, deck management scripts/integration, and (once released) “guest”/custom animations. The full version includes everything a developer would need to create a card game.

Thanks!

I purchased FluidCards Pro today, and my first goal is to build a basic Klondike solitaire game. Your examples and your docs look pretty good. A few tasks elude me though.

  • my card prefabs are purchased and include a front and a back. I don’t detect that with yours. Will they still work?
  • can I flip a card? (pretty important for most card games)
  • your demo has a separate card view and drop target. How would I drag to the last card in a stack that accumulates alternating colored cards? (I get that my model can control the alternating)
  • can I manage a stack of cards that collects cards vertically (ie. without staggering)?
    Note - Your example is very basic and doesn’t really show most situations that most table card games get into, unless I’m just not thinking in the terms of the design. Please correct me.

Thanks,

Vince

Hi Vince,

I’m sorry I didn’t see this until now. I didn’t expect any replies in this thread. I will be making a “released” post soon, so it will be easier for you guys to find help (besides email) in the future.

To answer your questions:

- my card prefabs are purchased and include a front and a back. I don’t detect that with yours. Will they still work?
Yes, FluidCards does not limit the prefabs that you use, as long as they work with Unity UI.

- can I flip a card? (pretty important for most card games)
As FluidCards was originally created for dragging and playing cards, version 1.0 does not directly support this use case. It also does not prevent it, though, so you could add your own MonoBehavior to support that and FluidCards should not interfere. If it does interfere, let me know and I’ll fix it.

- your demo has a separate card view and drop target. How would I drag to the last card in a stack that accumulates alternating colored cards? (I get that my model can control the alternating)
Unfortunately, FluidCards 1.0 does not let you control how cards are returned to the hand. That behavior will make it into the next release, which is scheduled for the end of February. Are you using PRO? If so, you have the source code and, if you’d like, I could give you some ideas on how to make that change.

- can I manage a stack of cards that collects cards vertically (ie. without staggering)?
To pull a card from the top of the stack using FluidCards you would place a single DraggableCard over your graphic representing the vertical stack. You would inject an animation that flips over the card when dragged from the top. You would inject another animation to show the next card on the stack after the first card is successfully dropped. If that doesn’t make sense, let me know and I can send you an example.

I sincerely hope this helps. I appreciate the questions and feedback. Let me know how you’ve been doing with FluidCards since 1/27!

Thanks,
Steve

Please work on cloning hearthstone, when you have the time.

You don’t have to do all the fancy particle effects… but having the “zoom in” feature when you inspect (and/or) play a card, the card flipping animation, the card shifting to the front when you hover over it, and the ability to move tween card to some area on the board…

All of that stuff is like the gold standard for card games I think.

1 Like

crinttae,

Thanks for the feedback. Sounds like more prepackaged animations and trigger points are needed. Will do!