Forum index VCMI Project - Heroes 3: WoG recreated
Forum of the project aiming to recreate best turn-based strategy ever!

FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  StatisticsStatistics
RegisterRegister  Log inLog in  AlbumAlbum  DownloadDownload

Previous topic :: Next topic
Moved by: Warmonger
2014-02-23, 18:28
VCMI for Android
Author Message
fervi

Joined: 11 Feb 2012
Posts: 23
Posted: 2017-03-21, 10:16   

VCMI4Droid working nice, but performance on Galaxy Note 2 sucks. Ofc. game is playable :P

Fervi
 
     
Fay 
User defined rank


Joined: 07 Apr 2014
Posts: 48
Posted: 2017-05-15, 20:44   

Another release. Yay.

https://github.com/Fayth/vcmi-android/releases/download/5/VCMI-1.4-api21-20170515-release.apk (160MB)
https://github.com/Fayth/vcmi-android/releases/download/5/VCMI-1.4-api21-20170515-release.apk.7z (the same file as above but 40MB)

Some technical changes:
* the biggest change (but not very important from the player's perspective) is that I gave up on gradle-experimental build and returned to stable gradle (+external cmake), because it felt really unstable and required some nasty hacks to work "correctly"; additionally I changed ndk to newest version (r15 b1) and replaced libc++ with gnustl, because it's more stable and "default" in ndk
* at the moment, due to the previous point, the application doesn't work correctly on armeabi (compiler crashes during SDL build) or api <21 (runtime crashes, probably due to some boost<>ndk conflicts); oh well, according to google, ~70% of phones are 5.0+ already; I'll be monitoring ndk/gradle updates, hopefully it gets fixed at some point
* you need to uninstall previous version before installing this one (different app signing because of release mode and stuff)
Functional changes:
* everything is compiled in release mode and should work much quicker (haven't played enough to see big difference in-game, but app startup on my phone was ~12s previously and is ~3s in this version)
* app should no longer crash/hang when it goes into background or screen is turned off (hopefully),
* due to the fact that android can kill application in background at any time it wants to, vcmi now tries to make autosave when the app is about to be killed (_Android_Autosave file); not guaranteed to work, because it's not very elegant solution for now,
* better relative cursor mechanics (as discussed in previous posts) + relative pointer speed multiplier setting in launcher,
* added adventure map swipe support (as an alternative to relative pointer); doesn't feel very smooth but should be functional (launcher -> pointer mode -> "normal with map swipe")
* added sound/music settings in launcher (because it's irritating that these can't be changed right away after starting the game ;) ),
* launcher should correcly preserve all vcmi config settings (previously launcher would drop settings that it didn't understand (everything except resolution and codepage))
* back button should now work like alt+f4 (closes app if in menu, displays exit confirmation if in-game)
 
     
Warmonger 
VCMI programmer


Age: 28
Joined: 07 Jun 2008
Posts: 1541
Location: Warsaw, Poland
Posted: 2017-05-15, 20:58   

Awesome!

Can you post it on Google Play? Did you try to contact xyz recently?
_________________
Think twice if you really need to send me private message. Use public forum for general questions.
DJ Warmonger blog
beegee wrote:
Warmonger, you are the best!
 
 
     
Fay 
User defined rank


Joined: 07 Apr 2014
Posts: 48
Posted: 2017-05-15, 21:33   

I don't have any private google dev account so I can't. I could provide an unsigned package if anyone wants to put it there (or provide signing info to vcmi team). I never really contacted xyz.
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-16, 13:02   

Warmonger wrote:
Can you post it on Google Play? Did you try to contact xyz recently?
I registered developer account in Google Play for that purpose and paid fee some time ago.
I'll try to contact XYZ and ask if he can transfer package ownership to me.

PS: I sent developer console invites to Fay, Warmonger and AVS.

Also sent Slack invite to xyz and hopefully he can help us. Shouldn't be too hard:
https://support.google.com/googleplay/android-developer/answer/6230247?hl=en
And of course I sent to to xyz to in case he need some account credentials for transfer.
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-16, 15:11   

Ok. @xyz sent request to transfer app to my developer console.
There also signing keys for app that I'll need grant to Fay.
 
     
Fay 
User defined rank


Joined: 07 Apr 2014
Posts: 48
Posted: 2017-05-16, 16:45   

Okay, I accepted the invitation.

Things to consider:
* I'm not very good with legal stuff, but I'm pretty sure I'll need to add some info about 3rd party libraries and possibly a privacy policy as well (google has recently become way more strict about it)
* keep in mind that the app is currently build against vcmi/develop (b7a19fd); wouldn't it be better to wait for stable version?
* I didn't test the last version extensively (only my device + few emulators) so it's hard to say if it works correctly everywhere

If we plan to update the existing app, it becomes more complicated.
* app will still need to use id "is.xyz.vcmi" -- I'm pretty sure it's not possible to change it for already-published apps
* at the moment I'm not certain what to do about the update process; I use slightly different way of handling OH3 data files so the new app won't detect previously added files
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-16, 17:10   

Fay wrote:
Things to consider:
* I'm not very good with legal stuff, but I'm pretty sure I'll need to add some info about 3rd party libraries and possibly a privacy policy as well (google has recently become way more strict about it)
I'll try to look into it and and ping some Android developers I know and in IRC.

Fay wrote:
* keep in mind that the app is currently build against vcmi/develop (b7a19fd); wouldn't it be better to wait for stable version?

No good answer for this. One important point: is all code changes merged in develop?
If no this is what you need to start with. We'll also benefit if you join our organization on github and move build system repository here.

And for building stable version I really not sure if it's worth to wait since this would be quite long waiting probably. Like I wish to have tons of time to test and merge everything, but I only have so much... :-(

In same time we don't have any working version for Android at all so I don't think we'll make it worse.

Fay wrote:
If we plan to update the existing app, it becomes more complicated.
* app will still need to use id "is.xyz.vcmi" -- I'm pretty sure it's not possible to change it for already-published apps
Is that a problem at all? I don't think anyone care what package name is and if xyz going to get some weird credit for his previous work that not problem too.

Fay wrote:
* at the moment I'm not certain what to do about the update process; I use slightly different way of handling OH3 data files so the new app won't detect previously added files
That's better to be solved one way or another.

Is there any way to detect when application was updated from older version? If there is then it's would be enough to notify users who updated it that path files changed and they need to move assets. I doubt anyone seriously playing older version since it's wasn't really playable at time, many might have it installed.
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-16, 17:14   

Also once we get new version I want owner of this one to get it unlisted:
https://play.google.com/store/apps/details?id=eu.vcmi&hl=en
Or if he agrees he can transfer ownership too. Then we could update it once and suggest to install another app instead and then unlist it so it's not confusing anyone.
 
     
Fay 
User defined rank


Joined: 07 Apr 2014
Posts: 48
Posted: 2017-05-16, 18:15   

Quote:
Quote:
* I'm not very good with legal stuff, but I'm pretty sure I'll need to add some info about 3rd party libraries and possibly a privacy policy as well (google has recently become way more strict about it)

I'll try to look into it and and ping some Android developers I know and in IRC.
Well, technically I am an android dev. :P
3rd party licenses definitely should be placed somewhere in the launcher.
Don't know about policy, because vcmi doesn't really do anything with user data -- the only thing that could qualify is probably sdcard reading/writing.

Quote:
is all code changes merged in develop?
Do you mean my changes in vcmi? Currently they're here https://github.com/Fayth/vcmi/tree/android-support -- I can start a pull request to vcmi/develop if that's what you mean... probably not today though. I tried to wrap all android-specific logic in VCMI_ANDROID define so hopefully the won't be any problems, but currently I don't have any environment installed to check if the desktop version complies correctly.

Quote:
We'll also benefit if you join our organization on github and move build system repository here
Sure. I think it's a good idea that vcmi team has the ownership over this.

If you feel that the current vcmi/develop version is stable enough to be published then there's no problem on my side.

Quote:
Quote:
* app will still need to use id "is.xyz.vcmi" -- I'm pretty sure it's not possible to change it for already-published apps

Is that a problem at all? I don't think anyone care what package name is and if xyz going to get some weird credit for his previous work that not problem too.
No technical problems. Only the fact that google suggests that your app's id should reflect the domain that you own. But it's not really a problem, because it's not a hard rule, just a guideline.

Quote:
Is there any way to detect when application was updated from older version
No built-in mechanism. Usually apps just save previously launched version number and check it on startup.
In our case, we should probably try to detect datafiles in the old location and move them if possible. Should be doable.
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-16, 18:48   

Fay wrote:
Don't know about policy, because vcmi doesn't really do anything with user data -- the only thing that could qualify is probably sdcard reading/writing.

Sadly this is something I have like zero idea about so all I can do is just google it.

Fay wrote:
Do you mean my changes in vcmi? Currently they're here https://github.com/Fayth/vcmi/tree/android-support -- I can start a pull request to vcmi/develop if that's what you mean... probably not today though. I tried to wrap all android-specific logic in VCMI_ANDROID define so hopefully the won't be any problems, but currently I don't have any environment installed to check if the desktop version complies correctly.
Just create pull request and Travis will compile it. ;-)

We'll also be able to find if there something need to be fixed.

Fay wrote:
Sure. I think it's a good idea that vcmi team has the ownership over this.

Welcome to team! If seriously we obviously not give everyone access to main repository since not everyone actually need them, but I think github have teams inside organizations so there no problem to invite you and then let you control repositories you want and non-develop branch.

Warmonger / AVS might need comment on this though since I don't have full permissions on github.

Fay wrote:
If you feel that the current vcmi/develop version is stable enough to be published then there's no problem on my side.
I don't think it's stable, but it's far better than 0.97 for sure.

Fay wrote:
No technical problems. Only the fact that google suggests that your app's id should reflect the domain that you own. But it's not really a problem, because it's not a hard rule, just a guideline.
I think they forgive us. Or we could ask for ownership over other package later that in fact represent our domain.
 
     
AVS 

Joined: 25 Feb 2011
Posts: 554
Location: Russia
Posted: 2017-05-17, 02:31   

VCMI Organization membership give no additional access, only Teams do and on repository level. There is no way to control access to individual branches

@Fay I`ve sent invitation
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-17, 07:25   

AVS wrote:
VCMI Organization membership give no additional access, only Teams do and on repository level. There is no way to control access to individual branches
There is. GitHub allow to limit pushes to protected branches from certain teams:
https://help.github.com/articles/about-protected-branches/

So for instance we can let Fay to keep Android-specific changes in main repository branch even without giving develop (protected branch) push access. Of course we can also just ask nicely to not push directly anything unless it's absolutely obvious and tested fix.
 
     
Fay 
User defined rank


Joined: 07 Apr 2014
Posts: 48
Posted: 2017-05-17, 21:39   

Okay, so I accepted the invitation and created the pull request.

Currently I can't transfer the launcher project, because "You don’t have the permission to create repositories on vcmi".
 
     
SXX 
VCMI programmer

Age: 25
Joined: 04 Jul 2014
Posts: 358
Posted: 2017-05-17, 22:59   

Fay wrote:
Currently I can't transfer the launcher project, because "You don’t have the permission to create repositories on vcmi".
I suppose you need permissions to create repositories.

BTW I also need it since I want to upload server configuration to github organization.
 
     
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Add this topic to your bookmarks
Printable version

Jump to:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

Hosting provided by DigitalOcean
Page generated in 0.03 second. SQL queries: 14