Gui Improvement requests
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Gui Improvement requests
by GandoTheBard » 21 Feb 2009, 21:07
I figured maybe a separate thread for GUI Improvements was needed since no one seems interested in making changes to the UI. It should be relatively easy for anyone with simple Java/Windows API experience to handle these tasks.
-- Well one thing that makes deck building almost intolerable is the way the columns in the Deck Editor are the same size no matter the max size of the field and no matter whether anything past the first couple characters is even needed. Rarities doesn't even show up so why is it even in there? I request more space for Names and more space for types so that one does not have to click on an individual card name to see the details at a glance.
-- Another thing that would help alot is if you could select multiple columns for sorting in a sidebar so that you could sort by Color/Cost then Name for example or Color/Stats/Cost. As it is now any time you touch the top of the columns it takes 1.5minutes to resort which seems like a huge time amount for a relatively small db. Imagine if the card list was the whole thing. It would take 10minutes at least.
-- Well one thing that makes deck building almost intolerable is the way the columns in the Deck Editor are the same size no matter the max size of the field and no matter whether anything past the first couple characters is even needed. Rarities doesn't even show up so why is it even in there? I request more space for Names and more space for types so that one does not have to click on an individual card name to see the details at a glance.
-- Another thing that would help alot is if you could select multiple columns for sorting in a sidebar so that you could sort by Color/Cost then Name for example or Color/Stats/Cost. As it is now any time you touch the top of the columns it takes 1.5minutes to resort which seems like a huge time amount for a relatively small db. Imagine if the card list was the whole thing. It would take 10minutes at least.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by Chris H. » 21 Feb 2009, 22:35
On my old 4+ year old computer I noticed the same thing, I had to be patient.any time you touch the top of the columns it takes 1.5 minutes to resort which seems like a huge time amount for a relatively small db. Imagine if the card list was the whole thing. It would take 10 minutes at least.

On my new computer, everything in the deck editor is so much faster.
I do wonder why on my Mac the lines that divide the cells are invisible. I have gotten used to it.
The font below the All Cards list appears to be too large. I see:
Total - 1283, Creatures - 964, white - 225, blue - 165, black - 208, re...
On the New Game window the big button at the bottom states:
Start Ga...
There is several areas where It might be nice if we had a control to increase or decrease the size of all the fonts that are used.
-
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: Gui Improvement requests
by Chris H. » 22 Feb 2009, 23:31
I was trying to adjust my artifact deck for AI use and thought that adding the Sensei's Divining Top may be a good idea. The computer fails to make use the Sensei's Divining Top abilities. I searched CardFactory.java and found:GandoTheBard wrote:Rarities doesn't even show up so why is it even in there? I request more space for Names and more space for types so that one does not have to click on an individual card name to see the details at a glance.
- Code: Select all
}
public boolean canPlayAI()
{
return false;
}
-
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: Gui Improvement requests
by DennisBergkamp » 23 Feb 2009, 01:25
Hmm, I'm not sure either. It can probably be done, however I've looked at the code and I think the rarity column is used for when drafting / building a sealed deck. So for now, I just grabbed the rarities (even in constructed deckbuilding) and displayed them. I did resize a lot of the columns though. I made the Qty column really small, same with the Stats column. The Name and Type column especially are a lot bigger now, I'm thinking of maybe making the entire Table larger, if possible. So far, it looks like this:It may be a good idea for the Deck Editor - All Cards - Rarity column to display weather or not the AI can use each card. I have no ide how much coding would be required. It would make creating AI/Quests decks less time consuming as we try to find cards that will work.
-
DennisBergkamp - AI Programmer
- Posts: 2602
- Joined: 09 Sep 2008, 15:46
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by Chris H. » 23 Feb 2009, 02:06
Could we narrow the rarity column and just display the first letter, C or U or R ?Hmm, I'm not sure either. It can probably be done, however I've looked at the code and I think the rarity column is used for when drafting / building a sealed deck. So for now, I just grabbed the rarities (even in constructed deckbuilding) and displayed them. I did resize a lot of the columns though. I made the Qty column really small, same with the Stats column. The Name and Type column especially are a lot bigger now, I'm thinking of maybe making the entire Table larger, if possible. So far, it looks like this:
If the area can be enlarged and another column added to the right hand side ... to display weather or not the AI can use each card.

