It is currently 19 May 2025, 18:11
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

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

Re: Bug Reports (snapshot builds)

Postby timmermac » 17 Oct 2014, 16:57

r27989: I might just be nitpicky here, but with this build, some creature types are sorting funny in the spell shop, and presumably, the deck editor. Ivy Lane Denizen is now sorting as a Warrior Elf instead of an Elf Warrior as it did in previous versions.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby drdev » 17 Oct 2014, 17:06

timmermac wrote:r27989: I might just be nitpicky here, but with this build, some creature types are sorting funny in the spell shop, and presumably, the deck editor. Ivy Lane Denizen is now sorting as a Warrior Elf instead of an Elf Warrior as it did in previous versions.
Sounds like I need to use a LinkedHashSet for subtypes instead of a simple HashSet. That should resolve things without removing the O(1) lookup for subtypes I intended.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 17 Oct 2014, 17:14

Marek14 wrote:r27987 - the ability granted by Singing Bell Strike can be activated, but doesn't show in the Card Detail panel.
I can confirm this using r27990. The same is true for Burning Anger and having a Possessed Aven with Threshold: Granted abilities won't show up.

Additionaly the border color of the text of the Possessed Aven was still blue even though the Possessed Aven was black (Tested by trying to target itself with the ability).
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby Marek14 » 17 Oct 2014, 17:29

