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 14017 (and counting) cards are available. We now include over 100 schemes, vanguards and planes. You can also play in a draft, sealed deck format or in a guantlet against the computer. There is a new variant game mode that lets you play against multiple computer opponents. Currently, this program only lets you play against the computer, you cannot play against another human player over the Internet.
- Latest Beta of Forge (07/18/2014 ver 1.5.22)
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 7, and is not backwards compatible with older versions of Java. Forge version 1.0.15 is the last version compatible with java 5. 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. Forge can now have it's window minimized to 800 by 600 pixels but this may make the display area cramped and possibly limit your ability to play. (This means Forge may not compatible with some netbook computers.) If you don't have Java installed, download the JRE
Some people that are using an early version of java 7 under the Windows OS have reported errors that state "Split must have > 2 children". Anyone having this sort of problem should de-install java 7 and install java 6 instead.
The memory requirements for Forge have fluctuated over time. The default setting on your computer for the java heap space may not be enough to prevent the above problems. If you launch Forge by double-clicking the file run-forge.jar you will eventually receive a java heap space error. The name of the forge jar file has changed as part of our new Maven based build and release system. The name format now used is:
We have created several scripts that will launch Forge with a greater allotment of system resources. (We do this by passing -Xmx1024m as an argument to the Java VM.) People using Windows OS should double click the forge.exe file. People using Apple's Mac OS X should use the Mac OS version and double click the Forge.app file. People using one of the other *nix OS should double click the forge.sh file.
- Download the file attached to the beta release thread.
- Extract the contents into a directory.
- Double-click the launcher script for your computer's OS.
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.
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?
Most users, who are running beta versions of Forge, should continue to use these instructions. As for alpha testers, these instructions have yet to be made congruent with the latest automatic bug reporting from within Forge.
First, make sure you are running the latest beta release of Forge (or later, if you are a special "alpha tester"). You can find the latest beta release announcement in the Forge Forum at Collectible Card Games Headquarters.
If you are running an older version, please upgrade and try to produce the problem again before reporting it.
Bug reports from users are the lifeblood of Forge. Please keep in mind that "beta" releases are test releases. Forge is constantly evolving, so we do not yet have "stable" or "production" releases. Because of the pace at which new cards are added to the multiverse by external forces, this will be the norm for some time. We do not expect everything to work 100%. We have a small number of developers and a handful of slightly less technical people actively improving the game. We simply cannot devote the resources to test every single card, much less the nearly infinite ways the cards can interact.
For starters, please take note of (1) what you had in play, (2) what your opponent had in play and (3) what you were doing when the error occurred. If you get a Crash Report from inside Forge, please save the data to a file. This information is very important when reporting a problem.
If you did not get a Crash Report, but you have experienced a problem in how Forge handled one or more cards or game rules, please read the cards carefully to make sure you understand how they work. You may be surprised to find that Forge is actually enforcing the rules correctly.
Because duplicate bug reports use up our limited resources, please research your bug to see if someone else has already reported it. If you are not a special alpha tester, search in the "Forge Beta" topic corresponding to your version of Forge in the forum. For Crash Reports, use key words from the second paragraph of the Crash Report. If you do not find a match, or if you are a special alpha tester, go to the View Issues page in Mantis, Forge's issue tracker. Use the Search box and Apply Filter buttons at to see if your bug has already been reported there.
If you find a matching issue, examine it to see if you have anything new to contribute. For example, a different way of reproducing a problem can sometimes be helpful. If the issue was posted to the forum, you may post your additional information there. If you found the matching bug in Mantis, see Forge: How to File an Issue Report.
If you find nothing, please try to reproduce the problem and take notes. If we can use your notes to reproduce the bug for ourselves, it is much easier to fix!
Whether you were able to reproduce the bug or not, (and as long as you are not a special alpha tester), please submit your notes, including the Crash Report (if you have one) and how to reproduce the problem, to the "Forge Beta" topic corresponding to your version of Forge in the forum.
If, after posting to the forum, you do not get a timely response, please report the issue.
If you are a special alpha tester, please do not post to the forums. Instead, follow the directions in Forge: How to File an Issue Report.
I have an idea to make Forge better. What do I do?
Follow the directions in Forge: How to File an Issue Report, keeping in mind that you are not reporting a bug, but rather a Feature Request.
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 top of new developments, read our guide on How to Get Started Developing Forge.
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.
These reports are automatically generated by Maven
Maven Build System
A build system is being developed to automate the generation of Mac, Windows and Linux release packages.
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.