2D Cross-Platform Game Development Engines [closed]

落花浮王杯 提交于 2019-11-28 14:57:25

I would recommend V-Play (v-play.net) - it's a cross-platform game engine based on Qt for iOS, Android, Symbian, MeeGo, Blackberry10 and also can export for native desktop applications for Windows, Mac and Linux.

It's based on C++ but has a neat scripting support for QML & JavaScript. QML is a no-brainer to learn and can boost your productivity as less code is needed - just see the comparison with cocos2d-x(60% less Loc) or Corona(15% less LoC) for a comparison of the same games.

(Disclaimer: I'm one of the guys behind V-Play)

If you are into using Python, Kivy is a great solution these days. It compiles to all the platforms you ask for:

Kivy is running on Linux, Windows, MacOSX, Android and IOS. You can run the same code on all supported platforms. It can use natively most inputs protocols and devices like WM_Touch, WM_Pen, Mac OS X Trackpad and Magic Mouse, Mtdev, Linux Kernel HID, TUIO. A multi-touch mouse simulator is included.

Kivy uses lots of optimized code for graphics rendering (via Cython) so it is fast too.

Here is a speakerdeck that gives you some background and an overview (android specific).

Here is my game framework Oxygine. It is open source modern hardware accelerated 2D C++ framework for mobile and PC platforms. Features: OpenGL(ES) 2, compressed textures, atlases, complex animations/tweens/sprites, scene graph, fonts, event handling, build tools, and others. Can be built on top of SDL2 or Marmalade SDK.

In the basis of the engine there is a scene graph, that is similar to Flash one. To be short, You can call this as Flash for C++, but more comfortable and way faster. Initially it was developed for mobile platforms (iOS, Android), but can be also used for PC games.

GameDevSam

How about HaxeFlixel? We have a great selection of demos, and of course support cross platform development via Haxe + OpenFL. This is an open source project hosted on GitHub. We support all major platforms (including iOS).

No mention of App Game Kit (AGK) here so let me fill in the gap. It's a mainly 2D cross platform SDK allowing you to code once in either C++ or it's own "Basic" language. Version 2 just got over 400% funding on Kickstarter and will have full 3D support, Spine support (for 2D animated characters), bullet physics and whole bunch of other new features.

It already has Facebook, Twitter, a bunch of Ultrabook sensor commands, Box2D and more. I've been using it from the start and love it (can you tell?). No, I don't work for The Game Creators (the company that created it) although I admit I did do for a while making some apps.

One of the best features from my point of view is you can develop on Windows and broadcast from the IDE over Wi-Fi to any supported device, so while I'm coding I can (within seconds) test my code on iPad, Android, Windows, Mac or Blackberry Playbook.

If you have C# background. Have a look at Duality.

Duality is a flexible 2D game framework written entirely in C# – and it’s here to make things a little easier for you. It provides both an extensible game engine and a visual editor to match. There will be no need for a level editor, testing environment or content manager because Duality is all that by itself. And best of all: It’s free.

I'm just answering to give you some insights on how the SDL is used. As you said before it's not a game engine (it's just a library actually). Furthermore, it is not object oriented at all and you don't have some easy animation facilities (you have to code them by yourself).

How it works (I used the C version but I guess the Lua binding should be similar):

Include the headers needed to build the project on the platform you want.

Design your own game loop in which you will set up (at least) a whole event processing system, frame rate manager and a "screen cleaner (or updater)" (I'm insisting on the fact that you have to manually refresh your screen using the SDL_flip_screen routine which is something that is not one of your concerns at all with Corona).

Then, code your game using all the "mechanics" you made before.

The SDL is a low level library (don't expect to have an easy to use GUI framework or the storyboard framework of Corona for instance).

Finally, this library was used to port Civilization III to Linux, so yes it works but it will ask you a lot of energy to have something like you had with Corona ;)

PS: I am not a native English speaker, so please let me know if I wasn't clear :)

Gideros is a great Lua based 2d cross platforms engine, currently supporting both Android and IOS platforms, but more to come. And it also has some great features as instant on device testing, auto scaling and auto image resolution to easily target various of screen sizes, as well as the option to extend each platform through native plugins.

You also have ShiVa3D, a serious competitor of Unity3D. It uses Lua and supports many platforms from mobile to game consoles and web browsers.

Very intuitive to use and very nice UI to work with.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!