Skip to main content
27 votes
Accepted

How does UNO determine how often do +4,+2 & other special cards occur in a deck/game?

tl;dr: Math is useful, but it can not replace playtesting. Card economy. You don't want the game to take forever, so you need to make sure that over time players will have a net loss of cards. So you ...
Philipp's user avatar
  • 120k
16 votes

How does UNO determine how often do +4,+2 & other special cards occur in a deck/game?

In the case of UNO, I find it highly unlikely that there was any deep consideration of the underlying mathematics. Consider this image of the UNO deck of cards (taken from the Wikipedia page on UNO): ...
Jack Aidley's user avatar
  • 2,126
10 votes

How can I make a solitaire game that can be solved?

Backtracking. Start with a solved game. Then perform random valid moves in reverse until the game is in the initial state. This usually works with any puzzle game.
Philipp's user avatar
  • 120k
7 votes

Determing winning on the server side or client side?

Hello visitors of Jindsay's Card Game Forum. Here is your friend xXx_GameH4x0rPhilipp_xXx with another cheat for you. Do you want to win every game? Here is a simple hack which works with every web ...
Philipp's user avatar
  • 120k
5 votes

Determing winning on the server side or client side?

Doing basically anything on client-side apat from the inputs is a bad idea. And believe me, if the programmers could collect inputs on the server side, so the client couldn't fake them, then they ...
Bálint's user avatar
  • 14.9k
4 votes

Best strategy when player left the online multiplayer game

Intentionally and unintentionally leaving should be treated the same, as it's impossible to be sure which scenario happened in every case (e.g. a user plugging out their network cable versus the ...
Bernhard Barker's user avatar
4 votes

Best strategy when player left the online multiplayer game

It's just a matter of time until the players notice that they can avoid the rage-quit penalty by killing their web browser through the task manager. So you shouldn't try to differentiate between these ...
Philipp's user avatar
  • 120k
3 votes
Accepted

How to create card layout in a trading card game Libgdx

How does this look? (Green and red lines are only there for debugging) What I did to achieve this was to first separate the card into three columns and five rows; then I had the Cost, Life, Attack, ...
Charanor's user avatar
  • 7,870
3 votes
Accepted

Where and how to store players collection in a computer card game?

The relational-database-by-the-book solution would have a table players, a table cards_owned_by_players, a table ...
Philipp's user avatar
  • 120k
3 votes

How to create data driven effects/abilities for collectable card game

When you have complex logic in the mechanics of individual cards, then it might be best to express that logic with a scripting language. But if you really want to go for a completely domain-driven ...
Philipp's user avatar
  • 120k
3 votes

Name for groups of cards in a card game

When I did this a couple years ago, I called them all "piles", and a hand (fan) was just a special subcategory of pile that could hover off-table and have private visibility to one player.
DMGregory's user avatar
  • 135k
2 votes

How are Spot It cards generated?

Stand-Up Maths did a great video about this, explaining how you can create a "mono-match" set of cards as points in a finite projective plane. You can arrange your cards into a square grid ...
DMGregory's user avatar
  • 135k
2 votes

How to make card movement behave like those in Hearthstone and Eternal CCG?

You can use Unity's Physics. "Joints". Which allows you to move your object like attached to a rope or spring. Here is a video from Unity, about Physics Joint. Here is the docs from Unity. You ...
Thalthanas's user avatar
2 votes

How should I approach AI for Spades game?

The current state of the art AI for trick-taking games such as Spades is a search algorithm like MCTS/UCT combined with Supervised Learning [1]. My implementation of a Spade agent uses several ...
Cohensius's user avatar
  • 124
2 votes

Overuse of Canvas in Unity3D

Canvas is rendered in the "RenderOverlay" call in he render pipeline. If we are talking about screen overlay the canvas is simply rendered in 2D space over anything previously rendered, which always ...
Sidar's user avatar
  • 3,577
2 votes

Modify the effect of a card being played

Delegates can be used to achieve what you're doing but the code here will most likely not 'just work' with what you already have. In addition, I've had to make several assumptions about how things ...
Joe's user avatar
  • 425
2 votes

Modify the effect of a card being played

As the comments have indicated, delegates may be your saviour, but let me add a little context and maybe a few extra pointers. delegates are nice because you can form a subscriber system whereby the ...
Jody Sowald's user avatar
2 votes

Adding JavaFX GUI to an MVC based terminal card game

if you want to implement a minimal M-VC you have to structure your application kind a like this: (This is only an example Diagramm) Model The Game is your Model. It stores information about who's ...
Martin Frank's user avatar
2 votes
Accepted

Idiomatic Way to Create Card Instances in Unity

Yes, this is a perfectly viable approach. But another approach you could consider is to represent card types not as ScriptableObjects but as prefabs. The advantage is that prefab instances can be ...
Philipp's user avatar
  • 120k
2 votes
Accepted

Name for groups of cards in a card game

In Magic the Gathering, the different places that cards or other objects can exist in are called zones. Your hand is a zone, your deck is a zone, your discard pile is a zone, etc. Zones have different ...
Nuclear Hoagie's user avatar
2 votes
Accepted

Fanning cards in 2D leads to cards continuing to move forever

How do cards stop You are using two curves to achieve that: spread_curve and height_curve. Now, the ...
Theraot's user avatar
  • 27.2k
1 vote
Accepted

Algorithm to solve a battle in a card game

Update 2: Your second update was very helpful/informative. You have shown that this is a very large search space (roughly 2^38.) This is probably too big, but let's look at possible solutions from ...
blurry's user avatar
  • 819
1 vote

Poker AI's designed for casual play

Strategically, poker is a very complex game, but there's also a very limited set of actions a player can take. Count 'em: fold, call, check, raise X. So really there's countless ways you can implement ...
congusbongus's user avatar
  • 14.8k
1 vote

How to sort poker hands? c++

You need to determine the class of your hand first. I.e. if the hand is "two pair", "full house" etc. The answer you linked is only meant to compare hands with identical class. It does this by ...
congusbongus's user avatar
  • 14.8k
1 vote
Accepted

How to use CC photos from Wikimedia properly?

Commercial Use: It depends. Some of the permit commercial use, some do not. Generally speaking, if the license type has NC in it, the answer is no. Even if it does ...
Pikalek's user avatar
  • 12.4k
1 vote
Accepted

How to make card movement behave like those in Hearthstone and Eternal CCG?

I've got the perfect solution, see the scripts at the end of the post. These scripts are those actually used in Hearthstone client. You need to attach a DragRotator script to the object you want to ...
Lapouet's user avatar
  • 26
1 vote

How to share some elements of array with different players on Photon in the same Room? Unity3d

Make a CmdPullCard command for the host, send the command from the player, check if the card has been already pulled before, if not send the card string to the player. (If you're unsure on how to do ...
John Hamilton's user avatar
1 vote

How to create data driven effects/abilities for collectable card game

I will expand on this in a bit when I have more time but essentially, as you say, are going for a data driven design approach for your game. This means you are defining your cards in XML or JSON ...
lozzajp's user avatar
  • 780
1 vote
Accepted

How should I store trading cards?

If you want to contain your whole workflow within Unity then you might be looking for ScriptableObjects. Create a class which extends ScriptableObject and stores ...
Philipp's user avatar
  • 120k

Only top scored, non community-wiki answers of a minimum length are eligible