FDPP—Obtaining Cards

 

How do I get new cards?

Every morning, the server runs something known as a cron job. This process generates cards for you. Additionally, any time a new user is created, 20 cards are generated for that user.

This generation process uses a complicated algorithm to determine how many cards to generate and to whom the cards should be granted. On average, a user should receive at least one new card per week. Newer users might receive slightly more than the average, whereas established players will not generate cards as frequently. Active players will receive more cards than inactive players. Someone who hasn’t logged in for a month may only receive one card during that month, whereas someone who has played the game every day might receive two cards a week.

What are lucky cards?

Lucky cards are cards with the exact same values and abilities as another card. Occasionally, they may be called “foil”, “rare”  or “shiny” cards. “Lucky” is the official term for these cards.

How can I get a lucky card?

The only guaranteed way to get a lucky card is to trade a card from someone who already has one. Other than that, lucky card generation is a matter of pure and absolute luck. Game officials, game developers, and other administrative people cannot create a lucky card. Even if a lucky card is offered as a prize, that card either happened to be generated in a developer’s hand by the server, or the card was donated for the purpose of the contest. Even with full access to the server’s database, you cannot simply create a lucky card. Here’s why:

Each card that is generated has a unique GUID. That GUID might look like 562b73dbb8c6b. This card would not be lucky.

How can we tell? A card is considered lucky by the server if its GUID matches one of the following conditions:

  • If it ends with a 7, it’s a lucky card.
  • If it contains 65657669, it is a lucky card.
  • If it contains “FF” or “00“, it is a lucky card.
  • If the GUID matches an existing card, a 7 is appended to the front of the card’s GUID, the last digit will be replaced with a 7. The server also logs the event, because this is something that’s exceptionally rare.

Cards always keep the same GUID. Therefore, once a card is lucky, it will always be lucky.

Why can’t a FDPP game developer create a lucky card?

I’m an FDPP game developer. Let’s assume I wanted to create a lucky card. I would have to change a card GUID to match one of the conditions above. There’s a problem with that, though. If I want to change a card’s GUID, then I need to change it in every single place that card is referenced, including generation logs, trade logs, inventory databases, sheet databases, sheet logs—and probably more areas that I haven’t even thought about, yet! If I miss even one of those locations, then Bad Things happen. The server could crash entirely, or the card might be lucky one moment and then lose the lucky status when it’s traded.

All of this would assume that I have direct access to the database, which I do not. For security and stability reasons, no one has direct access to the database. I would have to write a script to access the database and change all of the GUIDs, and it would not be a simple copy and paste job. For example, let’s say the card is 562b73dbb8c6b. I want to make it lucky, so I write a script to perform a complete backup of the entire database (that way I don’t miss the transaction logs), and I change it to 562b73dbb8c67, and then write another script to reimport the backup. While doing this, I also have to bypass our automatic backup systems. This takes several hours, during which time no one is able to play the game because the database is busy processing my request, and anyone playing the game would cause the database’s state to change. So I set the game to maintenance mode and wait!

Now my card is lucky, right? It ends with a 7. Unfortunately, card sheets are also stored on the database, and there’s a sheet with the GUID 095dfc2a83d1562b73dbb8c6b.Sheet GUIDs tend to be longer. Now, that sheet was affected by my copy and paste job. 095dfc2a83d1562b73dbb8c6b is a sheet that no longer exists, because it is now known to the database as 095dfc2a83d1562b73dbb8c67. That’s not too much of a cause for concern, because I replaced the entire database. However, sheets also have a JPEG associated with them, and that JPEG is named after the GUID of the sheet. So my database now has a reference to a JPEG image that doesn’t exist, so when that sheet comes time to expire, the cron job crashes.

Now, take a few more hours to figure out the cause of the crash, fix it, and restart everything. That assumes that we know what the problem is. Something like this might take several days to figure out, during which time no one can play.

The short version: we cannot make a lucky card for you because we’d have to take the server down for a minimum of several hours to do so, and if anything goes wrong in the process, it could take days to fix. Do not ask us to create a lucky card for you. We cannot and will not do it.

What are Unique Cards?

A unique card is a card that is completely one-of-a-kind. They are typically untradeable. Each developer has a unique card which represents them. Some non-developers may also have been given a unique card as a special thanks to them. Unique cards are a bit like trophies, and they aren’t really meant to be used in game. They’re just the developer’s way of saying thanks.

Most tournament play rules will forbid unique cards.

What are Event Cards?

An event card is something that was given as part of an event. For example, we might give a Krampus card during a holiday, or we might grant a special card to people who are part of a beta testing event, or we might give a card to all people who participate in an official tournament. We might also make a news post with a code in it that grants you a particular card.

What are Achievement Cards?

An achievement card is a card you can only obtain by doing something particularly special. For example, winning in a game against a developer that used their unique card might be an achievement and might grant a special card. You might also receive an achievement card for winning an official tournament. Certain achievements do not yet have cards created for them, but those cards will be retroactively given to anyone who has completed the achievement. There is not an achievement list available, so you’ll just have to start doing odd things to see if it’s an achievement.

What are Limited Cards?

A limited card is a card that exists only for a certain amount of time. It is granted to everyone simultaneously. After this time period, it removes itself. These are similar to event cards, but are only created for a particular duration.