Forge for Android v1.6.15.003
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Forge for Android v1.6.4.003
by martinisam » 16 Oct 2017, 23:11
When I choose the Net Deck option, it automatically re-downloads the old list of decks when there are new decks listed in the forum. Does this function no longer work?
- martinisam
- Posts: 30
- Joined: 20 May 2017, 14:50
- Has thanked: 4 times
- Been thanked: 7 times
Re: Forge for Android v1.6.4.003
by Agetian » 17 Oct 2017, 03:51
Ironically, this error has very little to do with Luminarch Ascension - almost nothing, save for the fact that it's a kind of card that can have and commonly has counters on it. This was caused by something else, and unfortunately, it's impossible to deduce from the error itself what exactly had caused it. Do you remember if the AI had any card on board that would allow him to remove a counter from a card, especially if it was as a part of an ability cost (something like "Remove a counter from a card: do something")? I tried to patch up the relevant method upstream, but I can't prove that it worked (and moreover, it may, in fact, indicate a bigger error under the hood which would also need fixing).CokedUpZombie wrote:Luminarch Ascension was played by the computer then on my turn I did not do any damage so Luminarch Ascension triggered and then I got the following error.
- IndexOutOfBoundsException | Open
- Code: Select all
Forge Version: 1.6.4.003
Operating System: Linux 4.4.16-11982677 armv8l
Java Version: 0 The Android Project
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.LinkedList.checkElementIndex(LinkedList.java:555)
at java.util.LinkedList.get(LinkedList.java:476)
at forge.util.collect.FCollection.get(FCollection.java:399)
at forge.game.cost.CostRemoveAnyCounter.payAsDecided(CostRemoveAnyCounter.java:138)
at forge.game.cost.CostPayment.payComputerCosts(CostPayment.java:194)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:118)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:70)
at forge.ai.PlayerControllerAi.playChosenSpellAbility(PlayerControllerAi.java:447)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:961)
at forge.game.GameAction.startGame(GameAction.java:1633)
at forge.game.Match.startGame(Match.java:87)
at forge.match.HostedMatch$2.run(HostedMatch.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
P.S. If you see this happen again, please take a screenshot of the battlefield if possible.
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Forge for Android v1.6.4.003
by Agetian » 17 Oct 2017, 03:53
These files are updated manually. I guess no one updated them for a while. If I find some time, I'll update them a bit later.martinisam wrote:When I choose the Net Deck option, it automatically re-downloads the old list of decks when there are new decks listed in the forum. Does this function no longer work?
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Forge for Android v1.6.4.003
by CokedUpZombie » 17 Oct 2017, 05:52
Alright thanks I will keep an eye out for it. Thanks for checking on it. I don't remember what else was out though sorry.Agetian wrote:Ironically, this error has very little to do with Luminarch Ascension - almost nothing, save for the fact that it's a kind of card that can have and commonly has counters on it. This was caused by something else, and unfortunately, it's impossible to deduce from the error itself what exactly had caused it. Do you remember if the AI had any card on board that would allow him to remove a counter from a card, especially if it was as a part of an ability cost (something like "Remove a counter from a card: do something")? I tried to patch up the relevant method upstream, but I can't prove that it worked (and moreover, it may, in fact, indicate a bigger error under the hood which would also need fixing).CokedUpZombie wrote:Luminarch Ascension was played by the computer then on my turn I did not do any damage so Luminarch Ascension triggered and then I got the following error.
- IndexOutOfBoundsException | Open
- Code: Select all
Forge Version: 1.6.4.003
Operating System: Linux 4.4.16-11982677 armv8l
Java Version: 0 The Android Project
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.LinkedList.checkElementIndex(LinkedList.java:555)
at java.util.LinkedList.get(LinkedList.java:476)
at forge.util.collect.FCollection.get(FCollection.java:399)
at forge.game.cost.CostRemoveAnyCounter.payAsDecided(CostRemoveAnyCounter.java:138)
at forge.game.cost.CostPayment.payComputerCosts(CostPayment.java:194)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:118)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:70)
at forge.ai.PlayerControllerAi.playChosenSpellAbility(PlayerControllerAi.java:447)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:961)
at forge.game.GameAction.startGame(GameAction.java:1633)
at forge.game.Match.startGame(Match.java:87)
at forge.match.HostedMatch$2.run(HostedMatch.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
P.S. If you see this happen again, please take a screenshot of the battlefield if possible.
- Agetian
- CokedUpZombie
- Posts: 90
- Joined: 08 Feb 2017, 18:57
- Has thanked: 14 times
- Been thanked: 22 times
Re: Forge for Android v1.6.4.003
by jtrowell » 17 Oct 2017, 13:03
For reference a few bugs that I got on the Android version.
(I have not tried the desktop version recently so I don't know if those are specific to the Android version or not)
- using song of the Dryads on Humility did transform it into a Forest, but the effect of Humility didn't stop, all creatures even new ones summoned later were still 1/1 without ability.
I suppose that "Imprisonned in the moon" would probably have the same bug
- Champion of of lambholt ability does not work as expected, only the +1/+1 counters seems to be counted (increases in power from Gaea Anthem or from an equipment didn't increase the atttack value needed to block your creatures)
- Also even on high end phones and tablets, there are some cards whose simple presence in play slow down the game considerably in ways that don't seem normal.
Most of them have an effect only when in play, and are usually cards that allow exceptions to the normal casting
(I suppose that they add special triggers for the AI or something similar that are checked so many times per turn that they saturate the memory and/or CPU ?)
Some exemples of cards with this problem :
- Sigarda'aid
- As foretold
- Conqueror's flail
But some cards seems to have an impact even in play (maybe because they are in the hand of my opponent), quest opponents using bridge from bellow and some other cards impactif the graveyard are very slow to play against.
What is strange is that this is not universal, there are many cards that seems like they should have a similar impact (like all creatures with flash, or effect giving flash to certain kind of spells), and I find strange that a card like Conqueror's flail that *prevent* casting, and so should reduce options for the AI, can have such impact, so it's possible that there is a bug there, especially when I don't remember similar problems back when I used to play on the descktop version.
- While writing about performances, there is also one thing that I constated on the android version : each time that I lose a game (but not when I win), before the game ends I see my deck being emptied of cards automatically.
This is usually rather fast, but I sometimes like to play with huge decks with several hunderd cards (with a few decks even going up to 1500 cards), and for those decks the time it takes to process the wholl deck can takes a while (up to 10-20 seconds for the bigger decks, it's probably something like 1s per 50~100 cards on average)
I wonder why the game has to process my deck like that when the game is finished, and evenr more strange why it does so only when I lose ?
Thanks in advance.
(I have not tried the desktop version recently so I don't know if those are specific to the Android version or not)
- using song of the Dryads on Humility did transform it into a Forest, but the effect of Humility didn't stop, all creatures even new ones summoned later were still 1/1 without ability.
I suppose that "Imprisonned in the moon" would probably have the same bug
- Champion of of lambholt ability does not work as expected, only the +1/+1 counters seems to be counted (increases in power from Gaea Anthem or from an equipment didn't increase the atttack value needed to block your creatures)
- Also even on high end phones and tablets, there are some cards whose simple presence in play slow down the game considerably in ways that don't seem normal.
Most of them have an effect only when in play, and are usually cards that allow exceptions to the normal casting
(I suppose that they add special triggers for the AI or something similar that are checked so many times per turn that they saturate the memory and/or CPU ?)
Some exemples of cards with this problem :
- Sigarda'aid
- As foretold
- Conqueror's flail
But some cards seems to have an impact even in play (maybe because they are in the hand of my opponent), quest opponents using bridge from bellow and some other cards impactif the graveyard are very slow to play against.
What is strange is that this is not universal, there are many cards that seems like they should have a similar impact (like all creatures with flash, or effect giving flash to certain kind of spells), and I find strange that a card like Conqueror's flail that *prevent* casting, and so should reduce options for the AI, can have such impact, so it's possible that there is a bug there, especially when I don't remember similar problems back when I used to play on the descktop version.
- While writing about performances, there is also one thing that I constated on the android version : each time that I lose a game (but not when I win), before the game ends I see my deck being emptied of cards automatically.
This is usually rather fast, but I sometimes like to play with huge decks with several hunderd cards (with a few decks even going up to 1500 cards), and for those decks the time it takes to process the wholl deck can takes a while (up to 10-20 seconds for the bigger decks, it's probably something like 1s per 50~100 cards on average)
I wonder why the game has to process my deck like that when the game is finished, and evenr more strange why it does so only when I lose ?
Thanks in advance.
Re: Forge for Android v1.6.4.003
by lazylockie » 18 Oct 2017, 13:29
something happened with this 003 version? It seems the game is very unstable now, maybe memory leak? I can barely play 1 game and everything starts to go sluggish and crashes due to memory usage. My phone is Android 7 and has 3gb ram
- lazylockie
- Posts: 508
- Joined: 13 Jul 2010, 22:44
- Has thanked: 74 times
- Been thanked: 15 times
Re: Forge for Android v1.6.4.003
by Agetian » 18 Oct 2017, 13:53
That's weird to hear, I'm not noticing anything like that on any of my Android devices, though they are not nearly as high end as you mentioned (the best one I have is an Android 6.1 device with 2 GB RAM, and I'm able to play multiple matches without any noticeable slowdown, let alone memory-related crashes).lazylockie wrote:something happened with this 003 version? It seems the game is very unstable now, maybe memory leak? I can barely play 1 game and everything starts to go sluggish and crashes due to memory usage. My phone is Android 7 and has 3gb ram
Maybe this is specific to the deck/cards you're playing with? Or is this true for any mode that you're playing and any deck you're trying?
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Forge for Android v1.6.4.003
by lazylockie » 18 Oct 2017, 18:04
I play almost exclusively Quest mode, though I'll try some Planar Conquest or Gauntlet mode to see if it's the game mode. Though I do push the bar a bit with all HQ cards, I never had problems this severe.Agetian wrote:That's weird to hear, I'm not noticing anything like that on any of my Android devices, though they are not nearly as high end as you mentioned (the best one I have is an Android 6.1 device with 2 GB RAM, and I'm able to play multiple matches without any noticeable slowdown, let alone memory-related crashes).lazylockie wrote:something happened with this 003 version? It seems the game is very unstable now, maybe memory leak? I can barely play 1 game and everything starts to go sluggish and crashes due to memory usage. My phone is Android 7 and has 3gb ram
Maybe this is specific to the deck/cards you're playing with? Or is this true for any mode that you're playing and any deck you're trying?
- Agetian
I'll also try to downgrade to 001 which was working fine
Do you use LQ pics on your device?
- lazylockie
- Posts: 508
- Joined: 13 Jul 2010, 22:44
- Has thanked: 74 times
- Been thanked: 15 times
Re: Forge for Android v1.6.4.003
by Agetian » 19 Oct 2017, 03:38
Nope, I'm actually using XLHQ cards (a custom set with batch-trimmed borders) on my Android 6.1 phone. :/ I mean, yes, there are things that can slow down Forge for Android:
- Higher picture quality/size will be more RAM-demanding (XLHQs are slower than HQs, and HQs are slower than LQs, while LQs are slower than no picture at all). However, there should be no relative difference with the same picture quality between 1.6.4.001 and 1.6.4.003 per se (see below though for other possible factors).
- Some cards and card groups are known to slow down the AI, which becomes noticeable (and sometimes very noticeable, with some cards like that) on mobile devices but usually not a problem on PCs (see above for a post outlining some examples); this is most likely due to a combination of factors, such as how the AI is written and how the processing of particular cards is written, unfortunately, this is not as straightforward to fix. :/ I mean, we would need someone really good at optimizing the code. And ironically, the more advanced the AI becomes and, thus, the more calculations it has to do per iteration, the slower the game will eventually get, unless we get a brand new AI architecture of some sort that would be faster than the current one (sadly, I think things like MCTS and Minimax would be even slower on the phones, though maybe I'm wrong). There have been some advances in the AI code between 1.6.4.001 and 1.6.4.003, but nothing major I think, most of it dealing with simple AI logics specific to individual cards or marking cards as AI-playable, which in itself does not change the AI code and thus does not affect performance.
- There is a (very) long-standing issue with clearing the image cache, which produces a memory leak and causes the game to become progressively slower as you play many matches without restarting the game. No one has been able to locate and fix this issue for what seems to be years. It's not something new to 1.6.4.003 at all (or even 1.6.4 in general), this problem existed for many years, potentially at least since the UI rewrite around 2012-2013 or so, even before Forge for Android was invented (so, *all* Forge for Android versions are likely susceptible to it). On modern PCs, this is generally not noticeable, but on mobile PCs you will notice progressive degradation of performance (and the higher the picture quality you have and the less RAM you have, the faster you'll notice it), and eventually the game will start acting weird (most commonly showing black boxes instead of card pictures) and, if you continue playing, will crash with an out of memory error. However, this is generally something you don't immediately notice, at least not on a high-end device with reasonably sane picture quality... And sadly, no one seems to know how to fix this since it was first noticed (and this was a long time ago), so yep, definitely still an issue.
It could be any of the factors above or any combination of the factors above that's bothering you. It may or may not have become somewhat more noticeable in the latter builds because, yes, the AI is improving (which, sadly, means more calculations and more memory usage too), and the card cache clearing is not getting any better. I'm still surprised, though, that you're naming a particular sub-build (1.6.4.003) as the culprit. Please let me know if 1.6.4.001 works better for you. And also, if possible, please provide your quest save where you are experiencing the slowdowns, and maybe I'll find some time to profile the project and see what exactly takes the most CPU cycles and/or RAM.
- Agetian
- Higher picture quality/size will be more RAM-demanding (XLHQs are slower than HQs, and HQs are slower than LQs, while LQs are slower than no picture at all). However, there should be no relative difference with the same picture quality between 1.6.4.001 and 1.6.4.003 per se (see below though for other possible factors).
- Some cards and card groups are known to slow down the AI, which becomes noticeable (and sometimes very noticeable, with some cards like that) on mobile devices but usually not a problem on PCs (see above for a post outlining some examples); this is most likely due to a combination of factors, such as how the AI is written and how the processing of particular cards is written, unfortunately, this is not as straightforward to fix. :/ I mean, we would need someone really good at optimizing the code. And ironically, the more advanced the AI becomes and, thus, the more calculations it has to do per iteration, the slower the game will eventually get, unless we get a brand new AI architecture of some sort that would be faster than the current one (sadly, I think things like MCTS and Minimax would be even slower on the phones, though maybe I'm wrong). There have been some advances in the AI code between 1.6.4.001 and 1.6.4.003, but nothing major I think, most of it dealing with simple AI logics specific to individual cards or marking cards as AI-playable, which in itself does not change the AI code and thus does not affect performance.
- There is a (very) long-standing issue with clearing the image cache, which produces a memory leak and causes the game to become progressively slower as you play many matches without restarting the game. No one has been able to locate and fix this issue for what seems to be years. It's not something new to 1.6.4.003 at all (or even 1.6.4 in general), this problem existed for many years, potentially at least since the UI rewrite around 2012-2013 or so, even before Forge for Android was invented (so, *all* Forge for Android versions are likely susceptible to it). On modern PCs, this is generally not noticeable, but on mobile PCs you will notice progressive degradation of performance (and the higher the picture quality you have and the less RAM you have, the faster you'll notice it), and eventually the game will start acting weird (most commonly showing black boxes instead of card pictures) and, if you continue playing, will crash with an out of memory error. However, this is generally something you don't immediately notice, at least not on a high-end device with reasonably sane picture quality... And sadly, no one seems to know how to fix this since it was first noticed (and this was a long time ago), so yep, definitely still an issue.
It could be any of the factors above or any combination of the factors above that's bothering you. It may or may not have become somewhat more noticeable in the latter builds because, yes, the AI is improving (which, sadly, means more calculations and more memory usage too), and the card cache clearing is not getting any better. I'm still surprised, though, that you're naming a particular sub-build (1.6.4.003) as the culprit. Please let me know if 1.6.4.001 works better for you. And also, if possible, please provide your quest save where you are experiencing the slowdowns, and maybe I'll find some time to profile the project and see what exactly takes the most CPU cycles and/or RAM.
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Forge for Android v1.6.4.003
by lazylockie » 19 Oct 2017, 16:07
thanks for the info Agetian. I tested with 001 and you're right, there's no performance difference between 001 and 003, maybe I just noticed now because I'm playing more on mobile.
according to what you said, there's not much I can do, just need to get used to restart the game every 2 or 3 matches
according to what you said, there's not much I can do, just need to get used to restart the game every 2 or 3 matches
- lazylockie
- Posts: 508
- Joined: 13 Jul 2010, 22:44
- Has thanked: 74 times
- Been thanked: 15 times
Re: Forge for Android v1.6.4.003
by DaniUG » 19 Oct 2017, 23:41
Description: commander game with at least 80 tokens.
- OutOfMemoryError | Open
- Code: Select all
Forge Version: 1.6.4.003
Operating System: Linux 4.1.18-gce6cee1 armv7l
Java Version: 0 The Android Project
java.lang.OutOfMemoryError: Failed to allocate a 544 byte allocation with 4194304 free bytes and 38MB until OOM; failed due to fragmentation (required continguous free 8192 bytes for a new buffer where largest contiguous free 4096 bytes)
at java.util.EnumMap.<init>(EnumMap.java:138)
at forge.trackable.TrackableObject.<init>(TrackableObject.java:25)
at forge.game.GameEntityView.<init>(GameEntityView.java:28)
at forge.game.card.CardView.<init>(CardView.java:68)
at forge.game.card.Card.<init>(Card.java:290)
at forge.game.card.CardUtil.getLKICopy(CardUtil.java:203)
at forge.game.zone.Zone.getLKICopy(Zone.java:264)
at forge.game.Game.copyLastState(Game.java:153)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:503)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1007)
at forge.game.GameAction.startGame(GameAction.java:1633)
at forge.game.Match.startGame(Match.java:87)
at forge.match.HostedMatch$2.run(HostedMatch.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:776)
Even the smallest spark may set a world ablaze
Re: Forge for Android v1.6.4.003
by CokedUpZombie » 23 Oct 2017, 04:03
Got an interesting one.
Chandra's Fury in opponents hand and i had Sen Triplets in play but when I played Chandra's Fury from opponents hand and choose my opponent but it dealt 1 damage to all creatures in play instead of just his.
Chandra's Fury in opponents hand and i had Sen Triplets in play but when I played Chandra's Fury from opponents hand and choose my opponent but it dealt 1 damage to all creatures in play instead of just his.
- CokedUpZombie
- Posts: 90
- Joined: 08 Feb 2017, 18:57
- Has thanked: 14 times
- Been thanked: 22 times
Re: Forge for Android v1.6.4.003
by Agetian » 23 Oct 2017, 11:42
Attempted to fix, though I have a feeling there's some kind of a bigger underlying problem there that I can't yet crack :/CokedUpZombie wrote:Got an interesting one.
Chandra's Fury in opponents hand and i had Sen Triplets in play but when I played Chandra's Fury from opponents hand and choose my opponent but it dealt 1 damage to all creatures in play instead of just his.
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Forge for Android v1.6.4.003
by janfaln » 23 Oct 2017, 23:29
I love forge suddenly won't work on pad 7.0
- Attachments
-
forge.log
- (159 Bytes) Downloaded 265 times
- janfaln
- Posts: 3
- Joined: 23 Oct 2017, 23:22
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge for Android v1.6.4.003
by Agetian » 24 Oct 2017, 05:10
Hmm, there's no indication of any error in the log... Can you please clarify how exactly it doesn't work? Like, it doesn't start at all, it shows a black screen, it hangs at a certain point when loading, etc. I'll try to help depending on what exactly doesn't work.janfaln wrote:I love forge suddenly won't work on pad 7.0
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Who is online
Users browsing this forum: No registered users and 40 guests