Hi again!
First of all, I would like to thank “enc” and “ThomasEgi” for the very constructive tips they gave. Since I’m a “newbie” in Panda3D, This is the exact kind of tips I need. This directions are very important so I can efficiently start the project! So, don’t be shy MTG players, more tips!
I will post here the main functionalities I intend to have for this game so the MTG players can know what to expect from this project. My main goal is to have a commercial-grade totally free and open source MTG game, with amazing graphics so the MTG enthusiasts can get the most fun out of it.
I downloaded and studied all the good programs I could find about MTG and despite the fact that I WILL develop the game FROM SCRATCH, I will use the two OS programs below to get ideas for AI logic and rules enforcement logic:
1. Wagic the Homebrew - 1 Payer against AI, developed mainly for playstation, but can be played in windows and also linux. Since wagic is open source, developed in C++, and have a very good AI, I will use the AI logic as a starting point to develop the AI of the game in python.
2. Incantus - 1 Player solitaire or 2 players over the internet, no AI. Totally developed in python, using pyglet for the UI. It has a VERY VERY good rules enforcement logic but it is SO slow that it cannot be played. I will also use this program as a starting point for the game.
Well, lets talk about the game functionality and the order I intend to implement:
1. Deck Construction - I will implement an interface to manage cards and construct decks. Pretty much like Magic Workstation or MTG Studio.
2. Rules Enforcement - What do I mean by rules enforcement? The game should know what stage of a turn it is, how to process the spell stack, it should know WHEN and IF you can play a card, it should know how much mana you have available if you turn a terrain, how to distribute combat damage points, etc…
3. I will not implement ALL MTG rules and cards at once up to ROE since this would be stupid and it would take a year to release a working game. I intend to have a working 1 player solitaire with nice graphics in no more than 2-3 months from now. For the first release, I intend to have all the rules of Alpha, Beta, Unlimited (they are basically the same). So, the game development evolution will follow the sets release order by WotC, from 1994 until today. Cards abilities and availability will also follow this. This mean that an official release of the game will never have cards from some edition unless ALL cards and rules from ALL previous editions are implemented and working.
4. One Player Solitaire Game - The requirements for this is first, read deck files and rules enforcement. After the development of this first game mode, we will have a nice and working battlefield, graphics, etc, so we can move on to the other 5 types of games I intend to have.
5. One Player against AI - After having a fully functional game I will start developing the AI to enable 1 player games against the computer. I will also be including new sets and cards and rules enforcement for the new sets and cards.
6. Multiplayer Unrestricted - This mode will function much like the magic workstation but with full rules enforcement. I will also implement the game formats (Standard, Extended, Legacy, Vintage, Blocks and No Restriction). Now, I do I call this “Unrestricted”? Because any player in the network will have every implemented card available to construct decks and play against others. Now let me explain about the next type I intend to implement.
7. Multiplayer Real World - I want to implement a Market System, (just like the official MTGO), of course, with no real money involved. Just “play money”. Let’s face it, at least 50% of the fun of a collectible card game is to collect the freaking cards. If you play it, you know the excitement of obtaining a really rare card. Each new user will start with $100 “play money”, he will be able to buy starters, boosters or singles from the online “store”. He will be able to trade cards with other players. He will be able to bet cards or “play money” in a match. The price of the cards will follow the real world card prices. So it will be hard to obtain rare cards. We won’t see many Black Lotus flying around!
Well, for now, I think that is it… If anybody have any tips, please please, say something.[/b]