I'm looking to create a 2d mobile game (iPhone and Android). Are there any resources that you're aware of that breakdown the following in depth (yes, I googled it):
Corona SDK
Cocos 2d
Unity
GameSalad
As a little background, I've been doing iOS programming for ~2 years.
You obviously haven't done enough research for your question, as googling corona cocos2d unity pulls up a simply excellent comparison of not 3, but 6 game engines. All credit to the author at Burton's media group for this masterpiece.
I would recommend Cocos2d, as it is, in my opinion, equally or even better than Corona, and it is free.
Some great resources to get you starting off are thenewboston's video series, which start off as an introduction to cocos2d, and then how to make an RPG. It is a really nice introduction to cocos2d, and helps you understand the programming language. (I am not sure what programming languages you already know)
http://www.youtube.com/playlist?list=PL452AE69EA1EAC535
Have fun
Related
Before we start: Yes, this question has been asked and answered for similar backgrounds a couple of times, but all extensive answers to this questions I could find are at least 2 years old and game engines come and go.
On top of that I have some specific requirements that I could not find being discussed in any of the posts.
What I want to accomplish is to create a 2D game. I have a background in Java programming and programmedd some simple Android apps (a messenger and stuff like that). I also have very basic C++, C# and JavaScript knowledge as well as OpenGL and building an own 3D engine (university project):
Should run on Android (version 5 or higher) and probably iOS (I haven't done anything with iOS yet so this will be my first project).
Needs some very basic physics for bullets/hit-tests (I can also code this if it's necessary so this more like a soft constraint but I'd prefer the engine or some simple library to do the work for me)
UI-components. Yes, I will need them and many will be text-oriented. Also scrollable components. I have seen many engines lacking these and coding it from scratch can be tedious. Also many engines make it hard to create more complex UIs which I would probably need.
In-App purchases. It would be really nice if wouldn't have to mess around with this too much.
Some nice graphic effects.. Parallax effects, particles (for magic spells, etc)
Communication with a centralized game server.
Notifications in the notification bar (with custom images and texts
Should be able to handle basica animations, play music and videos.
Should be able to integrate with Social media (Facebook and/or Twitter as a minimum). Would be nice to have something like "Like our page on Facebook to receive X coins).
Performance is probably NOT critical - I assume that any game engine fullfilling the other requirements is programmed sanely enough to be fast enough on a modern device.
Should be battle tested, not being abandoned, have a reasonable documentation and community
Rapid development should be possible. This is very important to me as I plan to change the style and other things quite often and let people test and comment the changes.
What I found are basically some different types of engines:
- Engines where one builds a game in a framework and manually adds native code for things the engine does not support, like LibGdx.
- HTML5-only engines that need some 3rd party app-wrappers like phaser + CocoonJS. Some other also provide this, like Kiwi.js.
- Monolithic engines that provide everything (okay only one: Unity).
From all of the engines I have seen I think Unity would fit my needs best, but then again I have no experience whatsoever with it.
What would you suggest?
I suggest you to look at GameMaker: Studio
Here is course on Lynda Learning GameMaker: Studio and GML
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I would like to start developing a 2D game for Android, but i haven't got the slightest clue where to start. For instance, how are the Angry Birds games developed? I'm guessing it's a 2D engine or something?
Can anyone shed some light on the matter? Anything is appreciated as i have zero ideas on where to look first.
I've used AndEngine extensively and I really like it BUT
2D games - unless you have something really, really complicated in-mind (lots of physics and collision detection), I'd recommend you consider creating them in plain old HTML (HTML5, to be specific).
Why?
Because HTML5 works pretty-much everywhere and there are some really decent toolkits for making more complex stuff (including level editors and basic physics stuff).
Moreover, you can convert HTML5 into Apps for both Android, iOS and other platforms - e.g. your game will work pretty much everywhere with minimal extra effort. Using tools like Cordova(phonegap) even allows you to access things like cameras and tilt sensors in Apps created from your HTML5 code (Dolphin Browser on Android even allows those apps to run in the browser!)
If you do want fancier stuff, Corona is pretty decent and easy to learn and cross-platform too - and Andengine is great if you're happy to be stuck on Android!
I recommend LIBGDX
http://libgdx.badlogicgames.com/index.html
Open source, java, cross-platform, good support for Open-GL, lot's of examples and a good community.
Yes, Angry Birds was developed on its own 2D engine. I recommend to look at these engines:
Corona SDK - really simple crossplatform(!) engine. Nice one to start.
AndEngine - havent any type of documentation, but there are a lot of references and useful extensions, including Multiplayer. Good community
Marmalade (AirPlay SDK) - really powerful, but complex engine. Many hits were made on it
Also you can use Unity3D with 2D extension. Its awesome engine.
Good luck with your beginnings ;)
Persnally, To Get started with your first 2D game, Don't straight away start with a Game Engine or 2D Frameworks.
Here's a Game that I developed with just the bitmap manipulation logic and a java thread to run the game.
Parachute Penguins
https://play.google.com/store/apps/details?id=com.positivesthinking.parachutepenguinsfree
Create a Java thread that serves as a game loop.
Make use of SurfaceView and manipulate bitmaps and with onClickListeners you can achieve a simple 2D game.
Go for Game Engine and Frameworks once you are comfortable with it.
I'd recommend AndEngine. They have a really good forum plus their example code is pretty much self explanatory.
If you're looking for a headstart, follow this tutorial.
Go for AndEngine!
Felgo (felgo.com) offers several tutorials for any skill level. It's a cross-platform 2D game engine.
There is already an open-source Angry Birds clone that was made with Felgo.
It also also comes with ready-to-use game templates for the most successful game genres like tower defense, platform games or puzzle games and provides reusable components for handling multiple display resolutions & aspect ratios, animations, particles, physics, multi-touch, gestures, pathfinding and more to prototype and build games within days API reference.
It is all well documented!
Try here, this helped me loads: http://www.javacodegeeks.com/2011/06/android-game-development-tutorials.html
I already answered similar question in another post: Android 2D game development without an engine
I posted a tutorial at http://www.youtube.com/watch?v=PnnHGCKrIzw
Assuming that you are familiar with Java, Eclipse (or similar compiler), Google API, etc. Here are the steps to build a full-blown 2D Android game:
Use drawable-nodpi for sprite images (gives sprite size consistency
across screen densities and sizes)
Use different layouts to support various screen sizes (e.g.
layout-large, layout-xlarge, etc...)
Use TranslateAnimation and ObjectAnimator to animate sprite movements across screen
Use math to figure out sprites collision (e.g. screen coordinates
and sprite location etc.)
Use handlers and condition statements to control the game events
You can test the outcome of following the above guide to developing a 2D Android game by checking out the game Yum Yum Pow available on Google Play. The free limited version is available also on Google Play and can be downloaded at:
https://play.google.com/store/apps/details?id=com.wildroid.yum.yum.pow.limited
For my mobile programming course we've finally been given some free reign to design and develop our own application. Our only requirement is that we have to implement geo-location or sensors in some way. I've chosen to try and make a very simple game which implements the accelerometer. The basic idea is that shapes will fall out of the sky (top of the screen) and you have to tilt the phone to make the 'guy' move and catch the shapes before they hit the ground. I have some ideas for game flavor but my teacher recommends I forsake that and just get the basic game play down (we only have 10 days).
So my question for you- does anyone have any high level advice for this application I'm going to tackle? Are there any good game/physics libraries for native android?
By native I'm assuming you mean the SDK, and not the NDK since you haven't added the android-ndk tag.
The two game engines best suited for your needs are AndEngine and Libgdx. They both have the Box2D physics engine as well. AndEngine comes with several examples, and combining a few of them could give you what you need. Both engines have a good community support as well.
https://developers.google.com/maps/documentation/android/
http://www.andengine.org/
Google is your friend.
Hei Friend,
Libgdx is what I recommend for this
Thank You
How should I begin learning game development with frameworks like Unity3D or Roar Engine?
I currently only know html/css and a tiny bit of php, e.g. nothing complex.
Regards,
Andrew
penelop is a very nice tutorial.
Here is the link http://unity3d.com/support/resources/tutorials/penelope.html
It is write by JavaScript. If you use C# , you can look at http://gltovar.com/blog/?p=35.
And also Unity3D's Documentation is write very great.
If I were you, I would have started up with Unity3D, and choosen JavaScript as programming language on it. Because of it is you can find so many resources easily on the Internet. There are so many videos, documents, web sites or something else. I have done like that at least, you know. To be honest, developing game using Unity3D game engine is simple. First, you will add some objects to scene. Second, control the relationship of objects to each other. And after that, you will find 3D models out for your game. In fact, you will search how to develop game for mobile devices. For example searching for touch functions and finally you have games on Google Play or AppStore etc. Just remember Unity3D game engine is multi-platform. That's the point to me. Because I develop a game only one time and I can duplicate it for other platforms, especially to Android OS from Windows.
By the way you said that you just have known html and css, a tiny bit of php. Don't care this situation. Unity3d has an unique structure. That doesn't mean this is easy. I mean that programming in Unity3D is enjoyable only. Just download free trial version and get start it. Good luck.
https://unity3d.com/unity/download
I only have experience with Unity3D and a tiny bit of SIO2. SIO2 is just a framework in C++ without GUI, i.e. yo use your favorite IDE (XCode, Eclipse, ...) and Blender for modelling. This seems to me pretty hard for a beginner.
On the other hand doing C# on Unity should not be that difficult for a PHP programmer. There are a lot of resources, my favourite is a 1 hour video tutorial by Matthew Campbell. It is a hands on session and after it you will have simple game on your smartphone, PC or whatever. The Documentation from Unity3D themselves is pretty good as well.
Another choice colud be Unreal engine (pretty good reputation), Bork3D or Torque
In general it will take some time to get some knowledge but it's pretty interesting stuff. Be prepared to do some math, especially when going into 3D. Keep in mend that games are strongly related to graphics design, nice thing but not too easy for programmers
My company uses Unity3D, and I have found it to be the most successfully-designed engine in terms of combining code and a UI-Editor for developers. In other words, I can code, and then hand of the same project to developers to work with it in the exact same engine it was started in. You can even customize the editor itself to streamline the coding process or give the later team a GUI to work with to edit code, without them having to go into the scripts and know how to do it that way. We also have an Unreal (UDK) team, and they love it. It is more similar to Valve's Hammer/(Source) Engine and uses a drag-and-drop system called (i believe) Kismet for all the coding.
As for coding languages, in Unity we use C#. It is a high-level and streamlined language from the .Net Framework and I have gone from knowing nothing to being pretty advanced in the course of a year. I highly recommend it. Good luck!
I've been looking over a bunch of 2D Engines for Android development and I'm finding it fairly difficult to decide between all of the options. Many of the engines are no longer being developed and not all of them offer the same features.
The game I am developing will require fairly standard functionality:
Drag and Drop
Graphics Commands Optimized to Handle Low Sprite Count (~20)
Sounds/Music
Taking into account that I won't be creating a super-complex game and that I'm hoping to avoid a lot of the typical hassle with creating a GUI in Java, what plug-in would satisfy my needs in a simple and optimized fashion. So far I have looked into a group of engines including cocos2D, Angle, and various others.
The engine can either be under development or not, so long as it is a complete project.
Sorry if there are any grammar errors or any confusion, I'm up rather late after setting everything up/doing the research.
Many thanks in advance,
Justian M.