-
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: Gui Improvement requests
by DennisBergkamp » 23 Feb 2009, 03:54
This is very tricky, let me explain:
Cards have (Spell)Abilities, which have canPlayAI() methods. For instance, Ajani Goldmane has 4 of them: the first one is the card itself ("Summon Planeswalker", if you will), the second is the lifegain, third is the +1/+1 counter + vigilance until EOT, fourth is the */* Avatar creature.
Sometimes, these methods are set to just "return true" or "return false". In this case, it's easy... but in a lot of cases, these canPlayAI() methods have extra checks, which cause either a false/true to get returned. At the time you check out the cards with the deckbuilder, these conditions could either be true or false...
Anyway, I can easily check for these in the deck editor view, in fact, I already kind of did as a test (check screenshot). But, as you can see on Diabolic Machine, it returns "YN", "Yes" to the AI being able to cast Diabolic Machine, and "No" to the AI being able to regenerate it. Now, the AI can definitely use the regenerate ability, however, it appears current conditions cause the canPlayAI() method to return false.
Hope that makes sense... I guess I could still add this change, or I could change all the "N"s to "?"s, since the "Y"s will be the only ones that are for certain.
Cards have (Spell)Abilities, which have canPlayAI() methods. For instance, Ajani Goldmane has 4 of them: the first one is the card itself ("Summon Planeswalker", if you will), the second is the lifegain, third is the +1/+1 counter + vigilance until EOT, fourth is the */* Avatar creature.
Sometimes, these methods are set to just "return true" or "return false". In this case, it's easy... but in a lot of cases, these canPlayAI() methods have extra checks, which cause either a false/true to get returned. At the time you check out the cards with the deckbuilder, these conditions could either be true or false...
Anyway, I can easily check for these in the deck editor view, in fact, I already kind of did as a test (check screenshot). But, as you can see on Diabolic Machine, it returns "YN", "Yes" to the AI being able to cast Diabolic Machine, and "No" to the AI being able to regenerate it. Now, the AI can definitely use the regenerate ability, however, it appears current conditions cause the canPlayAI() method to return false.
Hope that makes sense... I guess I could still add this change, or I could change all the "N"s to "?"s, since the "Y"s will be the only ones that are for certain.
-
DennisBergkamp - AI Programmer
- Posts: 2602
- Joined: 09 Sep 2008, 15:46
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by Chris H. » 23 Feb 2009, 12:06
This sounds like a good idea. Anyone building an AI deck can limit themselves to the cards with "Y". They can look at the source code and/or play a test deck if they want to include a card with "?".DennisBergkamp wrote:This is very tricky, let me explain:
...
I guess I could still add this change, or I could change all the "N"s to "?"s, since the "Y"s will be the only ones that are for certain.
-
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: Gui Improvement requests
by GandoTheBard » 23 Feb 2009, 12:56
Interesting approach but what you really want is a listing of those cards WE KNOW the AI wont use properly. Not the ones it can or can't use. If it can't use it properly then there is really no good sense in including it in an AI deck. With this in mind it is not a matter of making it programmatically say yes or no based on states but TELLING it to say yes or no based on each individual card as we know how each one works (or doesn't) this IS a lot more tricky than the idea you had but it is the only worthwhile one I think if you include this sort of thing in the client. Personally I think it would be just simpler to compile a list here on the forums and let deck builders check that list for currently valid AI cards.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by DennisBergkamp » 23 Feb 2009, 16:54
I agree completely, even though certain cards will have a canPlayAI() method that returns true (or will return true under certain circumstances), a lot of these cards will still be used improperly by the computer. We should really compile some kind of list.
Besides, I'm getting null pointer exceptions with the AI column for certain cards in this list
So this is probably not something I should release. However, Chris, maybe I can send you a separate version with this AI column in there if you think it would be helpful 
Besides, I'm getting null pointer exceptions with the AI column for certain cards in this list


-
DennisBergkamp - AI Programmer
- Posts: 2602
- Joined: 09 Sep 2008, 15:46
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by Chris H. » 23 Feb 2009, 17:21
Thank you for trying. You can send me the separate version and I'll take a look at it. I don't want to put you through any additional trouble, we all are doing our best.DennisBergkamp wrote:I agree completely, even though certain cards will have a canPlayAI() method that returns true (or will return true under certain circumstances), a lot of these cards will still be used improperly by the computer. We should really compile some kind of list.
Besides, I'm getting null pointer exceptions with the AI column for certain cards in this listSo this is probably not something I should release. However, Chris, maybe I can send you a separate version with this AI column in there if you think it would be helpful
Worst case scenario, the AI/Quest decks that Rares selects will have several cards which do not work as expected. The human player will have a limited pool of cards to pick from and may be hard pressed to construct a deck that can compete. We may find that we have to tone down the AI decks to keep from frustrating us mere mortals.
-
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: Gui Improvement requests
by GandoTheBard » 23 Feb 2009, 18:15
Roflmao...who here is immortal? I think we can manage error free decks with some effort. And your point is good about dififculty levels...first we need to determine which decks really ARE hard to play against ...maybe the testers need to have a rating party. (After we get enough decks together that is)Chris H. wrote:Thank you for trying. You can send me the separate version and I'll take a look at it. I don't want to put you through any additional trouble, we all are doing our best.DennisBergkamp wrote:I agree completely, even though certain cards will have a canPlayAI() method that returns true (or will return true under certain circumstances), a lot of these cards will still be used improperly by the computer. We should really compile some kind of list.
Besides, I'm getting null pointer exceptions with the AI column for certain cards in this listSo this is probably not something I should release. However, Chris, maybe I can send you a separate version with this AI column in there if you think it would be helpful
Worst case scenario, the AI/Quest decks that Rares selects will have several cards which do not work as expected. The human player will have a limited pool of cards to pick from and may be hard pressed to construct a deck that can compete. We may find that we have to tone down the AI decks to keep from frustrating us mere mortals.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by DennisBergkamp » 24 Feb 2009, 06:41
It's no problem at all, I'll send you one tomorrow (today, actually, it's past midnight hereThank you for trying. You can send me the separate version and I'll take a look at it. I don't want to put you through any additional trouble, we all are doing our best.

-
DennisBergkamp - AI Programmer
- Posts: 2602
- Joined: 09 Sep 2008, 15:46
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by mtgrares » 24 Feb 2009, 19:56
If you can believe it, I actually tuned that code to be much faster than it originally was. Part of the problem why the deck editor is so slow is that it makes too many copies, such as requesting the same card to be created over and over again.As it is now any time you touch the top of the columns it takes 1.5minutes to resort which seems like a huge time amount for a relatively small db.
I think there is some JTable method that checks to see if all column should be the same size, so it could be set to false.Well one thing that makes deck building almost intolerable is the way the columns in the Deck Editor are the same size no matter the max size of the field
This is probably the easiest thing to do.Another thing that would help alot is if you could select multiple columns for sorting in a sidebar so that you could sort by Color/Cost then Name for example or Color/Stats/Cost.
And why does the rarity column show up for constructed decks, well you probably already know the answer, because it was easier to program. I didn't have to change how the deck editor showed things between sealed and constructed decks.
- mtgrares
- DEVELOPER
- Posts: 1352
- Joined: 08 Sep 2008, 22:10
- Has thanked: 3 times
- Been thanked: 12 times
Re: Gui Improvement requests
by GandoTheBard » 25 Feb 2009, 04:07
Rares please don't take my critiques to heart. They are not a shot at your programming accumen. You did wonders as a one man show for a long time before others started helping. All your work is very much appreciated. My comments here are meant to improve things now that we have more people working on them.mtgrares wrote:If you can believe it, I actually tuned that code to be much faster than it originally was. Part of the problem why the deck editor is so slow is that it makes too many copies, such as requesting the same card to be created over and over again.As it is now any time you touch the top of the columns it takes 1.5minutes to resort which seems like a huge time amount for a relatively small db.I think there is some JTable method that checks to see if all column should be the same size, so it could be set to false.Well one thing that makes deck building almost intolerable is the way the columns in the Deck Editor are the same size no matter the max size of the fieldThis is probably the easiest thing to do.Another thing that would help alot is if you could select multiple columns for sorting in a sidebar so that you could sort by Color/Cost then Name for example or Color/Stats/Cost.
And why does the rarity column show up for constructed decks, well you probably already know the answer, because it was easier to program. I didn't have to change how the deck editor showed things between sealed and constructed decks.
visit my personal homepage here: http://outofthebrokensky.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
Listen to my podcast with famed AJ_Impy "Freed from the Real" on http://puremtgo.com
-
GandoTheBard - Tester
- Posts: 1043
- Joined: 06 Sep 2008, 18:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Gui Improvement requests
by mtgrares » 27 Feb 2009, 19:48
I understand, I don't have any hurt feelings. I'm actually my own worst critic and I can find a million things wrong with MTG Forge, lol. I'm still glad that people can have fun with my program, I almost never released it onto the Internet.
- mtgrares
- DEVELOPER
- Posts: 1352
- Joined: 08 Sep 2008, 22:10
- Has thanked: 3 times
- Been thanked: 12 times
32 posts
• Page 1 of 3 • 1, 2, 3
Who is online
Users browsing this forum: No registered users and 36 guests