The main additionnal functionnality compared to other card game simulation program is that Magic Project understands the rules of the game. Rules are human-written using a specific XML pseudo-language, giving the Magic Project game engine all the necessary information to properly simulate the card game. For card games with static rules (like No Limit Texas Hold 'Em Poker), writing the rules file for that game is not a too difficult task. For collectible card games (CCG), we often encounter a base of rules that describe the game and one or more specific rules linked to each card.
A card game is described by a main XML file and a set of other XML files for each card in that game. For example, for Magic the Gathering card game, you'll have a big file named mtg.xml in the src/main/resources/tbs directory. Each implemented cards have a dedicated XML file in the src/main/resources/tbs/mtg/recycled directory. The name of the file is the name of the card in english with the spaces replaced by an underscore and the simple quote removed. For example, for the card "Abu Ja'far", you will have the file src/main/resources/tbs/mtg/recycled/Abu_Jafar.xml.
For now, only the game Magic: the Gathering is implemented in Magic-Project.
A really usefull tool has been created in order to increase the XML card creation process. The 'oracle2xml' command allows you to create the whole XML of all cards from a txt Oracle file. You can get it from the regulary updated site here or from a ready to use file there and place it in the directory to create etc in the root dir of MP. Then, you can launche the 'oracle2xml' command from the root dir of MP, and then, have a look in the etc/xml to see the generated XML files. They can be edited and moved in the tbs/mtg/recycled directory when you think they are well formed and suit to the rules to have MP considering them.
It's advised to build all new cards from this tool since it makes you saving a lot of time and assure you are creating cards the right way.
PS : since the Oracle file may have a different name the day we create this document, you might have to edit the 'oracle2xml' or 'oracle2xml.bat' command an update the Oracle file name.