Forge
Contents |
About Forge
Forge is an implementation of Magic the Gathering that lets you play against a computer AI opponent using most of the rules of a real game. You can construct decks for you and the computer to play with, currently about 7500 (and counting) cards are available. You can also play in a sealed deck format against the computer. This program only lets you play against the computer, you cannot play against another human player over the Internet.
Latest Beta of Forge (3/18/11)
Requirements
Since Forge is written in Java, it is compatible on any Operating System that can run the Java Runtime Environment. Forge is currently compatible with JRE 5 and 6, but in the future may not be backwards compatible with older versions of Java. Some previous beta versions may require JRE 6 as they have used methods that did not exist in JRE 5. If you have difficulties with your System not working with Forge, please post on the forums so we can attempt to help. This program works best with a screen resolution of 1024 by 768 or better. If you don't have Java installed, download the JRE
Running Forge
- Download the file attached to the beta release thread.
- Extract the contents into a directory.
- Double-click the file "run-forge.jar" or from the command line type: "java -jar run.forge.jar"
What if double-clicking doesn’t work?
Sometimes double-clicking will open the jar file in a different program. In Windows, you may need to right-click and open the properties to change the launching program to Java. This might be different in OSX or Linux systems.
Phase Handling
All Phases of the game are now available. If you don't care about all the phases that are stopping, please de-select them in the Phase menu. You should be able to deselect any phase to auto-pass priority. You will always get priority in a phase that has a delayed trigger.
The addition of missing Phases was made available in Beta release 11/30/10.
Forge Developers
The original programmer can be found at mtgrares at yahoo com. A while back he open sourced the project and let the other developers improve it to their heart's content. He's taken a hands off approach for some time now, but still talks about it on his blog linked above.
At this time, there are many developers who help in different stages of the game. Some of us work on the infrastructure of the program, others work on creating new abilities and cards that use them, but there is a lot of behind the scenes action going on. For each release, it is common for the release developer to give a shout out for those that helped specifically for that version. Feel free to give kudos there.
I think I found a bug in Forge. What do I do?
Beta releases are just that: Beta releases. We don't expect everything to work 100%. We have maybe a half-dozen developers and then a handful more of the user base actively playing in the latest trunk build. So it's not surprising that we can't test every single card, and many strange card interactions.
Posting on Forge's Forum is really the best place. We try to get to the bug reports as quickly as we can, but some things can be more difficult to diagnose than others. The more information you provide for us, the easier it may be to recreate the issue. So things like what you had in play, what your opponent had in play and what you were doing when it occurred can be vital. Once we can recreate the issue easily, it's that much simpler to track it down in the code base and resolve it.
Development
I want to help develop Forge. How do I get started?
Forge is written in Java, so knowledge in that language (or similar Object Oriented languages like C++ or C#) is very helpful. However, it is possible to learn the grammar for writing the data objects of cards without programming experience.
A development environment such as Eclipse is beneficial, as it helps writing, compiling and testing your changes.
There are essentially two ways of obtaining the source code of Forge: Either ask in the forums or, if you plan to contribute code regularly or want to stay at the to of new developments, get access to our SVN repository.
My system is all setup to help. What now?
Take a look through the /res/cardsfolder folder. This is where all the card data lives. If you know of cards that are missing from Forge, see if there are similar cards that already exist.
Check out the API below. There are plenty of cards that uses the new AbilityFactory that we just haven't gotten around to posting yet.
Card Scripting API
Yes, Card Scripting API. It's definitely not the best piece of documentation in the world, it along with live card examples (and possibly some forum posts) will lead you in the right direction. I'll do my best to update at least the newest stuff, the older ones I can't promise much more than listing that it exists.
What is Magic: The Gathering?
The first collectible card game invented in 1994. Their website is www.wizards.com/magic Each player starts with 20 life points and the goal is to reduce your opponents life points to 0. The official rulebook can be downloaded from the Wizards official website.
