Port Andengine game to other platform? - android

I'm planning on writing a multiplayer game with Android as my primary focus as far as OS/platform, but I would like the ability to port the game to at least the web. I'm looking into Andengine as I'm just starting out with java and android and it seems the most noob friendly. The game shouldn't be too demanding as it will be a 2d turn based game with simple animations and chat.
So my main question - is it possible to port a Andengine game to the web?
If not what would you suggest?
I looked at libgdx, but I'm concerned that it might be a little to advanced for someone just starting out with java/android. Am I correct in my assumption?
Another idea I've been playing around with is writing the game in Flash and porting it to Android with Adobe Air - does anyone have any experience with this? Is it a bad idea? I kind of have my doubts of how well this will work, but if nobody can really talk me down from this idea, I might just go this route.
I've also considered writing the game in pygame as it seems easier but I don't like the idea of players having to download something like Pygame Subset for Android or Kivy to run the game. So basically if the other options are either too difficult or wont work on android then I'm probably just going to go with Andengine and consider rewriting it later for the web if people like it enough.

Moai SDK is an open source multi-platform framework for game developers.
One codes in lua - a dynamic programming language (that is easy to learn).
Apps made using Moai can be deployed to iOS, android and the chrome web store.
Moai could be an alternative.

Andengine makes a fine starting place. (I have made 3 projects with it now and I really like it). but it does not deploy to anything other than android. That is its strength and its weakness. As a strength, it is very easy to integrate android OS features and libraries with your project and has good performance. And as a weakness, well, it only runs on android.
Code-once publish anywhere platforms trade off development time for speed and size usually.
Some top competitors in that area are:
Ancsa Corona
AppMobi
PhoneGap
Unity3D
Adobe Flash(bonus of web distribution)
and others. (Moai SDK listed by #andrew, for example)
Each platform has had successful games launched with them. Find the one that suits you and your projects needs best. Do not forget to check for things you will want to integrate, such as using Facebook for mobile, or AdMob, or OpenFeint or other 3rd party services.
Good luck and enjoy you game making!

Just a side note, user do not need to download "Kivy" to run the game. As other toolkit, your application will provide Kivy as other libraries you'll use.

Related

Non-game mobile development with Unity

Recently, I've wondered if a non-game mobile app like Facebook could have been written all in Unity?
I am planning to develop a Social Media app and I am a .Net Backend Web Developer with no iOS/Android background. I especially know to code Objective-C and Java, however I don't have any experience or know-how about designing UI and add some animations to it.
I encountered the platform Unity while I was playing Dead Trigger 2 on my tablet. When I learnt that Unity is a Cross-Platform Game Development Environment, I tried playing Dead Trigger 2 on my phone (Note 3) and friend's iPhone. Works perfect. Then, I saw it has something to do with Facebook and shocked when realized that I am able to play the same game in a Web Browser on Facebook. That's amazing...
Since I am convinced that such a 3D game can be developed in such a way, I have the idea to develop a normal non-game mobile app with Unity. If the Dead Trigger Team can draw such zombies in 3D, I think it would not be so hard for me to draw a sliding-menu in 2D mode that magically works in all mobile platforms including Windows Phone. I did, and saw that any kind of animation is done with drag-drop editors and C# scripting, wooww. So, Unity fullfills my lack of UI coding in mobile platforms...
The question is, how about some backend stuff? Sending web requests? Multi-threading? async/await stuff we have in .Net? Periodically checking something from a server in background? Integrating the data with the UI?
Would you go for developing a Facebook like app all in Unity?
Thanks
If you want C# on android, there is xamarin studio. I don't think that unity is ideal for such an application. You can use it, but if you don't need anything graphical, the overhead of the engine is not worth it. If you don't care about performance (think it more like power consumption, because it's not going to be slow or anything, just way more power hungry than a simple web browser), as the FB app obviously doesn't, then you could use unity.
What you are describing, already exists. It's called the web. It's as cross platform as it gets. And there are multiple ways to convert a web app (written in html5 technologies) to a "native" mobile app, both for iOS and android. I'd recommend that you followed this road, and not unity.
In short,unity is a game engine and as such it is designed for high performance. This means that even the lightest UI built can take up a lot of CPU and in turn - a lot of battery, which is kind of precious on a mobile device.
As stated here unity doesn't seem to handle threads very well, though Im sure this is something that can be worked out
Anyway I believe that it is not the platform that answers your needs in this case.
Yes, you can develop a non-game app on Unity. But, there are fallbacks, Unity will be a bit hard for developing the UI navigation part of the application. A social media like Facebook is more complex than just graphics. There is a lot of backend development. I don't think it will be too simple compared to coding it, but of course, you can do it. You should create non-game apps when you have to incorporate advanced graphics and/or physics.

Port iOS game to Android

I have my iOS game and I would like to upload it to the Google Play Store but I have no experience with Java/Android programming so I ask if anybody knows a faster way to port an iOS game to Android without having to program all again.
Note: My game uses the Sprite Kit framework.
Thanks
as far as I know there no easy two click transition App for this. If you know the inner mechanics of the game, then it should be easy to rewrite it. Take a look at a libgdx for java.It supports needed libs and allows an easy android exports (http://libgdx.badlogicgames.com/)

Google playN vs android game engines

I currently developed 4 multiplayer games on Android using andEngine.
The problem is the engine is kind of dead(no commit in the past 8 months) and I'd like to start developing in another good engine.
I saw playN and it looks promising, but my target is only Android devices(maybe iOs).
So, if I target only mobile devices what are the advantages/disadvantages of using playN vs a specific android game engine.
Interresting question. Here is my point of view.
Personally, as a PlayN huge fan, I see anyway one disadvantage if you compare it with a specific android game engine. PlayN use only OpenGL ES 2, it's a real problem if you want to develop a simple 2D game with big compatibility. For instance, it won't work on Samsung ACE.
But, I see many advantages :
Testing. Testing is really great with PlayN. You don't have to load a heavy emulator. You load the test and you can play it in a native window.
The Maven generation is quite awesome ! All your project can be generated, tested, run with maven with simple command lines. I know it's more a maven advantage than a PlayN advantage, but PlayN is really well connected with. In two command lines you can create your project and test it (because it comes with a sample code)
You only want to develop for Android, that's great, but don't shut the door already. You can develop your game for android, test and publish it. If people like it, you don't have to do much work to publish it on iPhone the next month.
It's just what I think. I hope it helps.
I'm no expert, but from what I've seen in PlayN's website, you can't compare AndEngine to PlayN. PlayN is no game engine, it's a library to help you compile your game in several platforms.
By the way, you say there's no activity in AndEngine, but I've just checked and, well, it's not much, but the project seems to be alive in github.
Also, I would like to bring another engine to the discussion: libgdx.
I'm thinking of creating some videogame for android and I'm doing some research for game engines and so far the most promising I've found among the free engines is libgdx. What do you think about it?

Is developing an application for Android using Lua only possible?

So I read this article on Mobile Orchard and, as I'm planning on having my first steps in Android development, it got me thinking: is it possible to develop for Android in Lua only? I Googled the topic but found no definitive answer. I know Java is the "base style" for Android but for the coding newbie which I am (elementary Python, basic C++), Lua seems somehow clearer and more friendly. Then here goes my question: can one develop an Android app using Lua only? If so, could you please show me some directions to move from here?
I've been developing a mobile application in Lua to control robots remotely from iOS and Android phones. The app is in pure Lua and runs on top of Mosync platform using MobileLua. There is still some plumbing required, but it's not too complex.
I also have a debugger and a Lua IDE (ZeroBraneStudio) that support debugging of Lua scripts running remotely (including MobileLua scripts running on Android or iOS devices). I provide a demo app you can use as a client to run simple scripts and check remote debugging in action.
[Update] If you are interested in more game oriented options, there are several available: (1) already mentioned Corona SDK, (2) Moai, and (3) Gideros Mobile. There is also Marmalade Quick and Cocos2d-x Lua bindings (for example, quick-cocos2d-x). All these toolkits/frameworks allow to develop in Lua.
Here is a detailed comparison of Moai vs. Corona.
I know this is an older question, but just to correct some misinformation (in the comments) for people who come later, Corona SDK (as of spring 2013) has a Starter Edition which is free -- no splash screen or anything. The main difference between it and the "Pro" version is you can't do in-app purchases in the Starter Edition. But you can use it to create apps for sale, etc. No expiration date on it or anything.
And in answer to the original question, learning Java may allow you to write Android apps, but if you then also want to target iOS you don't have any great options. By choosing something that's cross-platform from the beginning you can target Android or iOS or both. Lua (in any of the flavors already mentioned) is a great base language to learn for mobile development.
The question is what kind of app do you want to build and what skills do you have. If you are already familiar with JavaScript there is Phonegap/Cordova. If you are building games there are a number of frameworks for 2D and 3D which use Lua. Some are free, others have licensing fees but are worth it if it provides a solution to your problem. All have pros and cons. For example I'm not sure if I would want to build an RSS reader in a game framework. Java is just another language, I would recommend just learning Java and the Android framework to start and knowing what is there before adding another application specific framework layer on top.
Corona SDK allows you to write iOS and Android apps in Lua. Its very easy to learn, but its not free.
Edit:
I saw you posted that you found Corona just after I sent my post...
You can try http://scormpool.com/luastudio
Develop and run code on your device including iOS, Android, Mac, Win.
Exporter can help you to make standalone app on listed above platforms.
This may not be useful to the OP, however for other people interested in using lua to write their apps, I'd share my thoughts. So to answer the question:
Yes, you can use only lua to write apps for android using LuaJava from the kepler project (though I don't believe its being maintained anymore). You can create and manipulate Java objects seemlessly, and interact with the Android APIs through lua. You can even create UI elements dynamically using just lua. However, a small amount of java bootstrap code is needed to start the lua VM from your app. The AndroLua project is a great place to start for Android. The creator has done a lot of work making lua work with Android and packaging it all into an app. From experience I can say it works great! However, I would in no way recommend this to a beginner, as it requires a lot of knowledge about java and lua to make things work, meaning more work not less.
For AndroLua, just clone the repo and use that as a base for your own app. Last time I used it, I just imported it into android-studio, and after fixing a few problems with my own setup, had it compiling and running on my device.
If only pure Lua then the answer is no.. unless you want to use a lot of libraries
If you want to make little Android app/games then use a game engine, learning is a step by step process, don't dive straight into the hard part.

iOS / Android cross platform development [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I've been playing around with developing Android apps in Java for a while and am starting to get a handle on it. However if I want to on start on an iOS version I need to code everything from scratch - which is, well, undesirable.
I was wondering on what cross platform solutions there are available and how well they work in practice. I've been thinking about web applications - perhaps using jQuery Mobile or Titanium, or Adobe Flash/Flex/Air. I also don't yet have a Mac, which I'll probably have to invest in.
So my Questions :
What cross-platform development environments exist for iOS / Android (and/or other devices)?
What has your experience been with these tools? (this is what I'm really keen to know)
Disclaimer: I work for a company, Particle Code, that makes a cross-platform framework. There are a ton of companies in this space. New ones seem to spring up every week. Good news for you: you have a lot of choices.
These frameworks take different approaches, and many of them are fundamentally designed to solve different problems. Some are focused on games, some are focused on apps. I would ask the following questions:
What do you want to write? Enterprise application, personal productivity application, puzzle game, first-person shooter?
What kind of development environment do you prefer? IDE or plain ol' text editor?
Do you have strong feelings about programming languages? Of the frameworks I'm familiar with, you can choose from ActionScript, C++, C#, Java, Lua, and Ruby.
My company is more in the game space, so I haven't played as much with the JavaScript+CSS frameworks like Titanium, PhoneGap, and Sencha. But I can tell you a bit about some of the games-oriented frameworks. Games and rich internet applications are an area where cross-platform frameworks can shine, because these applications tend to place more importance of being visually unique and less on blending in with native UIs. Here are a few frameworks to look for:
Unity www.unity3d.com is a 3D games engine. It's really unlike any other development environment I've worked in. You build scenes with 3D models, and define behavior by attaching scripts to objects. You can script in JavaScript, C#, or Boo. If you want to write a 3D physics-based game that will run on iOS, Android, Windows, OS X, or consoles, this is probably the tool for you. You can also write 2D games using 3D assets--a fine example of this is indie game Max and the Magic Marker, a 2D physics-based side-scroller written in Unity. If you don't know it, I recommend checking it out (especially if there are any kids in your household). Max is available for PC, Wii, iOS and Windows Phone 7 (although the latter version is a port, since Unity doesn't support WinPhone). Unity comes with some sample games complete with 3D assets and textures, which really helps getting up to speed with what can be a pretty complicated environment.
Corona www.anscamobile.com/corona is a 2D games engine that uses the Lua scripting language and supports iOS and Android. The selling point of Corona is the ability to write physics-based games very quickly in few lines of code, and the large number of Corona-based games in the iOS app store is a testament to its success. The environment is very lean, which will appeal to some people. It comes with a simulator and debugger. You add your text editor of choice, and you have a development environment. The base SDK doesn't include any UI components, like buttons or list boxes, but a CoronaUI add-on is available to subscribers.
The Particle SDK www.particlecode.com is a slightly more general cross-platform solution with a background in games. You can write in either Java or ActionScript, using a MVC application model. It includes an Eclipse-based IDE with a WYSIWYG UI editor. We currently support building for Android, iOS, webOS, and Windows Phone 7 devices. You can also output Flash or HTML5 for the web. The framework was originally developed for online multiplayer social games, such as poker and backgammon, and it suits 2D games and apps with complex logic. The framework supports 2D graphics and includes a 2D physics engine.
NB:
Today we announced that Particle Code has been acquired by Appcelerator, makers of the Titanium cross-platform framework.
...
As of January 1, 2012, [Particle Code] will no longer officially support the [Particle SDK] platform.
Source
The Airplay SDK www.madewithmarmalade.com is a C++ framework that lets you develop in either Visual Studio or Xcode. It supports both 2D and 3D graphics. Airplay targets iOS, Android, Bada, Symbian, webOS, and Windows Mobile 6. They also have an add-on to build AirPlay apps for PSP. My C++ being very rusty, I haven't played with it much, but it looks cool.
In terms of learning curve, I'd say that Unity had the steepest learning curve (for me), Corona was the simplest, and Particle and Airplay are somewhere in between.
Another interesting point is how the frameworks handle different form factors. Corona supports dynamic scaling, which will be familiar to Flash developers. This is very easy to use but means that you end up wasting screen space when going from a 4:3 screen like the iPhone to a 16:9 like the new qHD Android devices. The Particle SDK's UI editor lets you design flexible layouts that scale, but also lets you adjust the layouts for individual screen sizes. This takes a little more time but lets you make the app look custom made for each screen.
Of course, what works for you depends on your individual taste and work style as well as your goals -- so I recommend downloading a couple of these tools and giving them a shot. All of these tools are free to try.
Also, if I could just put in a public service announcement -- most of these tools are in really active development. If you find a framework you like, by all means send feedback and let them know what you like, what you don't like, and features you'd like to see. You have a real opportunity to influence what goes into the next versions of these tools.
MonoTouch and MonoDroid but what will happen to that part of Attachmate now is anybody's guess. Of course even with the mono solutions you're still creating non cross platform views but the idea being the reuse of business logic.
Keep an eye on http://www.xamarin.com/ it will be interesting to see what they come up with.
My experience with making something very simple in PhoneGap+jQuery Mobile was fine. I was able to do it quickly for iOS. However, it didn't work on my Android phones without making some changes. The project was a very simple app to take pictures and post them to a web site. And at the end of the day it felt "clunky" compared to a true native app.
I don't believe there will ever be easy cross platform development. I think the browser is as close as you will get. By choosing something like PhoneGap I think you are just trading one set of pain points for a different set of pain points.
In case you do not want to use a full-fledged framework for cross-platform development, take a look at C++ as an option. iOS fully supports using C++ for your application logic via Objective-C++. I don't know how well Android's support for C++ via the NDK is suited for doing your business logic in C++ rather than just some performance-critical code snippets, but in case that use case is well supported, you could give it a try.
This approach of course only makes sense if your application logic constitutes the greatest part of your project, as the user interfaces will have to be written individually for each platform.
As a matter of fact, C++ is the single most widely supported programming language (with the exception of C), and is therefore the core language of most large cross-platform applications.
Although I've just begun looking at this area of development, I think it comes down to this basic difference: some tools retain the original code, and some port to native...
for instance, PhoneGap just keeps the HTML/CSS/JS code that you write, and wraps it in sufficient iOS code to qualify as an app, whereas Appcelerator delivers you an XCode project...so if you're not familiar with iOS, then that wouldn't really provide any benefit to you over PhoneGap, but if you DO know a bit, that might give you just a bit more ability to tweak the native versions after your larger coding effort.
I haven't used appcelerator myself, but worked on a project a couple weeks ago where one of our team members made an entire iPad app in about 24 hours using it.
And yes, to actually submit to apple, you'll have to get a mac, but if that's not your primary work platform you can go cheap.
Cappuccino or PhoneGap.
Sometimes though trying to find a shortcut does not save you time or give you a comparable end product.
There's also MoSync Mobile SDK
GPL and commercial licensing. There's a good overview of their approach here.
If you've ever used LUA, you might try Corona SDK can create apps that run on IOS and Android
https://coronalabs.com/
I've downloaded it and messed around some, I find LUA a very easy to learn scripting language without the usual scripting language hassles/limitations....
There is also BatteryTech which we've been using for the past 18 months and have released several games off of it. http://www.batterypoweredgames.com/batterytech
All C++, Android and iOS support, all users get full source. The new v2 includes lua bindings.

Categories

Resources