It is currently 28 Oct 2025, 18:54
   
Text Size

Developer Plans

Post MTG Forge Related Programming Questions Here

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

Re: Developer Plans

Postby 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
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Developer Plans

Postby friarsol » 01 Dec 2012, 20:14

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

Postby ArsenalNut » 02 Dec 2012, 01:41

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
The deck import function under the All Decks tab will save the sideboard cards as well. I use this all the time net decking.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: Developer Plans

Postby Agetian » 02 Dec 2012, 04:58

Ok, nice, thanks for the briefing! I'll see what I can do! ;)

- Agetian
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Developer Plans

Postby Sloth » 08 Dec 2012, 09:20

I get a compile error with r18642. I think you forgot to commit the class TriggerWaiting sol.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developer Plans

Postby friarsol » 08 Dec 2012, 15:29

Sloth wrote:I get a compile error with r18642. I think you forgot to commit the class TriggerWaiting sol.
Bah, I knew I should have just left it as a private class inside TriggerHandler.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Developer Plans

Postby 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
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Developer Plans

Postby Sloth » 18 Dec 2012, 09:18

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.
Get well soon. Christmas in hospital doesn't sound enjoyable.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developer Plans

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

Postby 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
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Developer Plans

Postby friarsol » 17 Feb 2013, 14:48

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

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

Postby 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
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Developer Plans

Postby 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

Postby 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
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Developer Plans

Postby 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

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 31 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 31 users online :: 0 registered, 0 hidden and 31 guests (based on users active over the past 10 minutes)
Most users ever online was 9298 on 10 Oct 2025, 12:54

Users browsing this forum: No registered users and 31 guests

Login Form