It is currently 29 Aug 2025, 15:43
   
Text Size

Forge Android App: 11-13-2016 Alpha 1.5.58.002

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

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.002

Postby drdev » 22 Aug 2014, 05:26

kestell wrote:Description: [Ravnica draft, AI played graven dominator. This happened twice already ]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.25.001
Operating System: Linux 3.4.5-1083225 armv7l
Java Version:     0 The Android Project

java.lang.NullPointerException
   at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
   at com.google.common.collect.Lists.newArrayList(Lists.java:127)
   at forge.game.KeywordsChange.<init>(KeywordsChange.java:54)
   at forge.game.card.Card.addChangedCardKeywords(Card.java:4478)
   at forge.game.ability.effects.AnimateEffectBase.doAnimate(AnimateEffectBase.java:102)
   at forge.game.ability.effects.AnimateAllEffect.resolve(AnimateAllEffect.java:140)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:302)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:317)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:402)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:576)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1062)
   at forge.game.GameAction.startGame(GameAction.java:1558)
   at forge.game.Match.startGame(Match.java:81)
   at forge.screens.match.FControl$2.run(FControl.java:189)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
   at java.lang.Thread.run(Thread.java:856)
kestell wrote:the search is still not as it was. It does search the text field now as well, but it doesn't search for 2 terms.

equip 0 should find lightning greaves but it doesn't.
kestell wrote:Bug: Pressing "end turn" while having creatures that must attack results in them not attacking.
I just released 1.5.25.002, which should fix these issues. It also makes End Turn smart enough to cancel the auto-yield if a new spell/ability is put on the stack by an opponent after you press End Turn without having to be quick enough to press Cancel in time if you want to respond.

friarsol wrote:
drdev wrote:EDIT: Wait, you're not able to turn it off by clicking it to uncheck? I think you must be on an older version, as I'm pretty sure I fixed that particular bug.
I'm on 25.001, I upgraded just yesterday or could have been on Monday. I'll try it again when I have time and see, but I'm absolutely sure the one apparent way to get this to work for me was to switch to Auto Accept, and then back to Auto Decline. Maybe it was fixed after the most recent release?
Turns out I had fixed it, but it was after I released 1.5.25.001. So the fix should now be available with 1.5.25.002.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.003

Postby drdev » 23 Aug 2014, 04:05

kestell wrote:Having said that, Reenen has a good point, not everybody has unlimited data, and an open ended downloading resource files could be daunting to some people - so just a heads up on the first run - "this is a 20 MB download, do you wish to continue?" prompt can't hurt.

Or how many MB it is.
I just released 1.5.25.003, which adds a prompt before downloading resource files, giving you the option to Download, Ignore, or Exit. It also informs you of the approximate download size, as well as whether or not you are currently on wifi.

DownloadPrompt.png

Note that if you are running Forge for the very first time and haven't previously downloaded these files, you won't get the option to ignore. And if you don't have any internet connection, you'll be informed as much, with the app auto-exiting afterward if you haven't previously downloaded the files.

Also note that these prompts look a bit different than other prompts because I need to show them without access to the resource files that contain the actual skin colors and the icons for the buttons.

Let me know if you have any questions or concerns regarding these new prompts.

Thanks.
-Dan
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.003

Postby bevryde » 23 Aug 2014, 06:49

It's a good change. But it killed my Forge.

1. Updated from .002 to 003
2. Downloaded ressource files.
3. Forge got stuck in "deleting old ressource files".
4. I waited like 10 minutes, then restarted Forge
5. Now it's stuck in "Checking for updates..."

Sony XPeria Z1 here.
User avatar
bevryde
 
Posts: 109
Joined: 06 Aug 2014, 04:01
Has thanked: 3 times
Been thanked: 2 times

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.003

Postby drdev » 23 Aug 2014, 13:02

Odd. Can you try uninstalling and reinstalling the app?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.003

Postby bevryde » 23 Aug 2014, 16:25

I downgraded to .002 and then again updated to .003, then it worked. Maybe it was a problem on my end.

So it always say "checking for updates" - i.e., it has auto update of Forge now?
User avatar
bevryde
 
Posts: 109
Joined: 06 Aug 2014, 04:01
Has thanked: 3 times
Been thanked: 2 times

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.003

Postby drdev » 23 Aug 2014, 16:56

bevryde wrote:I downgraded to .002 and then again updated to .003, then it worked. Maybe it was a problem on my end.

So it always say "checking for updates" - i.e., it has auto update of Forge now?
Not in .003, but I'm just about ready to release that support. It won't auto-update though. It will just prompt you to update if there's an update available, with the option to update later.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 08-22-2014 Alpha 1.5.25.003

Postby Scion of Darkness » 23 Aug 2014, 22:03

For the swipe to change cards it could be optional if swipe on, zoom on field off and swipe to change view would stay only available via buttons, for swipe cards off default behaviour

Thanks
User avatar
Scion of Darkness
 
Posts: 235
Joined: 27 Aug 2012, 13:14
Has thanked: 17 times
Been thanked: 23 times

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby drdev » 24 Aug 2014, 19:26

I just released 1.5.25.004, which finally fixes the issue where the app would stick around even after exiting it.

More importantly, it introduces a check for updates on startup. From now on, every time your run the app, if you're connected to the internet, it will check if there's a new version of the app available. If so, you'll be prompted as shown below (with an additional blurb if you aren't on wifi). You can choose to update later, but if you choose to update now, it will automatically download the latest installer and open the Android screen to install it.

