Monday, April 6, 2009

Documentation

Writing documentation is the unwanted, dark side of programming, lol. Everybody knows documentation is good but no one wants to write it. There are two types of documentation. External documentation is for the user of the program and answers questions about how to use the program. Internal documentation is for another programmer and explains how the program works so it can be modified.

I’ve been working on the external docs for users, you can view it here. The readme contents are listed below. I presume 95% of the people that download MTG Forge already know how to play the game of Magic. For the other 5% I give a link to the demo and the rulebook.

MTG Forge as practically no internally documentation. I have put together all of my blog posting about how to program cards and named them “Readme – compile.html” but it only covers the basics. I wouldn’t mind working on UML charts and the like, trying to explain the internals of MTG Forge but I’ve never seen good internal documentation. Using Javadocs would be a good start since it generates easy to read html pages.

MTG Forge Readme

Quick Answers:
Quest Mode
Constructed and Sealed
Generate Deck
Booster Draft
Deck Editor – Import and Export
New Deck – Sealed
New Deck – Generate Random Constructed CardPool
Smooth AI Land
Resizable Game Area

FAQ:
What is MTG Forge?
Which file do I run?
Help, I don't know how to play Magic: The Gathering!!!
How do I download the card pictures?
How do you target a player?
Where are the other phases?
How do I choose which cards to add?
Why doesn't MTG Forge have my favorite card?
Where is the mana pool?
Why doesn't MTG Forge support a whole set or block?
Why does the user interface look weird?
Can I remove cards that don't work correctly?
What data files does MTG Forge use?
How do I install a newer version?
Why are there so many questData files?
Can I change the computer's quest decks?
How does the AI work?
Can the AI play Instants or Counterspell?
Can you play another person on the Internet?
General Thoughts

8 comments:

Gando the Wandering Fool said...

"Something doesnt work the way its supposed to. Where do I post the bug report?"

DennisBergkamp said...

Wait..., what? Doesn't stuff in MTGForge ALWAYS work the way it's supposed to though?


:D

willow said...

Yes, LLanowar helves DO have first strike and lifelink in the new Oracle rules, didn't you know? WotC made an announcement :D

Gando the Wandering Fool said...

*notes his comment was a serious entry for the FAQ.*

DennisBergkamp said...

"Yes, LLanowar helves DO have first strike and lifelink in the new Oracle rules, didn't you know? WotC made an announcement :D"

Ahh, yes although I heard they got Double Strike as well :D


Seriously though, yes this would be a good item on the FAQ.

Forge said...

I figured I missed something, thanks gando. And by the way, everyone loves the new "upgraded" Llanowar Elves :}

Belin said...

Shrsly, "When is Teneb going to be implemented?"

My favorite of the cycle. ;_; By the way, since it's a hot topic, where do I report bugs?

Chris H. said...

You should report bugs at the Computer Card Game Headquarters web site. There is a forum specifically for Forge.

There is a link for this site on the blog web page. This link is located between the Other Magic Programs link and the MTG Forge - Google Project link.