Best games/physics engines to use? - iphone

Looking for games/physics engines to use for mobile game development.
iPhone there is
Cocos2D
Android I've found
RokonAndroid
Just wondering if there are any others (better ones) that anyone knows of? Or any that are more cross-compatible?
Thanks
Tom

AndEngine by the anddev.org team..its alpha with no binary release..you will have to build from source..
AndEngine.org I believe

I used cocos2D-android and andengine. Andengine is much better. Best perfomance and almost without errors.

I haven't actually coded with either of these yet, but I did get the Bullet engine to compile with the NDK a few months ago. I forget what was involved off the top of my head (I can edit this post if needed), but I remember it was a bit involved and took me a couple days to solve.
Box2D port for Android
Bullet port for Android

Tom - not sure if it's better or not, but Gideros Studio may answer your needs. It's a cross-platform mobile development environment with physics, in-app purchase, Gamecenter, Storekit, hardware, as well as tweening, particle engine, and many 3rd party IDEs like physics editor, sprite helper and level editors.
It also supports native code (plugins), meaning if you have a library in C, C++, Objective C or Java, you ca integrate it next to Lua, the programming language Gideros Studio is based on. Moroever Gideros Studio IDE uses over-the-air (Wi-Fi) testing, so it's possible to test the application instantly on a real hardware.
It uses Box2D as a backend for physics.

I think nowadays your best choice is LibGDX. It is a cross-platform game engine, for Android, iOS, desktop and others, has a really active community, is still actively developed and has Box2D and Bullet physics engines integrated.
The framework is really great and there have been really successful games using this engine, even on Steam.

Related

Hololens applications using WebGL / ThreeJS

I've got a WebGL application built with JavaScript and ThreeJS. I was able to enable WebVR somewhat easily to create a immersive environment. I think my app is a better use case for mixed-reality/AR. Hololens seems to be the big player in that hardware space.
As I look at the development tools around Hololens its pretty much Unity and C#. Both great tools but as I start developing in this closed environment I kinda feel like I'm building a Silverlight application.
I've been trying to figure out if there is a trick I can accomplish to create a immersive experience with my WebGL app. I know that I can use Edge browser, however, thats a flat experience which is not any value to this use case.
I've found a few links:
is-it-possible-to-use-webgl-with-hololens-repost
can-i-make-a-universal-app-using-html-that-runs-on-hololens
augmented reality with awe.js
All these seem to either be 2d experiences or 'fake' AR using cameras and WebVR. Furthermore, I also looked into porting my WebGL app to Unity using Unity's JavaScript language features to find out that it is really a subset fork of actual JavaScript ( known as UnityScript ) making it way more effort than its worth.
Given all this, I'm wondering if its even possible to accomplish the feat and if anyone knows if this is something on the roadmap for microsoft?
There's this new tool from Microsoft called HoloJS. It's a framework for creating holographic apps using JavaScript and WebGL.
holographicjs is a C++ Windows Runtime Component for hosting Windows Holographic apps built with Javascript and WebGL.
Its interesting and a huge hack but might be a good first start for the community!
Note: Answer based on:
I do not know what Microsoft roadmap plans are or will be
The actual easy-way to develop for hololens is using VS and Unity3D (so, maybe there is a way of developing using WebGl but as you can see, is not the easy-direct and supported way).
My answer: Taking into account that is a new product with no direct competence, they will not move forward offering other platforms unless they are forced to. Meanwhile they are happy that you use C#, Visual Studio, .Net, Edge and Windows and Unity3d under Windows (hard to believe to me you can do this using Unity3d at MacOS or Linux). It's also normal that they offer a limited ecosystem at the moment, with the same excuse: it is new, so limited support due to stability and optimal concerns is available just in their more familiar context: Microsoft products.
But as soon as new device come in and start offering new things (support for programing languages, OS or web) you should be completely sure that they will evolve or die.

Anything similar to XNA for Android or IOS?

