简体   繁体   中英

High Performance ActionScript Mobile Game Engine for iOS

Is there an existing AS3 game engine that is optimized to run using Adobe's mobile iOS packager.

I'm currently experimenting with Flixel as it's a really great AS3 game engine, but it's running pretty slow on my iPhone 4 (so I'm sure the performance would be awful on slower hardware). I'm interested in optimizing it to work well on the iOS.

Also I might just abandon AS3 on the iphone if the performance just can't be reached, and instead choose something like Cocos2D or some native Objective-C engine. It's just nice to be able to integrate some advanced things from AS3 like physic engines, RTMFP (UDP realtime multiplayer libraries etc).

It might be worth using something like Haxe to cross-compile AS3 to C++ and use that as the bridge (but I'd lose some of the nice Flash Player VM capabilities).

There already are some Objective-C ports of the Flixel engine.

I can see where your question is going,

It's not trivial to get the performance that you are aiming for. I would dare to say that there's practically no way to get the same performance as a 100% native game, maybe you can get the game to run quite decently, but I wouldn't count on it.

What I mean is that if you are writing a game, maybe you should be focusing on the Game itself, Features + Polishing instead of fighting with Adobe's mobile iOS packager, which certainly has variables that you can't control.

Don't get me wrong, I've seen cases where the Packager went quite well, like some non-game apps or even basic Games, but if you really need the high-performance, my advice is to use the best tools suited for the job.

Having said that, Haxe could help you to re-use some of your code if that's a big concern (because of the time required to rewrite + deadlines).

So in conlussion, my recommendation would be to use Objective-C, C or C++ if you want the performance. I tend to preffer the latest 2, because you can easily achieve portability and performance for the really CPU intensive stuff, and still code the "higher level" modules with Objective-C.

There's also a Native Objective-C game Engine in development which is based on Flash API's, I think mostly for the graphical stuff but it could be worth taking a look. It's Open Source, and right now it's in Private Beta, but It could be worth taking a look:

Pixel Wave

To check out the latest revision you have to [contact][2] the guys for them to give you access to the private Beta, do so at contact AT pixelwave.org

I think it's important to say that I'm in NO WAY affiliated to this guys, but Pixel Wave it's a project that I've been following for a while, it features a Vector Drawing Module too, and if you look at their forums, you can see some Games that are actually in the AppStore which are made with the Engine.

Best of Luck!

I was also looking for a good game engine for iOS and Android without having to write it for each plataform, and with a good performance.

This is not so easy to achieve, i've seen some good (i don't dare to say great) game engines in flash, that you could use for mobile, you can find a list at flashrealtime.com

http://www.flashrealtime.com/flash-game-library-engine-list/

as you can see some well known (but simple) games were developed with some of these engines.

The other solution i came to was using some cross-plataform mobile sdk like coronaSDK

http://www.coronalabs.com/products/corona-sdk/

I think this is the best suited for mobile game development, since it has a very easy-to-use physics engine and a LOT of sample games that can be used as a starting point for you own game. Also you can setup a free account and download a copy of the sdk to try it out (that's what i just did)

But going back to the first answer, if your goal (or constraint) is maximum performance, you have to code in the native languages (Obj-C / C++ for iOS, Java for Android).

Also i've seen some improvements when you enable/disable the GPU processing (it depends on how a specific engine is implemented)

For example: if graphics are handled mostly as bitmaps i think that enabling the GPU would boot the performance, opposed as when you use mostly vector graphics that the CPU performs better (this is only what "i think" based on what i've read, i haven't actually tried this with games, just apps)

Hope to be helpful!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM