Deck editor design
Feel free to add to this document - it will be edited later on by snowdrop. ---
This document outlines some of the possible and suggested features of a deck editor specifically made for the generic customizable card games (CCG:s/TCG:s/LCG:s) such as for example WTactics. The purpose of the document is to map which features are important and expected, and which ones are non-basic deluxe fluff but nevertheless still desired. It is not written with any particular software implementation in mind and while the ideas presented in it are mostly standard ones found in already existing editors there may also original ones among them.
What it is
The deck creation is a very vital aspect of the meta-game in almost all customizable card games. It decides which cards you will have available when you versus the opponent, your playing style and what possibilities you will have while playing. A picturesque analogy would be that the deck creation decides what geometrical shape and size your painting will be and which brushes and colours you will use. While painting you will then be able to use them in many different ways, but will not ever be able to break free from the boundaries set by those initial choices of gear.
A deck editor is an administrative set of tools that are connected to a database holding the cards that make up the game. The deck editor allows the user to freely and in a very easy manner create a deck. The process of deck creation is merely made up of two simple steps:
- Selecting what you want to field from the cardpool
- ...and transferring those selections to the newly created deck.
General
- As easy to use as possible, without compromising at all with a strong set of features.
- Intuitive as far as possible.
- Built in documentation with help pointers and clear examples of common user scenarios.
Configuration
- Features that are not primary but take screen estate and/or features that could possibly interfere with what the user tries to accomplish must all be configurable in at least a way so that they can be turned of completely.
- Features that could have meaningful tweaks and/or other settings that would mainly depend on user preferences or the game in question for which the editor is used should be tweakable.
- An example could be "How to sort cards in the cardlist?": Ascending/descending? Alpha, ID, type? Remember latest way the player used?
- Simple vs advanced config modes: The default is the simple mode. Pressing the "advanced"-button makes all the other options visible.
- Simple - Configuration of the most standard features. Here the options should be basic, few and self-explanatory.
- Advanced - Configuration of more advanced stuff that only a person that already knows the program and wants great control over the deck editor needs.
- Hide-list: A list composed of card names and/or search criteria where whatever hits meet that criteria are all excluded visually from the card pool list in the deck editor.
Graphics
- Size of cards: The size of cards should be configurable wherever in any contexts they are shown.
- Card images turned on/off
Card pool list
- Show/Hide visibility of certain columns
Statistics
A good deck editor can also be used as a tool for various analysis if needed be. While an in-depth analysis should not be made by the editor it should offer all kinds of statistics set by the game defintion files that are assumed to be interesting and usable by the player.
- Statistics about how any cards are available in the database and how they're distributed, e.g. how any there are of them of each card type and/or any other interesting attributes.
- Similar statistics on an individual deck level.
- Same statistics based on x number of selected decks in a list.
- Split screen comparison of two decks.
Dek-files
Deck files are plain text files where the data where all the deck editor needs to know about a deck is contained. They could have the following variables in it:
Content
- Name of:
- Deck
- Decks creator
- Game the deck was built for
- Unique deck id, e.g. based on a hash salted with deck creators name and time of creation.
- Date of creation
- Version
- URL (linked)
- E-mail (linked)
- Intro/summary: Short info where the the creator outlines the deck in just a couple of words.
- Info: Extensive text field where the creator can write a ore detailed description of how the deck is supposed to be played, it's ups and downs.
- Name of cards in deck.
- Number of copies of each card that is included in the deck.
Secondary features
- Tags
- Owned deck: True or false depending on if player owns all cards in deck (checked against the clients data, not against paper cards)
- Rating: A 1 to 5 rating of how good the deck is according to whoever rates it.
- Number of times the deck has won/lost a game, as input by the player from within the clients table after each played game.
- Number of times deck has been loaded for a game.
- Number of edits made to the deck.
- Total history of what has been added/removed to the deck in inverted chronological order: When, by whom and what.
Handling
They can be:
- Loaded / Saved
- Part of a collection of decks (E.g. "My aggro Red Banner decks)
- Exported as:
- Plain text file
- Dumped into clipboard as:
- Plain text
- phpBB forum BB-standard with nice formatting
- HTML, where output of it can be regulated by a CSS that the deck editor uses to style it. (Although the HTML-file will when generated not rely on the CSS being around)
Card pool list
The card pool list is composed of all cards available in the client. It is made up of one row per card and each row is also divided into several columns. Example of what could be relevant columns: Card name, Id, Type, Cost, Attack, Defense, Card text, Artist.
- Display illegal/banned cards in different text colour than other cards.
- Allow selection of multiple cards in the list if CTRL + Left mouseclick is pressed
- Pressing a number 0-9 while having selected card(s) will add that amount of cards to the deck, where 0 equals 10.
Secondary features
- Sort list asc & desc in order of how many times in total each card is used in the decks one has available.
- Show a new first column where that is displayed in actual numbers
- Show a new second column where that is displayed in %
Search
- The search can be done with a simple or advanced user interface:
- Simple: Just a combination of by the game definition files pre-defined search options, such as drop down menus with pre-filled info, checkboxes, etc.
- Advanced: This option is hidden per default setting and can be activated from the config. The advanced search is a text field that allows the typing in of more complicated searches along the lines of what could be found in SQL.
- Example: Type = Creature, Cost >= 3, Subtype <> Goblin, Text != mark, Text = Sacrifice this creature,
- The deck editors searches can easily be past to another player within the clients chat. Upon doing so it becomes an internal link to the deck editor, enabling the other player to press it and get the very same search done within his/her own games database.
- Show number of hits, both real and in % of total card pool.
Secondary features:
- Export search results as plain text files and/or HTML with(out) card images and info next.
- Auto create deck from search results by adding one card from each hit into a new deck.
- History of last searches made.
Collection Mode
The rarity factor and collecting of cards has been around since the creation of the CCG genre. While the initial collecting aspect was put there by the companies to boost their sales by giving their consumers random cards it may still present a fun aspect for some player groups, even when done in digital form and in a game where all cards are available totally for free.
If the client/server supports collecting cards in some fashion the deck editor should take consideration and differentiate between a games total card pool and a players digitally owned cards within the client/server.
Deck view
This view is what shows the content of the deck that is/has been constructed.
- Grid: One of the views available should be a grid-view where each card is represented graphically along with the number of copies of it in the deck. See figure.
- Right clicking on a card brings up menu with functions.
- Left clicking on a card adds yet another one of the same type to the deck.
- Ctrl + Left Click removes one.
- Hoovering over a card and pressing
- a number sets the amount of copies of that card to equal the pressed number.
- DEL removes all copies of them.
Misc.
- The deck editor should never require all the cards of a game to be available in the database for it to function properly. Almost all functions should be available no matter how many cards/expansions that are lacking.