NewVersionAvailable.png

Obviously nobody will be able to test this new update check until I release another new version, but please let me know at that point if you encounter any problems with it. Hopefully this will make it easier for people to stay on the latest and greatest version of this app.

Thanks.
-Dan
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby Agetian » 25 Aug 2014, 06:50

I have a little suggestion as to how the "auto-yields" functionality can be improved: I think in a two-player game (which is the only type of game the Android build supports yet, and also the most commonly played type of MTG in the desktop version), it'd be nice to be able to auto-yield to the "Choose target opponent" thing, since there's only one choice. It's somewhat annoying to always have to click on the opponent's face, especially if you have a recurring ability that has "choose an opponent" as a part of it. Otherwise, by the way, the auto yields are absolutely fantastic! :)

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

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby friarsol » 25 Aug 2014, 12:12

Agetian wrote:I have a little suggestion as to how the "auto-yields" functionality can be improved: I think in a two-player game (which is the only type of game the Android build supports yet, and also the most commonly played type of MTG in the desktop version), it'd be nice to be able to auto-yield to the "Choose target opponent" thing, since there's only one choice. It's somewhat annoying to always have to click on the opponent's face, especially if you have a recurring ability that has "choose an opponent" as a part of it. Otherwise, by the way, the auto yields are absolutely fantastic! :)

- Agetian
I see what you are saying, but that's not the same functionality as auto yield. "Auto yield" means if this spell is on the stack, automatically pass priority to it. What you are saying is "If I need to target an opponent and there is only one valid option, choose that target" so really what you want is "auto targeting" a new functionality altogether.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby Agetian » 25 Aug 2014, 13:29

@ Friarsol: Yes, true, I just kind of thought it'd be along the same lines (something like "Always This Opponent", much like answering "Always Yes" or "Always No" when deciding to yield to the abilities with yes/no questions). I agree it's better to call it auto-targeting though, yes.

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

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby drdev » 25 Aug 2014, 14:03

Rather than make it something you have to manually select from a menu while the ability is on the stack, what if I just made it so, if there is only one valid target for a spell or ability, it just auto-chooses that target for you? That would work well with all target opponent cards, plus would work nice with cards that target creatures when only one creature is in play. The targeting arrows would still make it clear what got targeted while the spell or ability is on the stack.

How does that sound?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby friarsol » 25 Aug 2014, 14:08

The main reason I bring it up is because the location that it would need to happen. Depending on which spells you are referring to an "autotarget" happens either: during the announcement of the SA/as the trigger occurs (TargetSelection) or as the SA effect resolves if it's a "Choose an opponent" spell. Where the work for auto-yielding happens in the PhaseHandler. "I'm about to gain priority, oh but the top of the stack says I yield to this SA. So pass priority instead of providing it to the UI."

what if I just made it so, if there is only one valid target for a spell or ability, it just auto-chooses that target for you?
I'm trying to think if there's any SAs that exist that this would be bad for. What about the case of tapping a Blood Cultist and expecting to target an opponent's creature, but then you realize it has Hexproof and the Cultist targets itself? The tap ability won't prompt you, and the target will choose immediately...

Edit: Of course this doesn't matter for triggers, only activated abilities and spells. If a trigger is going on the stack, and there's only one legal target there's no reason to not auto-select it. For SAs, we just need a way to streamline it so understanding isn't sacrificed for convenience.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby Agetian » 25 Aug 2014, 15:15

An interesting suggestion, Dan! I agree with Friarsol that it should be transparent to the end user as to what is auto-selected and why and that it shouldn't hinder usability in the sense that it may erroneously auto-select something when there's an actual option available to select something else. Targeting arrows are a nice idea (to show what exactly is selected). Overall a nice idea, if implemented right it'll effectively get rid of a good deal of additional "annoying" clicks and keyboard presses. :)

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

Re: Forge Android App: 08-24-2014 Alpha 1.5.25.004

Postby drdev » 25 Aug 2014, 17:16

How about if the check that determines whether to auto-target only takes into account the total number of GameEntitys (cards/players) that meet the targetting restrictions on the spell/ability but ignores effects that make the any of those potential targets an invalid target (such as Hexproof or protection).

That way, a target creature card would only auto-target if there is only one creature in play, but not auto-target if there are two creatures in play but one is untargettable. That way, it would be very transparent before playing the spell or activating the ability what's going to be targetted.

Also (or alternatively), since I'd be adding logic for determining valid targets, I could actually highlight the first valid target with a border (or the selection icon), then enable the OK button to select the highlighted target. For the desktop game, you could then use the left and right arrow keys to move the highlight box around, then press Enter, thus enabling you to pick targets using just the keyboard. For the mobile game, it would just allow pressing OK as another way to confirm that you want to target the first valid target. We can also update the prompt message to indicate what the highlighted target is.

Note that if we chose to not implement auto-targetting without input when only a single target exists, or if we made that a setting, this would still allow pressing OK to confirm that you want to target the first valid target, such as your opponent for a "target opponent" effect.

How's that sound?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

PreviousNext

Return to Forge

Who is online

Users browsing this forum: No registered users and 86 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 86 users online :: 0 registered, 0 hidden and 86 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 86 guests

Login Form