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

Discussion in 'Public Game Developers Forum' started by raynre, May 12, 2014.

  1. raynre

    raynre New Member

    May 12, 2014
    2
    0
    0
    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!
     
  2. slothwerks

    slothwerks Well-Known Member
    Patreon Silver

    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.
     
  3. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    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!
     
  4. Destined

    Destined Well-Known Member

    Aug 11, 2013
    1,063
    0
    0
    I personally vote unity but you have to throw the unreal engine in there now with the pricing!
     
  5. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    Well Unity as well as UE4 are monsters and just overkill for 2d games IMHO.
     
  6. cadaei

    cadaei Well-Known Member
    Patreon Bronze

    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/
     
  7. Blackharon

    Blackharon Well-Known Member

    Mar 15, 2010
    978
    0
    16
    Game Designer for Ludia
    Canada
    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.
     
  8. Paxer Ananyev

    Paxer Ananyev New Member

    May 8, 2014
    4
    0
    0
    PM, Game Designer
    Minsk, Belorus
    +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.
     
  9. raynre

    raynre New Member

    May 12, 2014
    2
    0
    0
    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.
     
  10. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    If by overkill you mean powerful and intuitive development kits, you are right ;)
     
  11. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    You don't need to do that at all. Unity is great for 2D out of the box. I don't even use the 2D settings... just build everything in 3D, lock off the z axis and use an orthographic camera. That's all 2D development is anyway. All 2D games are built using 3D objects. True sprites are a thing of the past ;)
     
  12. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    No I meant overkill in terms of the huge package sizes, bad performance and that stuff. ;)
     
  13. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    LOL. Nice try. Most of the 2d games are NOT using 3d objects and are NOT 3d games with an orthogonal camera.
     
  14. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    #14 POLYGAMe, May 15, 2014
    Last edited: May 15, 2014
    Yes, they are. Sprites are just texture mapped quads, even in 2D systems such as GameSalad etc. Everything these days uses OpenGL or DirectX or similar libraries. Sure, the view is orthographic by default but technically you're still utilising 3D objects.

    I've done 2D and 3D development using a variety of dev kits and even native code. The only true 2D stuff I've done is for Sega Mega Drive ;)

    EDIT: Not all, but most systems utilise quads. It makes sense, because it's easier ;) Of course you could code it any way you want but I'm referring to the majority of development kits out there. So yeah, you're right in correcting my initial comment about all 2D games. Lol.
     
  15. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    #15 POLYGAMe, May 15, 2014
    Last edited: May 15, 2014
    Well then you're incorrect. I've released several sub 10mb games, 2D and 3D. And as for the performance, seriously? Bad performance from a Unity and Unreal Engine? Two of the most powerful and widely used development platforms available? Yeah, nah...

    Unless you have the ability to write your own engine from scratch, Unity or UE are perfectly fine. In fact, even if you are capable of building an engine, it's highly doubtful it'd be as good as something written by hundreds of experienced engineers... not to mention that the cross-platform compatibility is awesomeness in a bottle :)
     
  16. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    So how do you create a game with Unity which is sub 10MB? That means your artwork is below 2MB?

    Well ok, I don't know UE4 but the free version of Unity has some drawbacks when it comes to performance especially on Android.

    I don't speak about creating an own engine, but just using the existing ones. There is just a world beside Unity and UE4, that's all what I wanted to say. And obviously Unity might not be always the perfect tool, especially for 2d games. :)

    EDIT: regarding that 2d stuff using OpenGL you are right of course. I think I just misunderstood what you meant.
     
  17. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    Yeah they were pretty basic games... But looking at my file sizes, they are around 30mb on iOS, yet only 9-10 on Android for the same game... I'm guessing it's just the crap Xcode puts in, so probably an iOS thing, rather than a Unity thing, but I could be wrong. Obviously no matter what dev kit you use, art assets will add to the overall size.

    It's funny... a simple .png file can take up megabytes, yet in the old days, we got full colour, full screen, COMPLETE GAMES for much smaller file sizes. We've gone backwards, in some ways! Haha.

    I haven't found anything that equals Unity yet, even for 2D but that's probably just because it's what I'm used to. Also, when you compare stuff like GameSalad and Corona to Unity, Unity absolutely destroys them when it comes to speed. Native code for 2D stuff could be better, I guess but I'm too out of practice for that and TBH, Unity is what I know and it's free, so I haven't looked into other 2D options lately.

    BTW, your sub game looks awesome! Is it similar in any way to Silent Service on C64? Love that game :D
     
  18. Planetman

    Planetman Well-Known Member

    May 3, 2014
    146
    0
    0
    monkey

    [thought monkey x was
    Good for porting to android and Windows etc?QUOTE=POLYGAMe;3228429]Yeah they were pretty basic games... But looking at my file sizes, they are around 30mb on iOS, yet only 9-10 on Android for the same game... I'm guessing it's just the crap Xcode puts in, so probably an iOS thing, rather than a Unity thing, but I could be wrong. Obviously no matter what dev kit you use, art assets will add to the overall size.

    It's funny... a simple .png file can take up megabytes, yet in the old days, we got full colour, full screen, COMPLETE GAMES for much smaller file sizes. We've gone backwards, in some ways! Haha.

    I haven't found anything that equals Unity yet, even for 2D but that's probably just because it's what I'm used to. Also, when you compare stuff like GameSalad and Corona to Unity, Unity absolutely destroys them when it comes to speed. Native code for 2D stuff could be better, I guess but I'm too out of practice for that and TBH, Unity is what I know and it's free, so I haven't looked into other 2D options lately.

    BTW, your sub game looks awesome! Is it similar in any way to Silent Service on C64? Love that game :D[/QUOTE]
     
  19. plicatibu

    plicatibu Member

    May 3, 2012
    14
    0
    0
    Developer
    Brazil
    Hi, all.

    I don't want to hijack this thread but I have a doubt:

    Isn't Unity a paid framework?

    In case we can use it for free, which are the limitations we face regarding the paid version?

    Thank you all.
     
  20. tea

    tea Well-Known Member

    Jul 23, 2010
    142
    3
    18
    Thanks for the code sample, I do think it's a nice way to demonstrate what a framework does.

    But...

    :eek:
    Code:
    { Where the hell did braces go } 
    What is it with reinventing square wheels every time?

    Kinda looks like COBOL. Never mind...
     

Share This Page