I want to start creating games for Android/IOS. I have already created 2D games using XNA and I want to publish them on other platforms even PCs but my highest priority is Mobile platforms. As I said I am familiar with XNA so I need a similar Engine for 2D. It would be great if I could write once and publish on many platforms. Please dont suggest Unity or Unreal. They are not that easy when it comes to 2D.
By similar I mean, for example, how easy to draw a sprite on the screen.
Note: I am working on Windows so no Mac suggestions please.
Regards,
You may also want to consider MonoGame ( https://github.com/mono/MonoGame/ ) as that is also an Open Source, OpenGL implementation of XNA that currently has support for iOS, Android, MacOS X, Windows and recently Linux. It is now all ES 2.0 on the mobile platforms. Our biggest change is that we now support Windows 8, and have a DirectX 11 backend thanks to SharpDX. We now also have initial PlayStation mobile support.
Actually ExEn, is a fork of MonoGame( originally called XNATouch ).
For a list of games on the AppStore or Android Market place and even NaLC, currently using MonoGame look here -
http://monogame.codeplex.com/
I hope this helps.
D.
You might want to keep up on the project called ExEn, which has already successfully ported some XNA samples and smaller games to iPhone and Android. It requires relatively little work to port and refactor to these platforms.
I suggest you check out AndEngine, its an open-source 2d open-gl based game engine that has a strong community. If you want something that you can make cross platform games with check out LibGDX It too is free, open source and based on openGl but it also allows for 3d games. It is also cross platform so a game you write for android can be compiled for, Windows, MacOS (see below), Linux. It also has a really strong community.
Regarding iOS and OSX games you really can't make them unless you buy a Mac. Apple doesn't distribute their SDK for use on any other platform but their own. That said you could maybe get something working under VMWare
Check out MOAI SDK. It's completely free and open-source. It is in beta right now but it is still pretty good. Crimson Pirates for iOS was developed with it.
Right now it supports iOS, Android, Mac, Windows, and Linux. Really good. I thought I liked Cocos2D-x, which is a C++ variant of Cocos2d-iphone supporting windows, iOS (not Mac), and Android but not truely supporting desktop kinda made me like MOAI more.
You can use C++ with MOAI or you can use Lua (they highly encourage using Lua). Being built in C++ is really great because you get access to a vast amount of libraries and you can easily bind them to Lua.
You should try games development with cocos2d.
Cocos2d is one of the best 2d engines for ios/Android I have come across.
http://www.cocos2d-iphone.org/
It is openGL based free engine.
Regards,
Sam
These might be useful to you. However, the first two aren't free, but they have editions for both iOS and Android.
iOS:
http://ios.xamarin.com/
Android:
http://android.xamarin.com/
I've never used either of them, but it's something I've been looking into a bit.
Apparently it lets you run C# and .NET code on both iOS and Android which is pretty cool considering how much easier drawing and things like that are in XNA compared to Open GL ES 2.0. Not to mention the fact that you'd be using C# instead of objective C.
There's also a free open source version sponsored by the same people who make the two I listed above. This one lets you run C# and .NET code on Windows, Linux, and Mac OS X.
http://www.mono-project.com/Main_Page
I have been researching this topic intensively over the last few weeks.
I think the best solution for you is Marmalade, formerly known as Airplay SDK. It is actually more Windows-oriented than Mac (work in Visual Studio), although you still need a Mac for the final step of getting a signed app onto the store. It sounds like a very capable pure C++ product with iOS and Android as well as a bunch of other platforms, Personal license with splash screen $150 pa, single seat Professional $500 pa for all platforms. They have a 45 day trial license which I'm currently using.
I was tempted by MonoGame, could live with the $400 price tag for each platform (for the needed MonoTouch) but it is just way too buggy. The final straw was a combination of a bug causing it to crash all the samples on iOS5 and that keyboard input is broken on iOS.
Too be fair, I'm pretty sure that is all on the MonoGame side and was very impressed with how well MonoTouch worked and was looking forward to programming in c# with LINQ et al.
Since it is not obvious from the other answers, it should be noted to those who are unaware that the ExEn project and the MonoGame projects both build on the Monotouch platform from Xamarin (formerly from Novell) - which is a prerequisite for both for iOS games.
The Xamarin projects was mentioned in another answer as an alternative to Xna, but is really not. Monotouch and Mono for Android are a way to run C# and .NET on iPhone/iPad and Android.
Game development at least on the iPhone side, is typically done using OpenGL and OpenGL is also wrapped in Monotouch. The Xna implementations in Exen and MonoGame also uses OpenGL as the foundation as far as I know.
It should also be noted that Monotouch and Mono for Android are commercial products.
BTW: Exen also compiles to other platforms e.g. silverlight.

Smartphone Development Framework & Platform?

I am a C Sharp.NET & Silverlight developer and now thinking to swicth to SmartDevice development specially for iPhone & Andriod based phones. I have looked over web and found some cross platform development frameworks like
http://developer.openplug.com
http://www.phonegap.com/
http://android.xamarin.com/Welcome
but not sure about which to choose. Naturally I would like to keep my learning curve less but also would like to choose platform which provides more power, so I am looking for your suggestions and 'Getting Started' tips and also which device you think will be in demand in future iPhone or Android ? .
Thanks,
Maverick
I wouldn't recommend any of those. The problem is, that those "cross-platform" development frameworks, still aren't cross-compilable. This means you still need to develop an application for each platform, but you can reuse heavy calculations if you are using models af MVC.
Another thing is that those frameworks still aren't 100% native supported, so you'll loose some features from the native frameworks when developing applications.
I've read a lot of articles and to be honest, these cross-platforms seems to be dying out, cause both Android and iOS are moving very fast in each their direction and the cross-platforms cant keep up. But it's still up to you.
In would recommend you to choose one of those platform and learn it from scratch. With your C Sharp background, maybe iOS and Objective-C would be the most natural choice.
Enjoy
Edit: Regarding you last question:
I dont think it matters which one you choose, both will be domination for a long time. You should pick the one you can identify yourself with.
since you are C# dev, go for MonoTouch. I heard good things about it.
Miguel de Icaza is behind Xamrin. He wrote the most prolific .NET platform for UNIX, mono. I believe both he and his team have the capacity to bring you the most coverage for common features on Droid and iOS. My friend has a startup and is releasing an app shortly for iOS on Xamrin. It is a video streaming app.
HTML 5 will get you the most cross platform for the investment. Of course, like everyone else has said, if you need lots of native integration or if you want to use the latest APIs upon availability, you have to go native.

Best Framework for RPG/RTS Platform Dev?

Just starting off on iPhone development and I'm looking for some input as to the best platform/framework upon which to build at the moment. I've looked at various options a year or so ago such as cocos2d, unity, and others, however I'm looking for some more current input from those in the trenches.
I am starting on an RTS Diablo-esque game and would like to understand what the highest recommendations at the moment may be with the most robust APIs, etc. for iPhone/iPad development. In addition, as a plus but not required, it would be nice to understand how portable the platform would be to the desktop. Bonus++: portable to other mobile devices?
Thanks in advance for any input!
nowadays we have cocos3D still beta, but maybe worth check it out.
http://maniacdev.com/2011/02/open-source-cocos3d-take-cocos2d-apps-to-another-dimension/
Cocos2D because you can incorporate Tiled map editor into your game making RPG/RTS design (relatively) easy. But, that's just my opinion you can do it however you want technically. And just going to the site now it seems they have released a version of Cocos2d that will work on the Mac too.

Any chance of cocos2d within MonoTouch?

After learning more about how monotouch works, I believe I know the answer to this anyway, but can you use the cocos2d-iphone framework with monotouch? I believe most likely this will be a 'no', because cocos2d is an an objective c library and there would most probably have to be some sort of .net port for this to be achieved? is that so?
I haven't done any monotouch dev as yet, but a little objective c development with cocos2d and am quite fond of the framework, and was hoping to avoid, as I'm quite new to game dev, steeping into the dark realm of straight opengl programming via the openTK interface supported by monotouch.
I have also started a community wiki here for people to share game development options on monotouch which should help us all with this emerging framework.
Cocos2D is being ported to MonoTouch:
http://github.com/city41/cocosnet
Update:
There are two options, you can use the Cocos2D binding on MonoTouch, using the bindings as published here:
https://github.com/mono/monotouch-bindings/tree/master/cocos2d
Or you can use Cocos2D ported to XNA:
http://www.cocos2d-iphone.org/archives/1801
It seems CocosNet has gone untouched for some time now[a]... Is it still being developed or should you go with Objective C if you want to use Cocos2D?
[a] http://news.ycombinator.com/item?id=1251007
I don't have any experience with MonoTouch, but you might want to see if you can get Farseer Physics working with MonoTouch. Farseer is based on Box2D, which is also a component of Cocos2d.
Good news is that the c++ version, cocos2d-x, has been ported to run on XNA for Windows Phone7. This should make it also able to run on Monotouch. I was very impressed with MonoTouch but for cocos2D I'd be inclined to go with straight cocos2d-x unless you desperately want to program in C#.
you can find an XNA version of cocos2d at https://github.com/Cocos2DXNA/cocos2d-xna. This works on MonoTouch, MonoDroid, Windows, Mac, Ouya, Xbox. It even has a high performance box2d implementation that runs as fast as the C++ box2d (at 60 fps, except for the AddPair test).
cocos2dxna.codeplex.com for our forums
www.cocos2dxna.com for the web site that we recently started
nuget.cocos2dxna.com/nuget for the nuget repository
www.facebook.com/Cocos2DXNA for our facebook page