I tried out the Construct 2 for developing a small game yesterday and I pretty liked it. I was curious on using it for game development in Android. It did give an option to export my project to Android but of course I had the trial edition and had to purchase the product for that.
I wanted to know if there are any open source products which are like Construct 2 and can be used for Game development in Android.
Thank you
A quick google search brought up the following open source frameworks for game development:
http://www.emo-framework.com/
http://unity3d.com/ (They have a lighter free version)
There are more, but I do not have enough reputation to post that many links. I would personally recommend unity, its a framework that I work a lot with.
Related
I know it's kind of an 'open' question to ask but I simply don't know where to start. Let me first tell you a bit of my experience/background so you know the level I'm at:
Build cd-roms with Lingo back in the days
Started web/front end development in the HTML3.2 era and kinda left off when XHTML was hot
Worked with Javascript 1.2 up till around 1.6 and later started working with Jquery
Actionscript up to 2.0, building websites and games
Did quite a bit of PHP/mySQL development. Build custom CMS' and later Drupal module development
All this was during internships or as a freelancer, everthing self thought by the help of books and such
So now I'm stuck with this idea to build myself an app. I've decided it should be an hybrid app as my target audience is very small but 60% is iOS and I don't want to leave out Android. Also I've been getting familiar with HTML5/CSS3 and started working on components for my app.
The basic concept for the app is that it's a layer on top of Google functionality: profile, calendar, circles and hangouts. Users will (eventually I hope) be able to create events for other users to rsvp to, they will be able to add eachother as buddies and chat about the events. A small step functionality wise but a huge step for me :)
I'm thinking of using the Crosswalk project for the Android version to counter the biggest issues around hybrid app development.
I've been reading up for the last months in preparation and the more I read the less I seem to know. Here's the stuff I think I should know more about;
Node.js
Gulp.js
Dev environment to work in (I once worked in Homesite, later Dreamweaver - don't laugh)
Packaging tools, etc etc.
Crosswalk project
Now I am not looking for some drag and drop software package to build an app in 3 days. I don't want to take the easy route per se, I don't mind a bit of a learning curve. I work on a Win8 machine, I know this isn't optimal but I can't change this.
Now where should I start? I was thinking NPM myself but you guys might think otherwise. Any good books on the stuff you think I need to learn to get me going?
Thanx for the advice!
I can share my experience with Cordova.
I work like full-stack developer and i'm quite expert to build responsive website, so the natural step to approach mobile dev was try Cordova.
First You can start to build HTML document totally responsive and try as webpage on your target devices.
A cool stuff, targeting mobile devices, is that You can use new CSS3 directive, without worry for compatibility with old browser.
First I installed Cordova following this tutorial.
https://ccoenraets.github.io/cordova-tutorial/create-cordova-project.html
Opening the folder /www on your project you can edit your app like a website, and you can also debug with the browser like a normal site.
To enhance the feature you will find a lot of plugins ready on github to extends the native functionality at the Cordova/phonegap project.
I suggest you also to build using onsen http://onsen.io/ a framework that let you use mobile UI easily.
Last tip that i can give you, if you target Android is try your apps on virtual machine, i use Genymotion https://www.genymotion.com/ that is much more fast then SD<
Good luck with your first app!
As you can imagine, there are a lot of framework where you can start.
Looking on your skills, maybe is better to use JS/HTML/css stack, but in this case, you will create an hybrid app in a webview.
In my opinion, webview applications quality it's only acceptable, but because of his productivity, in some cases could be the best decision.
Another good alternative is react-native. This framework allows to create a native application using javascript. React has his own markup language, is very similar to html. JS code is executed on native device using an embedder javascript engine, instead of webview, so, performances and experience can be compared to native applications.
And, at the end, my alternative, a framework I've made to write native UI and share business logic for each platforms. You can take a look on aj-framework https://github.com/bfortunato/aj-framework
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?
I'm looking for some kind of 2D graphics engine for Android. In my special case I only want to move some Sprites, play short sounds and perhaps play some simple animations.
I know, I could do all these things for my own but I'm interested in some other solution for personal reasons. So is there a good, slim, efficient and most important, open source engine out there one can use and contribute to?
AndEngine is a good option. It's free, it's open (source included) and it offers extensions for Box2D Physics, Live Wallpapers, Aug. Reality (Camera games) and allsorts of other stuff - LOADS of game in the market using it already (no royalties).
Cocos-2d is also a good option.
I mostly recommend Unity3d as it is simply awesome! It has a great documentation and many resources and tutorials. But for Android development, it is not free. Here is the price details and comparison of features.
Also check out the list of some game engines Here
The following engines have been available for years and developers are actively improving them:
GDevelop is a very good open-source engine by Florian Rival that can export to Android without having to do traditional programming. The primary developer has plenty of ways you can contribute to the project.
Unity is an excellent choice if you're interested in entering the games industry but it isn't an open-source project that you can modify. From the Unity blog on March 26, 2018, by Aras Pranckevičius:
We are not releasing Unity as open source. Not even a little bit. (Sorry.) It’s not that we don’t like open source. We’d open source all of Unity today if we thought we could get away with it and still be in business tomorrow, and we do have a growing number of open source projects. But the main engine will remain proprietary for the foreseeable future, and the C# reference source code is released under a license which only permits you to read the code, not modify it. Please consult the full license text for details before you get carried away.
With that said, Unity apparently is open to contributions from developers:
Our decision to start open-sourcing components of Unity is intended to help us engage with you, our customers and users. We want to provide you with all of the securities and flexibilities that having source access provides.
We always welcome collaborative participation and community development. It is our hope and expectation that with this initiative, our community will be able to extend Unity in ways that were previously not possible.
After those, you have choices that involve more programming than game or graphic design:
LibGDX is a powerful, open-source engine if you are interested in traditional programming.
Cocos2d-x is another open-source option if you are looking for traditional programming.
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.
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.