Page 1 of 1

Programming for Non-Programmers

PostPosted: 29 Sep 2009, 18:05
by otherright
There are many of us out there who are not programmers either by lack of talent or lack of need. Yet the interest that MTG Forge has garnered over the past few months with its constant expansion has us visiting the site daily scouring for any new updates.

I think this program is phenomenal in its scope and potential and I, like others, would love to contribute to it in any way possible. Having said that, I'm not a programmer, but would love to add cards to it.

For most of us, as I've read in the forums, it seems the only way possible for us non-programmers to do this would be through the card.txt file.

I think it would be great if you guys could provide a list for us of functions that work, and maybe even alter the code to increase the functioning of cards.txt so we can knock out the simpler cards for you, freeing up your time to add more function to the program and handling the more difficult cards.

This way MTG Forge can quickly become the top Magic game out there. Again, I really hope you guys can put something together for us, so we can help more.

Re: Programming for Non-Programmers

PostPosted: 29 Sep 2009, 18:41
by Chris H.
otherright wrote:For most of us, as I've read in the forums, it seems the only way possible for us non-programmers to do this would be through the card.txt file.

I think it would be great if you guys could provide a list for us of functions that work,
There is a list with the currently implemented keywords which can be found at

Words that Cards.txt recognizes

You can examine the cards.txt file for examples of cards which use these keywords.

Re: Programming for Non-Programmers

PostPosted: 29 Sep 2009, 20:01
by Rob Cashwalker
The problem with this is, that as soon as we come up with a new keyword script, all the possible implementations of existing cards are submitted rather quickly. Then it's simply a waiting game for each new set to assimilate the new cards that can be executed with the existing keywords at the time.

I average one new keyword every month and a half, or every other beta release. Chris has now taken his first steps to making one of the more simple ones.

Re: Programming for Non-Programmers

PostPosted: 29 Sep 2009, 20:12
by DennisBergkamp
The next version will have a bunch more:

This card can't be countered.
Nonbasic landwalk
Horsemanship
Landfall (<-- although this one doesn't really "do" anything, except flag a card as a card with landfall)
spLoseLifeGainLife:{number}
This card can't be the target of spells or abilities your opponents control.

We (Rob in particular) always try to get as many as keywords implemented, to keep programming and hard-coding cards to a minimum.
There are still quite a few concepts that can easily be abstracted, especially a lot of equipment/aura cards come to mind (whenever I create these it's usually a copy + paste job with some minor modifications).

Re: Programming for Non-Programmers

PostPosted: 30 Sep 2009, 00:16
by Chris H.
I have added a number of cards over the last year via the keywords. I would not mind retiring from this part of the project and I am more than willing to relinquish control over this aspect to other people. This would allow me to spend more of my free time learning Java and submitting code. :)

Sloth has contributed some cards via the keywords recently. Thanks you, Sloth. =D>

Sloth and otherright could form a team and work together in this area. One might catch cards that the other misses. And if one of them gets busy with "Real Life" for awhile the other could handle the workload.

There is also the "Words that Cards.txt recognizes" listing. They could take over the responsibility of updating this list … that is, if they would like to give it a shot. I am willing to also pass on this job.

We may still be missing a card or two that would use the newish spDrawCards keyword. It might be worth spending a little time checking the on-line databases. There are still several cards that are still hard coded that can be converted over to this spDrawCards keyword. 8)

otherright can visit the developer section and read the developer messages.

Re: Programming for Non-Programmers

PostPosted: 30 Sep 2009, 03:06
by Rob Cashwalker
FYI, don't go over-board with spDraw yet... the paint isn't dry. Working on it and some of my work on enhancing spDamageCP has given me a new vision of how some of the keywords can be expanded.
The extra syntax for handling X variable mechanics and drawbacks are now standardized into "functions", which can easily be added in other keywords or even raw code.

I'm done with the enhanced damage spell, right now I'm finalizing the drawback handler, a generic list of "drawbacks" that may appear in any spell.

Re: Programming for Non-Programmers

PostPosted: 30 Sep 2009, 12:31
by Huggybaby
That's good stuff Rob!

Re: Programming for Non-Programmers

PostPosted: 30 Sep 2009, 18:47
by mtgrares
I think this program is phenomenal in its scope and potential and I, like others, would love to contribute to it in any way possible. Having said that, I'm not a programmer, but would love to add cards to it.
Well thanks. Everyone that has worked on MTG Forge appreciates a complement or two. I am especially glad that so many people enjoy MTG Forge despite the errors. I literally started this project in my garage with an old computer and every night I would work a little on it. Now more people work on it and I'm happy that MTG Forge supports as many cards as it does.

I think this program is phenomenal in its scope and potential and I, like others, would love to contribute to it in any way possible. Having said that, I'm not a programmer, but would love to add cards to it.
Most of what is needed gets done. It is hard to really divide up task small enough so that people can help. It is very similar to trying to write a new chapter for a story that is already written, although it can be done, it really doesn't work well.

Personally I think the best thing that you can do is to promote and advertise MTG Forge in forums, to your friends online, and to your friends offline. One of my goals for my blog is to just to advertise MTG Forge and describe how great it is, "MTG Forge lets you use BLACK LOTUS that is a $1,200 dollar value, DOWNLOAD IT NOW!!!" :lol:

Re: Programming for Non-Programmers

PostPosted: 01 Oct 2009, 03:01
by otherright
One step ahead of you. I spent about a half an hour at work today going over some talking points about MTG Forge with some guys, where it looks like its going, and comparing it to Magma; weighing the personal pros and cons of each.

Of course to me, the only thing Magma has over you is number of cards. It seems like the AI for Forge is more challenging. As far as numbers, you'll get there. Magma updates what once a year? You updated twice last month. That tells everyone your project is alive and well. (Oh, and you have Gemhide Sliver, they still don't :) .

Again, you'll get there. Of course, not every magic card needs to be added. Some have no use (read Unglued). Unfortunately for me, neither of you have Luxodon Gatekeeper yet. How sad.

Keep pounding away at it. I plan on seeing my magic geeks this weekend, and I'm going to pass this program around to everyone and point them toward this site.

Re: Programming for Non-Programmers

PostPosted: 01 Oct 2009, 03:09
by DennisBergkamp
Awesome :D
By the way, where can I check out Magma? I've never heard of it.

Re: Programming for Non-Programmers

PostPosted: 01 Oct 2009, 13:36
by Huggybaby
Uh, it has its own forum here...
viewforum.php?f=24

New version is out, 5555 cards.

Re: Programming for Non-Programmers

PostPosted: 01 Oct 2009, 16:42
by DennisBergkamp
Wow, that IS quite a lot of cards!!! I wonder how buggy it is ?
I downloaded the latest version last night and played a couple of games. There's a lot I like about it, but also some things I don't (mainly the interface seems a bit funky).
But man, 5555 cards, that's quite a lot...very impressive :)

EDIT: Loxodon Gatekeeper and Kismet are both on my humongous todo list of cards... should be pretty easy to code too.