Talking about Forge’s software architecture is a little abstract so let me provide a comparison. A program’s architecture is the foundation that the rest of the program is built on. The foundation can be marginally improved but basically the foundation restricts what the program can and cannot do.
Forge’s architecture isn’t perfect but I would give it a good B. I assumed most costs would be mana costs which is true 90% of the time but this decision makes adding cards with additional costs (like sacrificing a permanent) more complicated. Looking back it would have been better to make cost an abstract class (or interface in Java terms) so that the cost could be anything. On the positive side Forge’s architecture lets you basically do (almost) anything, so you can hack it do death in order to support weird/unusual cards. Most of Forge’s architecture was built by me but other people have improved my code. I remember trying to code Time Walk and Forge just wouldn’t support it, but now Forge has Time Walk, so I am very impressed.
Forge’s greatest feature is the fantasy quest mode. I like to think of it as a poor man’s Shandalar since it is only menu based. In the beginning you start out with a random cardpool and you buy or win more cards. Quests can be as short as 10 wins or as long as you want it to be. You have 200 different decks that you may face.
The fantasy quest mode also allows you to buy more life, since you start at with 15. You can also purchase a free mulligan (you draw 7 cards) or a creature to begin the game with (either a plant wall or a wolf). You can also buy a boost that adds 10% to all of your match winnings as well as improving your selling percentage to the card shop by 1% (which is a lot since the card shop usually only buys at 10%). After 20 wins you may also get to face specialized AI opponents that have an unfair advantage. To add some tention, some of these special opponents can only be played once, so you better make sure to win. (A big thanks to Dennis for the fantasy quest mode.)
And lastly Forge is great because it has a good number of volunteers. Without these volunteers Forge would have probably been stuck with only 1,000 cards. These guys have improved the user interface, added the fantasy quest mode, and added/fixed numerous cards and bugs in Forge. While Forge didn’t have any documentation (which is my fault) the code seems to be very readable and I’m glad that these guys can figure out my (insane) code. Nowadays they know more about Forge than I do.
I never dreamed Forge would have over 5,000 cards or be downloaded 1,500 times a month. Forge has been the biggest project I have worked on and I’m just glad that Forge’s architecture didn’t implode because of all of the hacks. (Earlier versions of Forge did sort of collapse under their own weight because the foundation was not good enough.)
“Never debug standing up”
--mtgrares
p.s.
I hate to explain this quote because then it isn’t funny but I don’t want to leave anyone out. “Never debug standing up” is like saying, “No matter how long you think a job will take, it will always take more time” similar to Murphy’s Law.
p.p.s.
A clone of Shandalar is being worked on. You will walk around and do similar quests.
I applaud your work and that of the volunteers! I even feel a bit embarrassed enjoying the game so much and not contributing :)
ReplyDeleteCheers! dracul72
Don't feel embarrassed about not contributing, who contributes to their favorite movie?
ReplyDeleteForge does have unlimited replay value.
Can't wait for the walking around. I only play the constructed part of Forge atm.
ReplyDeleteadding the Graphical parts to the quest mode will make it alot more appealing to me.
Keep up the awesome work!
Cheers
Oooohh. Amazing screenshot! I love the Bazaar-part of Forge and this looks so promising!
ReplyDeleteForge, thanks for your program, I've been waiting for something like this since Spells of the Ancient.
ReplyDeleteThanks for destroying my social life once again. Great job!!