It is currently 19 Apr 2024, 23:07
   
Text Size

Card Development Questions

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Card Development Questions

Postby Chris H. » 23 Dec 2010, 19:48

Jaedayr wrote:Also I think that I want to know how to update the SVN with only certain changes/additions without doing anything unintended. I have Eclipse/Subversion installed and have been updating my copy almost daily. Any advice/help is welcome, I want to contribute, just not sure what to do next.
`
Do you also have Subclipse installed?

I have two different workspaces installed on my iMac. One is for the ForgeSVN and I do not do any experimental work to this workspace. I use the File -> Switch Workspace command to switch back and forth between the two workspaces.

My experimental workspace can contain one or more experimental projects. I start a new project and give it a name that makes sense to me. I copy and paste the src and res folders from the svn copy and I also paste in the forge.properties file. I then build my test project and it is separate from the forgeSVN project and forgeSVN workspace.

A person can also do a similar multi-projects in the same workspace. Any work can then be copied form the test project over to the SVN copy and from there it is just a matter of making the commit. Granted, there can be a chance that there may be a conflict if someone else is working on the same file.

You want to learn how to resolve conflicts, if you do not it is possible that you might over-write other people's new work with the older version that is contained in your local copy.

It does not hurt to take your time trying to figure this out. It took me several months to figure things out and to develop my system and I do not have a degree in programming nor do I have any real experience outside of the forge project.

I believe that it may be possible to just commit a card txt file that you have created or edited. From the Project Explorer view navigate to the card file and highlight it. Right click the file and select:

Team -> Commit...

and I think that this may just move the data from the one card over to the SVN. :D
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby Chris H. » 23 Dec 2010, 20:00

SoulStorm wrote:Chris, thanks for adding the cards!

Rob and Sol, thanks for the helpful answers to my question in the first post.

Rob your suggestion worked perfectly. Now my question is, what are the advantages and disadvantages to running Gui_NewGame from inside eclipse vs. the instructions Chris gave me.
`

Im assuming I can copy my pics folder and such into the ForgeSVN Workspace?

I've made another card. I'm going to review the instructions to upload to the SVN. You'll either see it there or see another question here.
`
When you run forge from within Eclipse you will obtain data/info that is printed to the Console. This info can be useful. And if it solves the problem that you were having, great. There is also a debugger that can be used inside of Eclipse.

The benefit to building the JAR is that you can have a copy of forge to run outside of the Eclipse environment. I play my quests outside of Eclipse and I play my test decks inside of my test project.

I would not place the pics folder or decks or questData file into the ForgeSVN project. This would make it possible to have these files committed to the ForgeSVN site on Google. It is best to have a second project for this and it may be safer to have a second workspace.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby SoulStorm » 23 Dec 2010, 20:14

Thanks for the info Chris!

Whenever I try to commit the new card (Whip Silk), I get the following error:

svn: Server sent unexpected return value (500 Internal Server Error) in response to MKACTIVITY request for '/svn/!svn/act/dab4d598-cafb-2845-8e28-61c5e6fd2b8f'

I'm using the Googlecode password.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Rob Cashwalker » 23 Dec 2010, 21:05

I use Forge exclusivly inside the eclipse environment. I have the pictures in the pics subfolder. I don't have Forge in the default eclipse Workspace, it's in a folder, C:\ForgeSVN.

You could use the preferences or properties file to link to another folder where the pictures actually are.
The Force will be with you, Always.
User avatar
Rob Cashwalker
Programmer
 
Posts: 2167
Joined: 09 Sep 2008, 15:09
Location: New York
Has thanked: 5 times
Been thanked: 40 times

Re: Card Development Questions

Postby Chris H. » 23 Dec 2010, 23:50

SoulStorm wrote:Thanks for the info Chris!

Whenever I try to commit the new card (Whip Silk), I get the following error:

svn: Server sent unexpected return value (500 Internal Server Error) in response to MKACTIVITY request for '/svn/!svn/act/dab4d598-cafb-2845-8e28-61c5e6fd2b8f'

I'm using the Googlecode password.
`
To make a commit, you must send your google email address to DennisBergkamp via PM (private message.) I glanced at the list of people who currently have commit status at this url:

http://code.google.com/p/cardforge/people/list

The googlecode password was used when you created a repository location, I think that this is where it is used. Could be mistaken. Nonetheless, have you sent your google email address to DennisBergkamp via PM?
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby SoulStorm » 24 Dec 2010, 00:07

No I haven't, didn't know I needed to. :mrgreen: Will do though, thanks!
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby SoulStorm » 24 Dec 2010, 16:41

