★ TouchArcade needs your help. Click here to support us on Patreon.

Beginner app developer - iOS, Android, HTML5 or Unity?

05-12-2014, 05:41 PM
#1
Beginner app developer - iOS, Android, HTML5 or Unity?

Hey everyone. So I've been a web developer for over 10 years and have only recently decided to delve into game app development. After some reading I know that I want to focus on iOS first but definitely want to make my apps available on Android too.

While I'll start out with some simple games to get over the learning curve, my aim is to create a 2D turn-based battle game (like the monster and card games out there) and later a 2D fighting game like Street Fighter.

My question is which environment/language should I develop for? I've read that HTML5 games can be ported to iOS/Android using PhoneGap etc. and that Unity is really powerful and exports to iOS/Android as well.

Thanks ahead for your advice!
05-13-2014, 12:07 AM
#2
Strongly recommending against going the HTML5 route right now. The performance just isn't there.

I can't recommend Unity more highly. Unity 4.3 (latest version) added full-blown 2D support. Personally, I use a Unity plug-in (costs ~$40-$50) called 2D Toolkit, which I think is brilliant. If I were getting started now though, I'd at least investigate the Unity solution, as I imagine it will probably be "the" solution going forward. Besides iOS/Android, Unity also does Mac, Linux, Windows (desktop), Windows (Metro/Modern UI), Windows Phone, Wii, PS3, 360, Vita(?) and web (with Unity plug-in). I believe native web support is coming soon, with WebGL support.

Someone else mentioned Monkey X as another cross-platform solution, though I haven't looked into it personally.

05-13-2014, 01:56 AM
#3
Yes Unity is really powerful and it's free. Personally I use it for 3d apps, for 2d games I use Monkey X.

I posted it in another thread, but it fits here as well:

Unity is quite a nice tool, but for 2d stuff I still think it's a bit of a mess and too complicated.

Monkey has this build once and release everywhere as well. And yes you just code once and just hit the build button and have an Android APK which is installed on your device and the logcat output is visible in the editor then.

Sorry for this thread derailment but I think it's an important discussion. As most of you might know Unity but almost noone knows Monkey, here's just a full functioning code snippet that simply loads an image and displays it. This is Monkey code and translates with just one click to HTML5, Flash, Android, Ouya, iOS, Windows/Mac, Windows Phone, Playstation portable...

Code:
Strict

Import mojo

Function Main:Int()
  New Game()
  Return 0
End Function

Class Game Extends App
  Field _image:Image
  
  Method OnCreate:Int()
    _image = LoadImage( "image.jpg" )
    SetUpdateRate(30)
    Return 0
  End Method

  Method OnUpdate:Int()
    Return 0
  End Method
  
  Method OnRender:Int()
    Cls()
    DrawImage( _image, 0, 0 )
    Return 0
  End Method
  
  Method OnSuspend:Int()
    Return 0
  End Method
  
  Method OnResume:Int()
    Return 0
  End Method

  Method OnBack:Int()
    Return 0
  End Method
End Class
Can't be simpler, eh?

BTW: The HTML5 target _is_ lighting fast actually!

My dev blog - including app sales reports!
Silent Depth - a submarine game
Facebook
05-13-2014, 02:38 AM
#4
I personally vote unity but you have to throw the unreal engine in there now with the pricing!

Please follow me on twitter @JamesDestined I post lots of development from both my game creation and professional development.
Time to measure - Brain challenge https://itunes.apple.com/us/app/time...820864672?mt=8
The light box, can you solve it (free) (on google play too)
https://itunes.apple.com/us/app/the-...6300?ls=1&mt=8
05-13-2014, 02:52 AM
#5
Well Unity as well as UE4 are monsters and just overkill for 2d games IMHO.

My dev blog - including app sales reports!
Silent Depth - a submarine game
Facebook
05-13-2014, 09:11 AM
#6
Cocos2d is now on version 3, comes with a free GUI level editor, and supports apportable for compiling to android. Also has a built in physics engine.

Open source and free. You code in objective c.

There are some great tutorials to get a feel for it:
https://www.makegameswith.us/tutorials/getting-started-with-spritebuilder/
05-13-2014, 09:34 AM
#7
Cocos2d was our engine of choice for Pickpawcket, although the decision was made in a time before Futile made Unity more accessible for 2D games.

Looking for a writer? PM me

Game Designer of:
Family Feud 2 My First Huge Apple Feature!
Pickpawcket
And a bunch of other games you've never heard of!
05-13-2014, 11:09 AM
#8
+1 for Unity
We are using this engine for our 2d game. all you need is to upgrade it with some plugins (not expensive). but it's worth it.
05-13-2014, 01:52 PM
#9
Wow, lots of great detailed answers here. Cheers all!

I'll check out the suggestions but sounds like Unity is the way to go, especially for long-term and more advanced games.

I think for my first project I'm gonna try a simple sliding puzzle game, like those tile ones.
05-15-2014, 01:19 AM
#10
Joined: Jul 2010
Location: Auckland, New Zealand
Posts: 566
Quote:
Originally Posted by Xaron View Post
Well Unity as well as UE4 are monsters and just overkill for 2d games IMHO.
If by overkill you mean powerful and intuitive development kits, you are right