Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I've looked around for a physics engine that will play nicely with Android, but I've only been disappointed.
In terms of performance, I had heard that jbox2d was the best bet, but (from my understanding) ever since Android SDK V1.0, the Dalvik VM's verifier has become very strict and rejects some of the key classes and refuses to run. This problem persists after using the dx tool (although I might be using the tool improperly).
I know that the AndroidBox2D porting project exists to optimize jbox2d for the Android garbage collector, but the project page doesn't have any downloads and the gpl license isn't as attractive as the zlib license of the original.
Does anyone have any tips for making jbox2d work in Eclipse, or have any recommendations for where I should start looking?
I don't know why Dalvik would reject classes unless they were obfuscated with some tool. Did you try recompiling Box2d from source?
The only other Java lib I've seen is http://www.cokeandcode.com/phys2d/
I am getting good results with the Java version of APE using Fixed Point math rather than floats.
http://www.cove.org/ape/
I have done an implementation of the APE engine now using (mostly) fixed point math and it is without garbage collection. Its a pretty nice engine to do stuff with constraints but seems less suited for really rigid bodies.
http://code.google.com/p/ape-physics-for-android/
You could also look into the NDK port of Chipmunk (download link on youtube page)
http://www.youtube.com/watch?v=_i_GFjfmLTc
Also look # Glaze which is optimized for arrays .. might not be a horrible port to Java from AS3 (it was ported to Haxe also)
http://code.google.com/p/glaze/
I am not sure, if jBox2D is really suitable for smartphones. I would rather look at J2ME engines, as they are highly optimized for performance- E.g: http://emini.at
Also you should have no problems with integration.
Libgdx has JBox2D built in and is cross platform (Android, Java Desktop, GWT Web) like Unity, tho it's free and open source.
I got it set up in 15 minutes and was creating physics bodies in no time. The Libgdx physics manual helps from there. Good luck!
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
So, I have been making simple apps with Android Studio for a while now. Now I want to move into the game development section. What do I need to learn to make games. I know a little bit on Java, but i do not know on what learn specifically to make games. What do i NEED to know to make games in Android Studio. If you guys have any websites or tutorials that you found handy please share them with me.
Thanks.
If you’re an Android app programmer who’s thinking about getting into game development, chances are you are planning on writing code in Java. If you’re a game development veteran who’s thinking of bringing games to Android, it’s likely that you prefer to do everything in C++.
The side-scrolling action game that I wrote, Replica Island, is entirely Java. It uses OpenGL ES 1.0 to draw and is backwards compatible to Android 1.5. It runs at a good frame rate (close to 60 fps on the G1) across almost all Android devices. In fact, many of the popular games on Android Market were written in Java, so if you’re the type of person who finds coding in C++ like speaking in tongues, you can rest easy in the knowledge that Java on Android is perfectly viable for games.
That said, native code is the way to go if your game needs to run as fast as possible. We’ve just released the fourth revision of our Native Development Kit for Android, and it includes a number of improvements that are particularly useful to game developers. Using the NDK, you can compile your code into a shared library, wrap it in a thin Java shell to manage input and lifecycle events, and do all of the heavy lifting in C++ with regular OpenGL ES APIs. As of Revision 4, you can also draw directly into Java Bitmap pixel buffers from native code, which should be faster than loading bitmaps as GL textures every frame for 2D games that want to do their own scene compositing. Revision 4 also (finally!) includes gdb support for debugging your native code on the device.
You should know that when using the NDK, you don’t have access to Android Framework APIs. There’s no way, for example, to play audio from C++ (though we announced at Google I/O our intention to support OpenSL ES in the future). Some developers use the AudioTrack API to share a direct buffer with native code that mixes and generates a PCM stream on the fly, and many call from C++ into the Java SoundPool interface. Just be aware that for this type of work, a jump through JNI back into Java code is required.
~Chris Pruett
Directly copied and posted here.
Original Article: http://android-developers.blogspot.com/2010/06/game-development-for-android-quick.html
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 9 years ago.
Improve this question
I'm trying to make a 2d game and I want to code once deploy everywhere (ios/droid/linux/windows). Also, I don't want to pay $420 for a license; I need freedom.
So far, I have been looking at OpenFL, including HaxeFlixel (which builds on openFL), but its flash. Where is C++ in my life?
What other engines are like this?
Definitly Cocos2d-x, it's cross platform and works smooth.
There are millions of code samples and hint over the net.
Cocos2d-x | Cross Platform Open Source 2D Game Engine
UDK provides one of the most powerful game engines, Unreal Engine 3. It supports iOS and Windows mainly. Its free for a limited commercial use but please check it again since it might have changed the values. Last time I checked, they allow to us to earn 5000/= for free and then pay a royalty fee of 99$ per year. Unrealscript is the main language and allows C++ DLL binding.
Further, Unity engine provides powerful tools and portable to almost any platform. I am not familiar with its license. Please check it.
I lately found this Cafu engine which is powerful with many things. It is highly portable and currently it is written for OpenGL and OpenAL or FMOD and it is Open Source. Carsten is the man behind everything and he helps everybody in the forum, a very responsive person. Cafu is properly documented and totally C++ and Lua. Provides latest graphics since OpenGL is used. Bullet physics is currently integrated.
jMonkey Engine 3 is also another option. Portability is given since it is java. Its not slow as I suspected. They have rewritten lot of internal code of java api to make it run efficiently. Netbeans with VCS support is there. Various plugins are also available.
OGRE is a good graphics engine which is portable. But you will have to make your own game engine with it.
Torque3D and ShiVa are some other engines i reviewed. Personally i do not see much in them. Try them out if you are interested. They are lacking proper documentation and support according to some people i have talked to.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I tried corona sdk free edition, i really liked it. The problem is, that im not so good developer to use corona paid edition for my small project, i'm aware that i'll not earn my money back. Are there any free alternatives, like Corona? I'd prefer lua scripting, proper IDE and some other cookies.
Question two: Is there any way to publish app made with corona free edition on android market? Maybe there are some companies that provide publishing apps if i share my source with them.
Moai is open-source and uses Lua. I love Corona and put out an iPhone game I developed using it, but I'm planning to explore this new option for my next project.
We switched our studio from Corona to Moai last week. Corona is good for beginners learning Lua but has significant performance limitations that we could not overcome. It took me a week to port our Lua code over and write an extra management layer but overall we are much happier with an open source platform like Moai. I had a couple of questions on Moai which were answered promptly in their forums.
What finally pushed me over the edge was the Moai game Crimson Pirates which was #1 last week. See this video and download the game to see what I mean by performance in Moai. You couldn't write a game like that in Corona and get good performance.
Not sure if the Corona/Flash connection is a good thing. Flash may be popular but it's held in very low esteem by most game developers. When I challenged Walter on the performance issue, he didn't have any good answers. At least with Moai if I don't like the performance I can look at the code myself.
You may want to try Gideros Studio, which is free, and has an IDE. It includes some goodies like font creator and texture packer also.
If you send an email to the developers, I believe they'll also help you with your project.
There are Corona, Gideros, Moai, and LÖVE. Here is a review.
The other SDK's mentioned are also Lua-based and work much in the same way as the Corona SDK, however, Corona has had lots of time to mature, and is co-founded by Carlos Icaza and Walter Luh, both of whom are pioneers in the mobile industry (they have worked for Macromedia, Adobe, Apple, the list goes on, etc. etc.)... In fact, they've had their hands in industry-leading software that many of you probably use on a regular basis (Illustrator, Photoshop, the list goes on...)
The Corona SDK is also growing an amazing pace, so you can be confident that it's going to stick around for a while.
And to answer your final question, no, you cannot build for distribution using a trial membership with Corona. The trial, however, does not expire.
Moai is open source, and designed for pro game developers. It needs more work on documentation but if you are experienced you can generally find your way around it, and the forums are good at responding quickly.
Corona is aimed at beginners and is a closed source product. If you are a beginner, you are better off sticking with Corona or GameSalad. Bungie is using Moai. You don't see big studios using a closed source solution like Corona, mostly beginners and indie devs.
Moai! is awesome! It's a great alternative to Corona and if performance is a problem you can always get into the source code and address it yourself.
I've personally contributed to Moai (upgraded Box2D to the latest version). Their team was quick to integrate the changes in addition to some bug fixes. They're moving really fast and it's getting better every day.
At first I was hesitant writing everything in Lua, so I took Moai for a spin by porting on of my existing games on iPhone B.I.T.S Pinball written with my own engine in C++. I was pleasantly surprised that not only was it almost just as performant but MUCH faster to re-implement and cut way down on the code. Lua coroutines are like magical pixie dust.
If you are looking for an open source alternative to Corona, as others have noted, the Moai open source game framework is making a lot of progress and a number of experienced game developers are using it. I switched to Moai in since November and it's basically an open source, high performance game engine with Lua.
Moai might not be suitable for a beginner though. I'd stick with Corona Free edition if I was just getting started, then switch to Moai when you are 100% sure you can create a good game.
the free open-source thing of MOAI is just a (big) added bonus to its capabilities.
It's syntax is similar to corona due the fact they both usa LUA as wrapper, corona has a better number community, tutorials and DOCS are very well spreaded all over the net. Moai just lacks of them if you don't consider the examples on "samples" directory of the SDK and the few examples on their forum. Corona workflow is amazing, i can work with IntelliJ Idea and have both auto-completion on LUA (this works also in MOAI obviously) and Corona itself, plus i can run the output straight on the simulator.exe (time saving!)
Moai is more for advanced people, it's updated on the fly everyday but again, you really should check it and spare some time with it, you won't regret it!
I second the call to check out MOAI! I've done 4 titles with MOAI so far, and won't be stopping any time soon .. MOAI absolutely kicks ass!
Also check out LOAD81, which is a similar effort albeit with SDL as the target environment: http://github.com/antirez/load81
Please note that the Corona platform is totally free now.
Corona Product into page.
They call it completely free! :)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Are there math or LaTeX engines available for the Android phone? The flashcard app I like best (AnyMemo) doesn't seem to be able to integrate equations into the flashcards except as graphics, requiring a lot more work on the user's part, and I thought a third-party math typesetter would be a possibility.
(Edit 2011.04.24) More detail: From elsewhere, I've received the following remarks on some of the available options:
JScience: Only a parser. It is not useful for generating images.
jsmath: Does not display correctly in the Android browser.
JEuclid: Depends on AWT which Android does not have.
JMathTex: Depends on Swing, which Android does not have.
snuggletex: Depends on JEuclid (see above).
Perhaps the S.O. readership can think of another way?
Built on jsMath, MathJax is a wonderful browser rendering engine for LaTeX, MathML and AsciiMath, which works fine in the native Android Browser, and also in Firefox for Android. Unfortunately, though, none of these technologies (except maybe AsciiMath) is fully supported at this time. For example, only certain LaTeX commands are supported. You can also read the documentation on MathML support and AsciiMath support.
If you're comfortable with the command line, you can also try
TeX Live for Android, although it has been reported to not work with some devices.
TeXPortal, another work in progress effort to port the complete TeX Live to Android.
So, there are alternatives and everything has its ups and downs. I just hope Google converts Android to a full Unix system, it'll make things much easier for everyone.
If you just want to generate a PDF out of you LaTeX code I'd suggest the Android app VerbTeX which does exactly that. It uses the facilities available at Online LaTeX Editor to generate the PDF
See TeXPortal on Google Play for a usable app.
I am using TeXPortal. It can download missing package automatically and running
fast.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
we made a quit big iOS application with 2000+ objective c classes. I am wondering there is a best practice guide to port it to Android ? Currently I am looking at Visual Paradigm (UML) which reverse engineers objective c files to UML. Like Enterprise Architect it also allows me to generate code(headers + declaration) for another popular language like java or c++. Are there any other approaches yet ? Also, as our app is heavily using the UINavigation and UIView controllers, I am wondering there is similar model and implementation on Android.
Thanks so far, guenter
In all honesty, I think that what you are planing is just going to make for crappy code that will be insanely hard to maintain. I realize it sounds like a lot of work, but its gonna be easier in the long run, I would just "port" the concept of the app to android and write it from the ground up.
The Apportable SDK
It cross-compiles Objective-C applications to Android, without extensive changes to the original codebase. Instead of translating the code to Java, Apportable cross-compiles your code to run directly on the Android device’s processor, bypassing the Java runtime, resulting in speed and performance that rivals the iOS version.
The platform has been tested on Apportable’s library of over 150 devices and in the wild, where Apportable-powered apps have received 5-star reviews on thousands of devices.
check out the sdk here
AFAIK there is no automatic tool to convert Objective-C to Java. There is java2objc that does the reverse.
Here are some official tips for porting Objective-C to Java: http://www.nextcomputers.org/NeXTfiles/Software/WebObjects/Guides/PortingObjectiveCtoJava.pdf
I'm not an iOS expert, but AFAIK iOS does not have layout managers - it uses XIB/NIB to do layout (or dynamically in code, which is not recommended). On Android there are layout classes which are primarily used to support different resolutions. Also, layout is declared via XML files.
So it seems there is a lot of hand-coding in front of you. Since a project is quite large, I'd get a help of an expert that knows both Android and iPhone.
For going from C or C++ to Android you are probably best of using the NDK. The problem is that I don't think this is possible (at least, not directly?) for Objective C.
I think it might be best to try and go to C, and then use the NDK to make it into an app for Android. Going from your code, trough UML to JAVA sounds like a much harder option.
just to let you know how the story did end up, I kept using Sparx Enterprise Architect and have my design, architecture and documentation well under control, for all platforms finally except for JavaScript. Its a bit tedious when integrating new features but in an enterprise environment it saved me a lot of time. We are working on iOS, Desktop(Web2.0/HTML5), Android, Blackberry, Symbian and some router systems. To get rid of platform specific things, I introduced always an additional layer. Seems to work for our products so far.
Thanks to all again, g.
MyAppConverter service helps to convert native iOS mobile apps instantly to native Android app, it's not focused mainly on the look and feel, and UI interaction of your app. That means it don't replicate your application as it is. Instead, MyAppConverter make all changes to make a project suitable for the development of an Android application.
MyAppConverter currently support only iOS to Android conversion and objective-c to swift.