It is currently 18 Apr 2024, 08:05
   
Text Size

Forge Android App: 11-13-2016 Alpha 1.5.58.002

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

Forge Android App: 11-13-2016 Alpha 1.5.58.002

Postby drdev » 27 May 2014, 18:04

Ever wanted to be able to play Magic on a smartphone? It's true that Wizards has recently started offering Duels of the Planeswalkers on tablets, yet nobody has attempted to make a phone app that supports playing a full game of MTG. Until now...

ForgeScreenshots.png

I'm excited to announce that the Android port for Forge is finally ready for its first Alpha release!!!

If you didn't see this coming, I encourage you to check out this thread for the history of this project.

Installation Instructions
Download and install http://cardforge.link/releases/forge/forge-gui-android/1.5.58.002/forge-android-1.5.58.002-signed-aligned.apk.

NOTE: If you haven't already turned on the "Unknown sources" setting on your device under Security, you'll be prompted to turn it on if you want to continue with the install. This is not something you need to worry about, as it's only necessary because you're not installing from Google Play. You can always turn it back off after the install finishes, though you'll need to turn it on again whenever you want to install updates.

NOTE 2: If you've previously installed Forge and you're just installing an update, you can just install as normal. You shouldn't have to uninstall first, though if it fails, an uninstall and reinstall would be the first thing to try. Either way, rest assured that your card images, decks, preferences, and quest data will not be lost.

When running the app after installing an update or for the first time, resource files that are needed for the app to run will automatically be downloaded. This shouldn't take more than a minute or two and the splash screen will report progress while they're downloaded and unzipped.

By default, Forge does not come packaged with card images. There are two ways to pull in card images:

Automatic
Open the Setting screen and click the Files tab. Choose either of the first two options for downloading LQ pics, based on whether you want to conserve disk space and download only one picture per card as opposed to one picture for every set each card appears in. A dialog will appear and after pressing Start, the pictures will be downloaded. This process may take awhile, so please be patient.

Manual
Open the SD card on your device. If possible it's easier to do this with your device connected to a desktop computer, but otherwise you can use a file explorer app and navigate to "/storage/emulated/0", which should just be My Files > All Files on the standard Android explorer. Navigate to Forge/data

Note that you can similarly copy over decks, quest data, and preferences from a desktop version of Forge. The following mappings apply (based on a Windows user with default AppData locations)
- C:\Users\<username>\AppData\Local\Forge\Cache\ > Forge\cache\
- C:\Users\<username>\AppData\Roaming\Forge\ > Forge\data\

If you either don't have access to your computer or want other decks to play (particularly until deck editing support is added), you can also download and unzip decks from the Forge Decks forum into Forge\data\decks\constructed\.

Running the App
If everything worked properly, you should see a splash screen while resource files, cards, decks, and fonts are loaded, then be taken to the home screen shown in the first screenshot above.

From here, you can tap Settings to adjust your preferences if desired, such as picking a theme (all Forge themes are supported). If you transferred your preferences from a desktop install of Forge, you can probably skip this step. Note that, in addition to the home screen button, you can access the Settings screen from anywhere by pressing the Menu button on your device.

Tap New Game. You'll be taken to a familiar screen where you can configure a name, avatar, deck, and human/ai for each player. Then you can just press Start to play a match. Alternatively, from this screen you can click the drop down menu in the upper right to access other game modes like Draft, Sealed, Quest Mode, Gauntlet, or the new Planar Conquest mode.

Missing Features
Obviously as a first Alpha release, there are some missing features at this time. It was important to focus on building a strong foundation for the app first, so the Match screen was the most heavily focused on area, along with other screens needed to start a simple 1v1 Constructed match using random, preconstructed or imported decks.
  • Quest Tournaments
  • Multiplayer (3+ players)
  • Card animations when changing zones
  • Combat animations
  • Spell resolve animations
  • Scroll indicators for scrollable panes
  • Syncing data with desktop Forge
  • Mana symbol buttons appearing above touch keyboard when editing search field

You can expect these features to start getting implemented in the coming months, and please feel free to share which ones you feel are higher priority. Also feel free to share any ones I missed or ideas for enhancements you may have. This doesn't have to be just a complete clone of desktop Forge, so if you have a creative idea that would work better on a phone or tablet, please share it.

Bug Reports
Please post bug reports and questions to this thread only if they apply to the UI in some way. Cards not working correctly or the AI not behaving properly are issues that would be shared by both the desktop and mobile versions of the game and should thus be posted in the appropriate thread (likely the Forge Beta thread).

Known Issues
  • It's been reported that some tablets must be set to run in portrait mode, otherwise the app opens with a black screen.
  • If Forge is freezing after clicking the Constructed screen, apparently switching to the Default theme or manually copying over files from Forge\res\skins\default to the other skins folder that aren't already there, like the image with the avatar tiles, will fix it.

Release Process
You'll notice the version of this first release is 1.5.19.001. Since this app is sharing a lot of code as well as resource files with the desktop application, I will be using the current version of that application as the version for this app, with a 3 digit build number at the end. It is still an Alpha, so keep that in mind.

