It is currently 24 Apr 2024, 11:26
   
Text Size

Forge Android App

Post MTG Forge Related Programming Questions Here

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

Forge Android App

Postby drdev » 19 Dec 2013, 17:37

I'm starting up design and development on a version of Forge that will run as an app on Android phones and tablets. It will leverage the existing Forge game engine and card database, while creating a slick new UI that will provide a great game play and deck building experience on the go. The current plan is to use AndEngine for this, a free open source 2D game engine coded in Java with an active forum community. This will allow better performance of card rendering and animation, as well as an overall slicker visual experience.

I'm creating this thread to gather feedback as it's designed, and later to discuss ideas and issues after people start using it. To that end, can somebody please sticky this thread?

To answer the obvious first question, there will not be an IPhone/IPad version, at least at this time. Given that Forge is coded in Java and Android runs on Java, we don't have to rewrite any of the core card and game logic for the Android version, just the UI. IPhone/IPad only run on Objective C, so all of Forge would need to be re-coded. If somebody is up to that task, they can certainly feel free, but I will be strictly focusing on the Android version. The good news is that Android devices are becoming more standard, and many aren't that expensive. You can also load Android OS on other devices with a little work, including cheap tablets.

I'm currently working on mockups of the UI, and will post them when they are available. My initial plan is to focus on the game play screen only, as that will be the trickiest to make work on a phone-sized screen. At least at first, this app will be a simplified version of Forge that supports just constructed game play using random or imported decks (from desktop Forge). I'll then layer in deck building and other game formats after that once the core game play experience is solid, as that's the most important thing.

Meanwhile, I'd like to start this discussion with a simple question: should this version just be called "Forge" too, or should it have a different name (either with or without a reference to "Forge")? Any ideas are appreciated.

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

Re: Forge Android App

Postby drdev » 19 Dec 2013, 17:53

Another quick question to the developers in the room. Are any of you interested in helping out with this project?

Right now, this particularly includes developers to help out with the module refactoring project that Max mtg and others have been working at, as that needs to be finished before the Android app can get very far. All the core card and game logic needs to be out of forge-gui, as the Android project won't be able to reference any component that uses Swing.

Of course, any developers who'd like to help with the design or implementation of the app are also welcome. Having Android or other mobile development experience is not necessary (but it's certainly a bonus).

Let me know if you're interested in helping and what you'd want to work on.

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

Re: Forge Android App

Postby Chris H. » 19 Dec 2013, 20:03

drdev wrote:II'm creating this thread to gather feedback as it's designed, and later to discuss ideas and issues after people start using it. To that end, can somebody please sticky this thread?
 
It is now stickied.
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

Postby friarsol » 19 Dec 2013, 20:39

I'd say we should keep the name Forge in there (at least somewhere), since it's not really a full fork, it's just a different interface. And if Max's plans happen the way I'm expecting they should, PvP shouldn't care how the user is displaying all the information.

