Loreinator / Shuffle-Move

Program to help choose moves in the Pokemon Shuffle puzzle game
GNU General Public License v3.0
95 stars 18 forks source link

Make Shuffle Move runnable on Mobile Devices #72

Closed Loreinator closed 6 years ago

Loreinator commented 9 years ago

This is a huge task, but since all the translations and assets are available it shouldn't be impossible.

I'll have to learn how to deploy stuff for Mobile first though... That will likely take a while.

The end goal is of course one distributable zip for Desktop devices, and probably one per Mobile platform.

Loreinator commented 9 years ago

It seems the easiest one to do first will be android,

https://developer.android.com/training/basics/firstapp/index.html http://stackoverflow.com/questions/5206120/how-to-convert-a-java-swing-application-to-work-on-android https://developer.android.com/sdk/installing/index.html?pkg=studio

The back-end simulation part should be really simple, but hopefully android will properly bundle Java 8 in with the *.apk or I'll have a lot of rewriting to make it all Java 7 compatible.

willypt commented 8 years ago

Hello Loreinator, may I know your final goal of the mobile app? e.g how to use the app? Is it not possible for you to compile the 'logic jar' on Java 7 and then distribute the compiled jar as standalone logic jar package? If it's possible then it might be easy to integrate Shuffle Move to desktop or Android app project (and maybe on iOS since the compiled jar is not platform dependent as it is generic Java)

If I'm not very clear, please let me know and I'll be gladly to post on reddit for further discussion! :)

Loreinator commented 8 years ago

The final goal is to allow full usage of the simulation core on any mobile platform. The interface will likely be completely redone for a touch-based interface of course, but yes the "logic jar" is the core idea of how to port the program over. Every part of the program was designed with portability and plugability in mind - that is, the ability to swap out the interface for something completely different.

The problem is though, that many of the things that made the simulation easier to write took java 8 features. Porting it to be backwards compatible won't be so easy or quick. If we could compile it into a binary that doesn't require a previous java installation, then it could be run on any platform.

willypt commented 8 years ago

Although it might defeat the original purpose of portability — but turning Shuffle Move Mobile into a web-based API service is the most easiest answer to the incompatibility between Java 7 and 8.

Everytime the user initiates "calculation" from the app; the current map, symbol definition, and etc should be sent to the web-server. The client app will do the calculation after receiving response.

And yes, it might need cost to operate the server :laughing:

What do you think about it?

coeusite commented 8 years ago

Regarding mobile app development, check Corona, Qt, React Native(-.-?), Kivy (Python), Sencha(HTML5), Xamarin (Ruby) or any cross-platform mobile-app frameworks. Click here and here for React Native. Click here.

A cross-platform framework or a similar stuff should significantly save your time, but as a trade-off it cannot provide the best performance, though I don't think Shuffle Move needs this kind of ''best performance''.

However, if you wanna make an iOS APP and make it available on iTunes,

Regarding Android app, there should exist something similar with less restrictions.

coeusite commented 8 years ago

If you do want to make a mobile ShuffleMove, I can help you with image recognition stuffs. The inner logic of it is really simple:

Thus if the 6x6 shuffle area is fixed, nothing would be tough.

However, again, you should consider the copyright of pokemon.