r27987 - my library is fully visible (opponent's is not). I noticed this after using a fetchland.
Marek14
Tester
 
Posts: 2771
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 302 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 17 Oct 2014, 17:32

I think I may have noticed a funny way to learn about the exact position of practically all the cards in your (as well as opponent's) library (valid for r27990):

If you cast a spell that allows you to search your library, you can then look through the cards in your library (using the new card window) and meticulously write down the IDs of each and every card in your library, or at least the ones you care about the most. Then, provided that the IDs don't change during the course of the game (and I don't think that they do), you can just click on your library and take a look at all the IDs of cards (which are shown in the card detail box despite the fact that the cards are face down). I think the card IDs should be hidden for face down cards as well because they are too much of a potential spoiler.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby drdev » 17 Oct 2014, 18:08

Agetian wrote:I think I may have noticed a funny way to learn about the exact position of practically all the cards in your (as well as opponent's) library (valid for r27990):

If you cast a spell that allows you to search your library, you can then look through the cards in your library (using the new card window) and meticulously write down the IDs of each and every card in your library, or at least the ones you care about the most. Then, provided that the IDs don't change during the course of the game (and I don't think that they do), you can just click on your library and take a look at all the IDs of cards (which are shown in the card detail box despite the fact that the cards are face down). I think the card IDs should be hidden for face down cards as well because they are too much of a potential spoiler.

- Agetian
I agree about hidden cards, but not about face-down cards. The ID for face-down cards is important for targetting and for helping you remember which is which if the opponent turns one face up then later turns it back to face down.

I'll fix it so IDs are hidden for hidden cards when I get the chance later today.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby drdev » 17 Oct 2014, 18:11

Marek14 wrote:r27987 - my library is fully visible (opponent's is not). I noticed this after using a fetchland.
I assume you're referring to after you chose the card, not while searching, correct?

On that note, I've noticed that if your opponent reveals a card to you then puts it in their hand, that card will remain visible if you open up their hand for viewing afterward. Is this desirable behavior, or should you have to keep track in your head (or write it down) to remember the revealed card(s). To be clear, non-revealed cards in their hand won't be visible, only the ones that were previously revealed.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 17 Oct 2014, 18:34

drdev wrote:On that note, I've noticed that if your opponent reveals a card to you then puts it in their hand, that card will remain visible if you open up their hand for viewing afterward. Is this desirable behavior, or should you have to keep track in your head (or write it down) to remember the revealed card(s). To be clear, non-revealed cards in their hand won't be visible, only the ones that were previously revealed.
The cards in your opponents hand should be hidden regardless whether they were revealed or not. For example when he casts Brainstorm the information is lost.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby drdev » 17 Oct 2014, 18:58

Sloth wrote:
drdev wrote:On that note, I've noticed that if your opponent reveals a card to you then puts it in their hand, that card will remain visible if you open up their hand for viewing afterward. Is this desirable behavior, or should you have to keep track in your head (or write it down) to remember the revealed card(s). To be clear, non-revealed cards in their hand won't be visible, only the ones that were previously revealed.
The cards in your opponents hand should be hidden regardless whether they were revealed or not. For example when he casts Brainstorm the information is lost.
Ok, I'll fix that then.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Marek14 » 17 Oct 2014, 19:13

drdev wrote:
Agetian wrote:I think I may have noticed a funny way to learn about the exact position of practically all the cards in your (as well as opponent's) library (valid for r27990):

If you cast a spell that allows you to search your library, you can then look through the cards in your library (using the new card window) and meticulously write down the IDs of each and every card in your library, or at least the ones you care about the most. Then, provided that the IDs don't change during the course of the game (and I don't think that they do), you can just click on your library and take a look at all the IDs of cards (which are shown in the card detail box despite the fact that the cards are face down). I think the card IDs should be hidden for face down cards as well because they are too much of a potential spoiler.

- Agetian
I agree about hidden cards, but not about face-down cards. The ID for face-down cards is important for targetting and for helping you remember which is which if the opponent turns one face up then later turns it back to face down.

I'll fix it so IDs are hidden for hidden cards when I get the chance later today.
As for face-down cards, their true IDs should be also hidden (since otherwise you'll know which card it is even after it's, say, returned to hand or library and then re-cast). I'd suggest to maybe show their "names" (which are not real names, so they can display as whatever without impacting the game) as "Morph 1", "Morph 2", etc. With number of cards in a typical deck, there's probably no need to re-use numbers during the game, either, just increment it for every spell cast face-down, card entering the battlefield face-down (Ashcloud Phoenix) or permanent turned face-down.

As for cards that were once revealed, but are no longer: This is actually a relevant problem -- eventually, AI will want to keep track of cards it can see. And there's actually a difference between digital and physical game: in physical game, you can have, say, an Island in hand opponent knows about, then draw another Island with same picture, play an Island and nobody knows whether it was the known one or a different one, while in digital game, the ID will identify it (of course, smarter move in this case would be to play the known Island, as this gives out no additional information).

So I'd say that if a card moves from hand to library or face-down to exile, the information about hand content is lost (partial information remains, but that would probably be too hard to model).

But I'd suggest to keep that information visible as long as it exists. It doesn't matter that much for cards in hand, but it matters a lot for face-down creatures. Even the official rules suggest various ways to keep track of them so they wouldn't get confused and in the digital game where cards might suddenly resize and move around the screen, this is very important. Once a player sees a face-down creature, it should stay permanently visible for him (especially in the case of Ixidron).

Also, I'd like to mention one of my personal pet peeves. When AI uses first ability of Jace, the Mind Sculptor on me, all I learn is that it used the ability. But I won't get any information about what it DID -- whether it left the card on top of my library or put it on the bottom. Similarly when AI scries (and probably when it clashes). When AI manipulates with top cards of a library, the information of how many cards went where should be public even if detailed information about individual cards is not.
Marek14
Tester
 
Posts: 2771
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 302 times

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 17 Oct 2014, 19:53

drdev wrote:
ZappaZ wrote:r27984

More of the above behavior from the AI, here it cast 2 Selesnya Charm to banish my Splinterfright, one after the other, the second after the first already had exiled it.

http://imgur.com/rBgmcDL
I'm unable to reproduce either of the scenarios you provided. Could you maybe provide a game state file that's able to reproduce it?
Looked around a bit, is there a way to save a gamestate file?
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 17 Oct 2014, 20:01

r27991

AI have Kiora, the Crashing Wave out along with a 2/2 Token Soldier (From Selesnya Charm)
and I have 2x Nyx Weaver, Ghoultree, 2x Stinkweed Imp.

AI uses Kioras +1 ability to prevent all damage that would be dealt by my Ghoultree.

I attack with all my creatures.

AI still uses it's 2/2 Token Soldier to block my Ghoultree even though it will deal 0 damage.
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Marek14 » 17 Oct 2014, 20:09

r27989

I can't see top card of opponent's library when he has Vampire Nocturnus out.
Marek14
Tester
 
Posts: 2771
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 302 times

Re: Bug Reports (snapshot builds)

Postby drdev » 17 Oct 2014, 21:18

Marek14 wrote:As for face-down cards, their true IDs should be also hidden (since otherwise you'll know which card it is even after it's, say, returned to hand or library and then re-cast). I'd suggest to maybe show their "names" (which are not real names, so they can display as whatever without impacting the game) as "Morph 1", "Morph 2", etc. With number of cards in a typical deck, there's probably no need to re-use numbers during the game, either, just increment it for every spell cast face-down, card entering the battlefield face-down (Ashcloud Phoenix) or permanent turned face-down.

As for cards that were once revealed, but are no longer: This is actually a relevant problem -- eventually, AI will want to keep track of cards it can see. And there's actually a difference between digital and physical game: in physical game, you can have, say, an Island in hand opponent knows about, then draw another Island with same picture, play an Island and nobody knows whether it was the known one or a different one, while in digital game, the ID will identify it (of course, smarter move in this case would be to play the known Island, as this gives out no additional information).

So I'd say that if a card moves from hand to library or face-down to exile, the information about hand content is lost (partial information remains, but that would probably be too hard to model).

But I'd suggest to keep that information visible as long as it exists. It doesn't matter that much for cards in hand, but it matters a lot for face-down creatures. Even the official rules suggest various ways to keep track of them so they wouldn't get confused and in the digital game where cards might suddenly resize and move around the screen, this is very important. Once a player sees a face-down creature, it should stay permanently visible for him (especially in the case of Ixidron).

Also, I'd like to mention one of my personal pet peeves. When AI uses first ability of Jace, the Mind Sculptor on me, all I learn is that it used the ability. But I won't get any information about what it DID -- whether it left the card on top of my library or put it on the bottom. Similarly when AI scries (and probably when it clashes). When AI manipulates with top cards of a library, the information of how many cards went where should be public even if detailed information about individual cards is not.
Perhaps the real fix here is to throw out the old ID whenever a card changes zones (or at least when its visibility changes). That way it fixes issues besides just Morph and revealed cards.

For example, right now, if you return a creature to your opponent's hand and they cast a card with the same name and art later, you can tell from the ID whether it's the same creature you bounced or another copy of the same card they happened to draw. In paper Magic, you wouldn't be able to determine this.

Alternatively, we just stop showing IDs all together, and make the necessary UI adjustments to avoid the need, such as drawing arrows from items on the stack to their target(s), which I've already implemented for the Android app. This would probably be the ideal change to make it feel more like paper Magic, as having every card marked with an ID that's visible does take away from the experience a bit, plus I've never seen another card game application that shows IDs to the user the way Forge does.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby nefigah » 17 Oct 2014, 23:09

drdev wrote:Alternatively, we just stop showing IDs all together, and make the necessary UI adjustments to avoid the need, such as drawing arrows from items on the stack to their target(s), which I've already implemented for the Android app.
+1 for this approach!
nefigah
 
Posts: 42
Joined: 16 Mar 2014, 15:49
Has thanked: 10 times
Been thanked: 1 time

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 53 guests


Who is online

In total there are 53 users online :: 0 registered, 0 hidden and 53 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 53 guests

Login Form