Log in

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 8688 (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.

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 6, 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. (This means Forge is not compatible with some netbook computers.) If you don't have Java installed, download the JRE

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".

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.

Running Forge

  1. Download the file attached to the beta release thread.
  2. Extract the contents into a directory.
  3. 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.

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?

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, we 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, 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.

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 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 How to File a Bug Report with Mantis.

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 you are a special alpha tester, please follow the directions in the guide on How to File a Bug Report with Mantis.

I have an idea to make Forge better. What do I do?

Follow the directions in the guide on How to File a Bug Report with Mantis, keeping in mind that you are not reporting a bug, but rather a Feature Request.

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 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.

Development Reports

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.