Maybe call it Portable Forge (since that's a real thing too) if you want to make the name distinct from "Desktop" Forge.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Android App

Postby drdev » 19 Dec 2013, 23:02

friarsol wrote:I'd say we should keep the name Forge in there (at least somewhere), since it's not really a full fork, it's just a different interface. And if Max's plans happen the way I'm expecting they should, PvP shouldn't care how the user is displaying all the information.

Maybe call it Portable Forge (since that's a real thing too) if you want to make the name distinct from "Desktop" Forge.
Good point about the PvP. It will be cool to be able to have two users play each other via network even if one using a tablet/phone and the other is using a desktop. One more reason to be excited for network play.

I like your name suggestion, especially since it's a real thing. I'm not sure it sounds great as the name of a game though , unless we flipped it to "Forge Portable" or something like that.

I also had the similar idea "Pocket Forge" to put focus on the ability to run it on phones, in addition to being a prefix commonly associated with mobile versions of games.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App

Postby otherright » 26 Dec 2013, 16:00

This is great news. I think a lot of people have been looking forward to this, as i know it has been requested on here before. I know I'll be watching this closely myself for any updates on your progress. Good luck.
otherright
 
Posts: 63
Joined: 29 Sep 2009, 17:46
Has thanked: 4 times
Been thanked: 6 times

Re: Forge Android App

Postby krishkrush » 10 Jan 2014, 18:03

I know this is maybe too early, but as I am also really interested in this: how is work going? Do you have an estimated time schedule? Maybe a release date? :D Don't take it too seriously, i'm just impatient ;)

Also, thanks for your work! It's really appreciated.
krishkrush
 
Posts: 89
Joined: 13 Oct 2012, 14:18
Has thanked: 30 times
Been thanked: 2 times

Re: Forge Android App

Postby Max mtg » 10 Jan 2014, 21:07

The first significant step is to untie game rules with ai from desktop application (my duty), then it's drdev's turn to make the rest of android app.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge Android App

Postby drdev » 10 Jan 2014, 21:29

Max mtg wrote:The first significant step is to untie game rules with ai from desktop application (my duty), then it's drdev's turn to make the rest of android app.
That's why I'm focusing on improvements to the desktop application UI at this time. I want to make sure once I can start on the app that I can focus most of my Forge development time on it and not need to do as much with the desktop application.

Hopefully I'll have some time to get some mockups done soon though.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App

Postby JuhoZero » 11 Jan 2014, 15:15

Or if You (I type it as capital, because You guys are my new gods ;D )want to follow mainstream naming the big time companies do, it would have to follow the - -: - - Edition template (for example Forge: Android Edition {Though Forge: Anarchy Edition would sound so much cooler}).
User avatar
JuhoZero
 
Posts: 5
Joined: 26 Aug 2013, 16:18
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Android App

Postby LavingRunatic » 17 Jan 2014, 22:42

Hi guys. First post here.

I've been playing Forge for just under 7 months and have spent the last few weeks thinking of an Android port.

While I've certainly heard of, but never used AndEngine, I've been tinkering with libgdx for a little while. It's main advantage is its Desktop/Android/HTML5/iOS cross-compatibility while allowing a developer to work with good ol' Java.

Do have a look into the framework when you have the time and let me know your thoughts.

LavingRunatic
LavingRunatic
 
Posts: 6
Joined: 17 Jan 2014, 22:21
Has thanked: 0 time
Been thanked: 1 time

Re: Forge Android App

Postby drdev » 18 Jan 2014, 00:20

LavingRunatic wrote:Hi guys. First post here.

I've been playing Forge for just under 7 months and have spent the last few weeks thinking of an Android port.

While I've certainly heard of, but never used AndEngine, I've been tinkering with libgdx for a little while. It's main advantage is its Desktop/Android/HTML5/iOS cross-compatibility while allowing a developer to work with good ol' Java.

Do have a look into the framework when you have the time and let me know your thoughts.

LavingRunatic
I will do just that. I haven't started any development on this yet, so it's certainly not too late to use a different engine.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Android App

Postby drdev » 13 Feb 2014, 19:03

So I finally decided to take a short break from the desktop application and attempt to get the projects setup for a mobile Forge app. After looking into it, I decided to use libgdx, as its documentation is really good and it will allow making an IOS app in the future without too much trouble. It also allows developing using a desktop window for testing and debugging without the need for a separate emulator, which should speed up development and testing.

I've created 3 new modules for this: forge-m-base, forge-m-desktop, and forge-m-android ("m" for mobile). Most of the gui logic for the mobile game will live in forge-m-base, which will eventually reference the same core projects as forge-gui.

Since I'd need a Mac to work on an IOS app, I didn't create a forge-m-ios project at this time, though somebody with a Mac can certainly feel free to attempt it after looking through the libgdx wiki. I'm not sure how users would be able to install an IOS version without going through the App Store, but I suppose we can always figure that out later.

One thing quickly became apparent as a concern when starting this up, which is how we're going to share assets (everything in forge-gui/res/) between forge-gui and forge-m-base. In order for the Android app to work, all of that needs to live in forge-m-android/assets/. I really don't want us to have to maintain two separate copies of all the images and card script files. Since forge-m-desktop was able to be set up to link in the assets folder from forge-m-android, would it be possible to do the same for forge-gui? Or does anyone know a trick that will allow pulling the files in forge-gui/res/ into forge-m-android/assets/ automatically?

An issue related to that is that libgdx requires all images have width and height that are powers of 2 (like 256x256), which isn't the case for most if not all of our images. Once loaded we can use what's called a TextureRegion to render only what part of each image we need (utilizing the SkinProp coordinates), but the full Texture needs to have width and height that are powers of 2. If we share assets between the two as I'd like, any objection to just increasing the width and height of each image to the next power of 2 and letting that all be empty alpha space? Or does anyone have a better idea?

Another thing I'm not sure of is how to deal with Maven integration and eventually handling snapshot and beta release builds. There is some documentation on the wiki, but if somebody more familiar with Maven could help out, that would be much appreciated.

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

Re: Forge Android App

Postby Max mtg » 13 Feb 2014, 19:26

Code: Select all
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\max>mklink /?
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.
The other question is how to commit a symlink into svn?
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Forge Android App

Postby friarsol » 13 Feb 2014, 19:39

friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Next

Return to Developer's Corner

Who is online

Users browsing this forum: Donaldmourl and 35 guests


Who is online

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

Login Form