Monday, October 19, 2009

MTG Forge - The Beginning

When I started programming MTG Forge, I didn't know if the program would ever be good enough for someone else to play and enjoy, there are MANY half-written programming projects on the Internet. MTG Forge was created on a very old computer (700 MHz CPU, 128 MB) with an old version of Java 1.2, now Java is up to 1.6 or something.

Even though I had graduated with a bachelor's degree in computers the longest program that I'd ever written for college was in Cobol. It was a 500 line monstrosity that could have been easily written in 100 lines of Java. The longest Java program that I ever wrote for college was probably around 70 lines. Yes I enjoyed programming but that doesn't mean that I was necessarily good at it.

I had about three "false starts" with MTG Forge. A "false start" is when the program was sufficiently large and was actually doing something but when I added more stuff to it, it would just brake and the program could not be fixed.

This meant that the architecture wasn't correct, so I would use some of the "good stuff" like the Card and SpellAbility classes and then try to write a better foundation the program wouldn't "brake" in the future.


nantuko84 said...

>... that I'd ever written for college was in Cobol

\0/ I coded on Cobol for two years
do you know that this language was developed by woman?)

Forge said...

Yeah, I almost remember her name but Wikipedia told me it was Grace Hopper. As I remember, and this may be fuzzy, she wanted to separate the CPU's data and instructions into two totally separate memory locations. Her idea was ignored and now the CPU's instructions and data are all intermingled.

Cobol was easily once I understand that everything was in a "fixed format" that you saw on the screen or printed. It hurt my brain becaue first I learned C, then Java, then Cobol which felt like going back in time (to the stone age).

Chris H. said...

I can remember taking an intro COBOL class while in college many years ago. We did not use terminals to type in the code ... it was all done on keypunch machines.

Talk about the stone age. :)

Forge said...

Ouch, yes I had a "modern" Cobol course. Programming is hard enough with interactive, fast compilers. Writing on punchcards must have felt like tap dancing on lava.

Chris H. said...

"Ouch, yes I had a "modern" Cobol course. Programming is hard enough with interactive, fast compilers. Writing on punchcards must have felt like tap dancing on lava."

We had cardboard boxes to carry the cards in, to prevent the cards from getting out of order with one another.

One student dropped his box and his cards went all over the place. :)

Forge said...

I did a report about Charles Babbage who is the inventor of keypunch cards I think. Having a box full of cards would be a very odd experience.

"Hi, are you a programmer?"

"Yes, here is a box of cards that I am currently working on."

Truthfully Cobol was very easy to debug because the programming environment let you double-click on any variable see the value that the variable was currently holding while the program was running.

Unknown said...

VB does something like that too. While in debug mode, you can hover the mouse over most variables and see what value they have.