Since we have the keyword, "If damage would be dealt to CARDNAME, prevent that damage. Remove a +1/+1 counter from CARDNAME." Wouldn't it be easy to add the keyword, "If damage would be dealt to CARDNAME, prevent that damage. Add x +1/+1 counters to CARDNAME, where x equals the damage dealt?"

I presume the last part can be handled by an SVAR?

I believe this would allow us to add:

Brace for Impact, Temper, Test of Faith (Maybe), Vigor and to keyword Phytohydra.

Thanks!

Oh, and Happy Holidays!
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Jaedayr » 24 Dec 2010, 20:59

Thank you for all the recent info! I do have Subclipse, even got Python running and ran the PerSetTracking script, and have the SVN in it's own folder structure not under Eclipse. At this point I will only be working with card text files and it sounds like I can do those commits without too much trouble.

When do you use this?
Code: Select all
SVar:RemAIDeck:True
I should run setInfoScript on new cards before I test and upload them, correct? Anything else I need to know? (other than requesting commit permission)
Jaedayr
Tester
 
Posts: 523
Joined: 08 Jul 2010, 00:06
Has thanked: 16 times
Been thanked: 13 times

Re: Card Development Questions

Postby Chris H. » 24 Dec 2010, 21:32

SVar:RemAIDeck:True

is added to the card file when you want to prevent the card from appearing in a randomly constructed deck.

We add it to cards that turn out buggy.

And to cards that have no AI code as the computer can not play the card and it takes up a valuable slot in the deck.

We also add it to combo cards that require other cards to work effectively. Airborne Aid is a good example, it is not much use if the controller does not have some birds on the battlefield.


It is good to hear that you got Python installed. Yes, run the script before you commit a new card. Be on the lookout for conflicts arising when you and some one else is working on the same card file. Resolving conflicts is a skill that people will learn with time.

If you have any problems or any additional questions to ask let us know. Some one can usually step in and figure out some sort of an answer. There are times when there can be more than just one way to reach your goal. :D
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby slapshot5 » 24 Dec 2010, 23:07

If you're looking for ideas, some of the cards with a Channel ability can be implemented using ActivateZone$Hand or some such thing.

I'm thinking Shinen of Flight's Wings, Shinen of Stars' Light ...

-slapshot5
slapshot5
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

Re: Card Development Questions

Postby slapshot5 » 25 Dec 2010, 00:04

There also now exists AbilityFactories for DamageAll. That should open up a fair amount of new cards to be added via text.

See Jiwari, the Earth Aflame for an example. It's probably got a couple of bugs. Please post any unexpected behavior with this in the SVN bugs thread.

-slapshot5
slapshot5
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

Re: Card Development Questions

Postby SoulStorm » 25 Dec 2010, 05:09

Thanks Slapshot, I keep running into walls when trying to add cards. Most of it is due to the fact that I still have a lot to learn, but a lack of keywords is also a problem. My first thoughts when I saw AB$DamageAll was Ronin Cliffrider and Lord of Shatterskull Pass, but then I realized that we don't have Cost$Attack yet. ](*,) I'll do some more research on your suggestions.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby zerker2000 » 25 Dec 2010, 10:26

Well, it wouldn't be "Cost$Attack", it would be "Whenever$Attack".
O forest, hold thy wand'ring son
Though fears assail the door.
O foliage, cloak thy ravaged one
In vestments cut for war.


--Eladamri, the Seed of Freyalise
zerker2000
Programmer
 
Posts: 569
Joined: 09 May 2009, 21:40
Location: South Pasadena, CA
Has thanked: 0 time
Been thanked: 0 time

Re: Card Development Questions

Postby Chris H. » 25 Dec 2010, 14:20

SoulStorm wrote:Thanks Slapshot, I keep running into walls when trying to add cards. Most of it is due to the fact that I still have a lot to learn, but a lack of keywords is also a problem. My first thoughts when I saw AB$DamageAll was Ronin Cliffrider and Lord of Shatterskull Pass, but then I realized that we don't have Cost$Attack yet. ](*,) I'll do some more research on your suggestions.
`
Sol also provided the names of a few cards earlier in this topic that could be handled at this time.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby SoulStorm » 25 Dec 2010, 15:05

I'll look at those as well.

Apparently I'm a little dense. I installed Python (3.1), placed the card txt (Whip Silk - which works fine in game) in the cardsfolder, and double clicked the setInfoScript from its installed location, but no set data was added to the card.

I tried a bunch of other things as well, but to no avail. So what rediculously simple action did I miss this time? #-o
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 85 guests


Who is online

In total there are 85 users online :: 0 registered, 0 hidden and 85 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 85 guests

Login Form