Developer Plans
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Developer Plans
by Agetian » 01 Dec 2012, 19:07
Ok, I got the basic sideboarding using getOrderChoices to work (used your old code). The problems thus far:
1)NPE at drawing cards - fixed by assigning an owner to the card before putting it into the library.
2) It's possible to put more than 4 of the same card type into the deck while sideboarding. Not sure what would be the best idea for fixing that... perhaps, run a check after the sideboarding is over to test for the deck legality and restart the sideboarding interface if the deck is invalid?
3) There's no way at all to create the sideboard using the current deck editor? I'm not sure but probably it's only possible to create a sideboard using a text editor... am I wrong or correct in that assumption?
As for the interface, I think the current revision of getOrderChoices kind of works - I mean, it shows the card in the card preview window etc., though I agree that the deck editor interfact would have been better.
- Agetian
1)
2) It's possible to put more than 4 of the same card type into the deck while sideboarding. Not sure what would be the best idea for fixing that... perhaps, run a check after the sideboarding is over to test for the deck legality and restart the sideboarding interface if the deck is invalid?
3) There's no way at all to create the sideboard using the current deck editor? I'm not sure but probably it's only possible to create a sideboard using a text editor... am I wrong or correct in that assumption?
As for the interface, I think the current revision of getOrderChoices kind of works - I mean, it shows the card in the card preview window etc., though I agree that the deck editor interfact would have been better.
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Developer Plans
by friarsol » 01 Dec 2012, 20:14
2) Yea, the deck editor doesn't really have any real restrictions in it. But for constructed it would need to make sure that there aren't more than 4 of a card combined in your main and sideboard. The exceptions to this rule are basic lands and Relentless Rats. It would be nice when starting a new deck to ask what type of constructed deck, so we could enforce Banned/Restricted lists as well.Agetian wrote:2) It's possible to put more than 4 of the same card type into the deck while sideboarding. Not sure what would be the best idea for fixing that... perhaps, run a check after the sideboarding is over to test for the deck legality and restart the sideboarding interface if the deck is invalid?
3) There's no way at all to create the sideboard using the current deck editor? I'm not sure but probably it's only possible to create a sideboard using a text editor... am I wrong or correct in that assumption?
3) Nope the deck editor has never had that, that's part of the task of whoever adds sideboarding
Edit: Obviously for Highlander you can't have more than 1 of a card, but in Draft/Sealed you can have as many of a single card as is in your pool.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Developer Plans
by ArsenalNut » 02 Dec 2012, 01:41
The deck import function under the All Decks tab will save the sideboard cards as well. I use this all the time net decking.Agetian wrote:3) There's no way at all to create the sideboard using the current deck editor? I'm not sure but probably it's only possible to create a sideboard using a text editor... am I wrong or correct in that assumption?
- Agetian
So many cards, so little time
-

ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Developer Plans
by Agetian » 02 Dec 2012, 04:58
Ok, nice, thanks for the briefing! I'll see what I can do! 
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Developer Plans
by Sloth » 08 Dec 2012, 09:20
I get a compile error with r18642. I think you forgot to commit the class TriggerWaiting sol.
-

Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Developer Plans
by friarsol » 08 Dec 2012, 15:29
Bah, I knew I should have just left it as a private class inside TriggerHandler.Sloth wrote:I get a compile error with r18642. I think you forgot to commit the class TriggerWaiting sol.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Developer Plans
by Agetian » 18 Dec 2012, 07:10
A little update on my status: my current project is indeed Split Cards, working on the draft implementation now. Depending on how difficult/invasive the code is going to be, might actually hold off enabling them till after next beta. Unfortunately, also got a pretty bad health problem that might, theoretically, put me in a hospital within a couple days, so if I disappear for a while, it's because of that. I'll be back, don't worry. And hopefully I won't disappear at all.
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Developer Plans
by Sloth » 18 Dec 2012, 09:18
Get well soon. Christmas in hospital doesn't sound enjoyable.Agetian wrote:Unfortunately, also got a pretty bad health problem that might, theoretically, put me in a hospital within a couple days, so if I disappear for a while, it's because of that. I'll be back, don't worry. And hopefully I won't disappear at all.
-

Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Developer Plans
by Max mtg » 06 Feb 2013, 15:13
My actual targets are:
* decouple AI from game logic - gather ai code in a single package to make it accessible for newcomers willing to develop some new AI.
* unify player interaction (that is replace that isHuman/isComputer checks and code branches with instructions that work in a same way for human and AI player and use overloads of PlayerController class for each player type)
* add third player type - RemotePlayer.
* decouple AI from game logic - gather ai code in a single package to make it accessible for newcomers willing to develop some new AI.
* unify player interaction (that is replace that isHuman/isComputer checks and code branches with instructions that work in a same way for human and AI player and use overloads of PlayerController class for each player type)
* add third player type - RemotePlayer.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Developer Plans
by Agetian » 17 Feb 2013, 05:10
Hey guys,
Sorry for a long absence, I wanted to give you a heads-up on what I've been through recently and what my short-term goals might be as far as Forge is concerned - I've been through a bunch of health-related problems but those are, thankfully, over, and now I'm just in the middle of a serious business-related project that I need to take care of before I can get back to my hobbies more or less full time. This means that it's likely to take me a week or two more before I can get back to coding Forge, but I'm definitely planning a comeback as soon as possible. In fact, I may grab the latest Forge code base and look around to see what had changed. I've seen the SVN changelog and I can say I'm impressed with all the progress - it's great to see the massive UI enhancements and I'm happy that some of the sideboarding issues I couldn't resolve on my own before disappearing were resolved (sideboard sorting is great - thanks, myk!). At any rate, as soon as I'm able to, I'll start committing Forge updates again.
My immediate potential targets are:
- Continuing to work on supporting split cards (kind of convoluted and requires a lot of concentrated effort judging by my previous experience, I might actually need some help in this area if anyone is up for it... Please let me know if anything has changed in the relevant code base, too, I've seen some modification/cleanup/renaming going on in the mana and CMC department, haven't checked out the source code yet but it's likely that it might affect the future support of split cards in one way or another)
- Starting to implement the AI personalities (the current basic idea is to have a subfolder in the "res" folder, something like "ai", which will contain preferences files defining various aspects of AI behavior - how likely the AI is to trade early, whether it's likely to go all-in or play more cautiously, how much it would be willing to mulligan to try to get at least one land (so, some AIs might actually desperately mulligan all the way to 1, while the others would only go down to 4-5), etc.). Then, the desired personality can either be chosen from the drop box in preferences or even (I think this is better for quest mode) set up on a per-deck basis for the opponent's decks.
I'm not setting any other developer targets for myself at the moment as my busyness is likely not to allow me for quite a while, but these two aspects of Forge are sort of my "pet projects" that I want to see implemented in the game sooner or later, so whenever I have a chance to work on something, I'll work on these two, likely in the order specified above. Also, if anybody is interested in joining me in one of these two efforts, your help would be immensely welcome as my speed of working on Forge might be quite slow for a bit...
At any rate, thank you for your concern, guys, and don't worry, my health issues are luckily over and I haven't given up on Forge in any way!
- Agetian
Sorry for a long absence, I wanted to give you a heads-up on what I've been through recently and what my short-term goals might be as far as Forge is concerned - I've been through a bunch of health-related problems but those are, thankfully, over, and now I'm just in the middle of a serious business-related project that I need to take care of before I can get back to my hobbies more or less full time. This means that it's likely to take me a week or two more before I can get back to coding Forge, but I'm definitely planning a comeback as soon as possible. In fact, I may grab the latest Forge code base and look around to see what had changed. I've seen the SVN changelog and I can say I'm impressed with all the progress - it's great to see the massive UI enhancements and I'm happy that some of the sideboarding issues I couldn't resolve on my own before disappearing were resolved (sideboard sorting is great - thanks, myk!). At any rate, as soon as I'm able to, I'll start committing Forge updates again.
My immediate potential targets are:
- Continuing to work on supporting split cards (kind of convoluted and requires a lot of concentrated effort judging by my previous experience, I might actually need some help in this area if anyone is up for it... Please let me know if anything has changed in the relevant code base, too, I've seen some modification/cleanup/renaming going on in the mana and CMC department, haven't checked out the source code yet but it's likely that it might affect the future support of split cards in one way or another)
- Starting to implement the AI personalities (the current basic idea is to have a subfolder in the "res" folder, something like "ai", which will contain preferences files defining various aspects of AI behavior - how likely the AI is to trade early, whether it's likely to go all-in or play more cautiously, how much it would be willing to mulligan to try to get at least one land (so, some AIs might actually desperately mulligan all the way to 1, while the others would only go down to 4-5), etc.). Then, the desired personality can either be chosen from the drop box in preferences or even (I think this is better for quest mode) set up on a per-deck basis for the opponent's decks.
I'm not setting any other developer targets for myself at the moment as my busyness is likely not to allow me for quite a while, but these two aspects of Forge are sort of my "pet projects" that I want to see implemented in the game sooner or later, so whenever I have a chance to work on something, I'll work on these two, likely in the order specified above. Also, if anybody is interested in joining me in one of these two efforts, your help would be immensely welcome as my speed of working on Forge might be quite slow for a bit...
At any rate, thank you for your concern, guys, and don't worry, my health issues are luckily over and I haven't given up on Forge in any way!
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Developer Plans
by friarsol » 17 Feb 2013, 14:48
Well speak of the devil. I was just posting about how Split cards seems to be our largest "chunk" of cards left. I'd say once you get started, create a dedicated thread for it (you probably want to create a new branch as well, because there may be a few structural changes.) And I'll be on hand to point out the key factors, or jump in spots that you aren't sure about.Agetian wrote:- Continuing to work on supporting split cards (kind of convoluted and requires a lot of concentrated effort judging by my previous experience, I might actually need some help in this area if anyone is up for it... Please let me know if anything has changed in the relevant code base, too, I've seen some modification/cleanup/renaming going on in the mana and CMC department, haven't checked out the source code yet but it's likely that it might affect the future support of split cards in one way or another)
I'd imagine that the AI won't really need many changes, since it already evaluates all the SAs on a card. I think the hardest part would be making sure the Instance of the SA on the Stack is only the appropriate half of the Split card.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Developer Plans
by Agetian » 17 Feb 2013, 15:44
@ Sol: Sure thing, will do! I may need a bit of info about how to make a new branch and how to properly work with it (haven't done that in my life
, if possible, please point me to some kind of tutorial information or send me a PM about it, I'd be very grateful!
I've updated my local copy of the SVN code base to the latest revision, will start to look through it as time permits, and will let you know when I'm ready to start working on the split cards by posting the appropriate new thread here in the dev forum. Won't take too long, I hope!
- Agetian
I've updated my local copy of the SVN code base to the latest revision, will start to look through it as time permits, and will let you know when I'm ready to start working on the split cards by posting the appropriate new thread here in the dev forum. Won't take too long, I hope!
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Developer Plans
by friarsol » 20 Feb 2013, 01:27
I'll be looking at Unattach Cost this week. Hopefully it doesn't take too long.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Developer Plans
by Agetian » 05 Mar 2013, 17:41
Ok, since the initial implementation of the Split Card support will be reintegrated into trunk shortly, I might eventually proceed with my next developer target for this year - and that will be AI personalities (+ possible AI improvements along the way). It's likely that I'll be working in a separate branch. When I'll be ready to start this project, I'll start a new thread in the dev forum.
Potential long-term dev goals that I'm considering may include better support for foil cards (so that foil is not just random) and *maybe* (and this is a rather big maybe, to be honest) working towards support for Banding cards (but even if I do pick this up, it's likely going to happen during the summer vacation as there's no way I can do anything super major like that more or less full-scale while I'm also working full time).
- Agetian
Potential long-term dev goals that I'm considering may include better support for foil cards (so that foil is not just random) and *maybe* (and this is a rather big maybe, to be honest) working towards support for Banding cards (but even if I do pick this up, it's likely going to happen during the summer vacation as there's no way I can do anything super major like that more or less full-scale while I'm also working full time).
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Developer Plans
by friarsol » 15 Mar 2013, 16:01
I'm going to take a look at the Redirect spells soon and see what can be done with them. I don't have any timeframe for this. So if someone wants to be more serious about implementing them, just let me know.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Who is online
Users browsing this forum: No registered users and 31 guests