Also note that I won't be doing snapshot builds and official Beta releases the same way as the desktop application. Rather, I will publish new builds as needed to fix bugs and roll out features without any set timetable. Eventually I plan to build an update check into the Splash screen logic, but for now just check this thread. I'll update the date and build number in the topic subject and links whenever I release an update.

In the meantime, please let me know if you have any questions or issues with installation. In addition to the update check, hopefully I'll get download support working from within the app soon to simplify installation.

Credits
In closing, I want to quickly thank some people without which this app could never have been made:
  • Max Mtg and everyone who helped out with the large project to breakup the Forge project into modules
  • KrazyTheFox for helping set up a Maven build process for the Android app
  • moomarc and others who have created all the amazing skins used by both this app and the desktop application
  • All the developers and other contributors who have scripted cards or developed card rules, game, and AI logic
  • Everyone who has followed this project in the last 4 months and offered feedback or ideas.

Thanks.
-Dan
Last edited by drdev on 13 Nov 2016, 16:51, edited 244 times in total.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby drdev » 27 May 2014, 18:09

FAQ

Q. Is there a separate version of the app for tablets?
A. No, there's only one version which works on both phones and tablets. The app is designed to scale certain areas as the screen gets larger while keeping others sized relative to the size of you finger, so it should look and play well on both phones and tablets. For example, the prompt will be the same physical size on both phones and tablets, but the field and cards on a tablet will be larger.

Q. I don't have an Android device. Can I get this app for my IPhone or IPad?
A. At the moment, this app only runs on Android devices. That said, it's built using libgdx, a platform built off of OpenGL to be cross-device compatible. The majority of the code is already there to create an IOS app, but I would need somebody with access to a Mac to set up a module and code a few files to get the app working, then figure out a way to publish and install the app without going through the App Store. Volunteers are most welcome for this one.

Q. What are the minimum specs required to run this app?
A. I designed the app using a minimum screen size of 320x480, and in testing the app peaks out at around 200-300MB of memory usage. So any smartphone or tablet made in the last few years should have no trouble. Specifically, this app is currently targeting Android 4.4 KitKat (API level 19) with the minimum requirement being Android 3.0 Honeycomb (API level 11).

Perhaps the most important spec to note is disk space usage, particularly if you want to use HQ pics. For reference, before card pics, the app takes up around 100MB of space including the installation (16MB), the resource files (51MB), and the font cache (32MB). If you've downloaded LQ Set pictures as I have, that adds an additional 612MB. Choosing to download only the most recent LQ picture would lower this disk usage, while opting to use HQ pics will increase it. It's up to you to decide how much disk space to dedicate to Forge on your device, but that's why all files are located on the SD card.

If the app isn't working or performs poorly on your device, please let me know so I can document such devices as potentially problematic, as well as maybe work on a solution.

Q. You've mentioned a "font cache" a few places. What's that for?
A. The libgdx platform that Forge is built upon does not support text rendering using traditional font files. Rather it uses what's called a BitmapFont, which is literally where each character is stored and rendered as an image with a color applied. To render nicely, you need a different set of images for each font size, as using image scaling doesn't always look too good. libgdx includes an extension that supports generating BitmapFonts from a .ttf (True Type Font) file, which every skin in Forge provides one of. However, this extension is slow, and generating fonts on the fly can lead to big performance problems, especially when zooming in on cards. To combat this, I set it up so .fnt and .png files for each available font size are generated and cached the first time you load the app for a given skin. After that, these cached files can be used to generate the BitmapFont much quicker on subsequent startups. The BitmapFonts are also cached in memory while the app is open to make rendering text as quick as possible.

Q. Why has nobody made a full MTG smartphone app like this before?
A. Well, it was a lot of work to create this UI from scratch. And it was definitely quite the design challenge to make the app user friendly given the complexity of Magic and the small screen real estate. But other than that, no idea.
Last edited by drdev on 05 Aug 2014, 15:20, edited 29 times in total.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby friarsol » 27 May 2014, 18:22

Technically the Wagic team has an Android build, but don't let that stop your enthusiasm.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby drdev » 27 May 2014, 18:34

friarsol wrote:Technically the Wagic team has an Android build, but don't let that stop your enthusiasm.
I'm well aware of that project, and I certainly did not mean to undermine their work. However, Wagic is not full Magic, and my claim is that this is the first smartphone app that lets you play full Magic.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby KrazyTheFox » 27 May 2014, 18:43

I would love to see draft mode sooner than later. It's pretty much the perfect format for games when out and about.

I'll try out the latest build when I get home (in order to use my high res cards I had to change the storage location, since my phone's internal storage is considered external). I'm really loving this app so far, even with the limited feature set. Downloaded a couple thousand decks off the forums here so I won't run out any time soon.

I do have one question, though. Is it currently possible to un-declare attackers?
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby drdev » 27 May 2014, 18:48

KrazyTheFox wrote:I do have one question, though. Is it currently possible to un-declare attackers?
No, not at the moment. There are a couple of Input types like Attacking and Blocking that rely on right-clicking for the desktop application. I need to come up with another way for the mobile app since you can't right-click. I'm thinking of just making the Back button undo the previous attacker declaration, and also enabling the Cancel button on the prompt to undeclare all attackers/blockers. 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: 05-27-2014 Alpha 1.5.19.001

Postby Chris H. » 27 May 2014, 18:55

drdev wrote:P.S. Can somebody please sticky this thread? I expect it to be active throughout the Alpha.
 
Got it. :)
User avatar
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: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby KrazyTheFox » 27 May 2014, 19:06

drdev wrote:
KrazyTheFox wrote:I do have one question, though. Is it currently possible to un-declare attackers?
No, not at the moment. There are a couple of Input types like Attacking and Blocking that rely on right-clicking for the desktop application. I need to come up with another way for the mobile app since you can't right-click. I'm thinking of just making the Back button undo the previous attacker declaration, and also enabling the Cancel button on the prompt to undeclare all attackers/blockers. How does that sound?
How about just tapping the card again? Unless I'm mistaken you can't activate abilities while declaring attackers or blockers, so there shouldn't be any input conflicts.

Another thing that would be nice (but is by no means a pressing need) would be arrows pointing the sides of the screen in the direction that off-screen cards are. I've found myself forgetting I had things on the field when they're not visible.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby friarsol » 27 May 2014, 19:19

When I try to install on my Galaxy S3, I just get an "Application not installed" error message, which looks to be the same as this: http://stackoverflow.com/questions/4226 ... on-android but I don't have any existing apk, or anything of the like.

What Android version is the app targeting?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby drdev » 27 May 2014, 19:29

KrazyTheFox wrote:
drdev wrote:
KrazyTheFox wrote:I do have one question, though. Is it currently possible to un-declare attackers?
No, not at the moment. There are a couple of Input types like Attacking and Blocking that rely on right-clicking for the desktop application. I need to come up with another way for the mobile app since you can't right-click. I'm thinking of just making the Back button undo the previous attacker declaration, and also enabling the Cancel button on the prompt to undeclare all attackers/blockers. How does that sound?
How about just tapping the card again? Unless I'm mistaken you can't activate abilities while declaring attackers or blockers, so there shouldn't be any input conflicts.

Another thing that would be nice (but is by no means a pressing need) would be arrows pointing the sides of the screen in the direction that off-screen cards are. I've found myself forgetting I had things on the field when they're not visible.
Tapping the card again makes sense, except that it makes it much harder to declare multiple stacked tokens as attacking then. For tapping lands, you can just tap multiple times on the topmost land to tap multiple lands, which works because tapping a tapped land doesn't untap it. Plus there's the issue of how to handle declaring a band.

The arrows for scroll panes are planned and mentioned in the missing features. I'm also going to add a slider that fades in and out when you start and stop scrolling to indicate how far you can scroll in each direction, much like regular Android apps do.

I also plan to add support to the Hand panel for overlapping cards so you can see at least 9-10 cards without scrolling. Then panning will allow you to flip through the cards to make the one under your finger appear on top. Any more 9-10 and it will just back to requiring horizontal scrolling.
Last edited by drdev on 27 May 2014, 19:36, edited 1 time in total.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby drdev » 27 May 2014, 19:31

friarsol wrote:When I try to install on my Galaxy S3, I just get an "Application not installed" error message, which looks to be the same as this: http://stackoverflow.com/questions/4226 ... on-android but I don't have any existing apk, or anything of the like.

What Android version is the app targeting?
We're targeting version 19, with a minimum of 8. Krazy, any ideas on this?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby KrazyTheFox » 27 May 2014, 19:39

Ah whoops. Definitely missed that part in planned features.

As for the other thing, if you haven't figured it out by the time I get home I'll look into it then. It's a bit hard for me to do debugging/troubleshooting from my phone. Should be an hour or so.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby KrazyTheFox » 27 May 2014, 22:23

friarsol wrote:When I try to install on my Galaxy S3, I just get an "Application not installed" error message, which looks to be the same as this: http://stackoverflow.com/questions/4226 ... on-android but I don't have any existing apk, or anything of the like.

What Android version is the app targeting?
API Level 8 should be 2.3.3.

I can't seem to replicate this at all on my end. Both my phone and the emulator install the app okay. If I could get more info about your phone and what you've done already, it'd help. Just the exact OS version you're running should narrow it down a lot.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby mastroego » 27 May 2014, 22:33

Ahem, doesn't this have the potential of making forge dangerously popular? :D :oops: :roll:
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Forge Android App: 05-27-2014 Alpha 1.5.19.001

Postby tonetisd » 28 May 2014, 00:06

Alright, I have it working on my Nexus7. However I can't manage to see the pictures...
-my "/res/cardsfolder/" contains a folder for each alphabet letter which contain a *.txt file for each card.
-Also tried putting a folder named /pics inside /res with the pictures downloaded from "all pictures 06-28" file...but with no luck. any other suggestion?
User avatar
tonetisd
 
Posts: 20
Joined: 21 Feb 2014, 04:52
Has thanked: 11 times
Been thanked: 1 time

Next

Return to Forge

Who is online

Users browsing this forum: No registered users and 84 guests

cron

Who is online

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

Login Form