Circix - Proof of why Windows Phone is a must for indie devs

Discussion in 'Public Game Developers Forum' started by kinoro, May 1, 2014.

  1. slothwerks

    slothwerks Well-Known Member
    Patreon Silver

    #21 slothwerks, May 8, 2014
    Last edited: May 8, 2014
    To add to this, if you don't like the visual editor, don't use it. I do most of my Unity development in code. I use the visual editor to layout UI, but that's about it. You can pretty much anything in code if that's what you want. I haven't personally used it, but you may want to check out Fusion, a 2D toolkit for Unity from @MattRix, who's worked on a bunch of titles (most recently, Disco Zoo for iOS and Android) https://github.com/MattRix/Futile

    I haven't used the Unity 2D toolset so I can't comment on that. I will say that 2D Toolkit, a plug-in for Unity, HAS been around awhile, and is absolutely solid. Another Unity plugin besides 2D Toolkit that I consider invaluable, is HOTween, which is a lightweight (free) library that can be used for, well, tweening objects (moving/scaling/rotating an object over time)

    Unity makes sense to me (among other reasons) because it has massive developer support/community behind it. It feels like a fully-baked, multi-platform solution. I tried to get into cocos2d-x, but I never felt like it was quite ready.
     
  2. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    Haha no, that's not me! :D Even though I have to admit that I'm adicted to Monkey and actually I'm customer #1. :D

    It depends what you want to achieve. Personally I've build my own small framework but have purchased Ignition as well. It's an impressive framework and I really can recommend it!

    The only external stuff I use is fontmachine which is just an awesome extension for text stuff. And it's basically free.
     
  3. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    Well whether a visual editor increases speed or not depends on the task of course. ;) But yes, 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? ;)
     
  4. kinoro

    kinoro Well-Known Member

    Mar 5, 2014
    96
    6
    8
    I am still very much undecided on this. I think the best way is to make my mind up for myself. I'll probably find a 2D tutorial for Unity and then go on to see if i can do the same in Monkey. Following that, I'm hoping ill have a decent idea of which way today.
     
  5. Planetman

    Planetman Well-Known Member

    May 3, 2014
    146
    0
    0
    Looks like monkey x is best for easy porting to android Windows etc. Am I right?
     
  6. slothwerks

    slothwerks Well-Known Member
    Patreon Silver

    It sounds like Monkey X is good at porting, but Unity is just as easy. It's literally Build Settings > Choose Target (Windows, iPhone, Android, etc... ) and click Build. If you want an iOS build, you'll need an Apple laptop (and for Windows, you'll need a Windows machine) but other than that, it's literally one click to deploy to any platform you want.

    More info about Unity's multi-platform support
    http://unity3d.com/unity/multiplatform
     
  7. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    Same is true for Monkey X. You just select your target in the IDE from a drop down menu and click build. That's it.

    If you are not shy to really code, you won't find any better for 2d(!) games. An empty Android apk has a size of about 60kb (yes, kilobytes) compared to 8MB for an empty Unity APK. At least if you care about app sizes like I do. ;)
     
  8. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    Funnily enough, no one has brought up Corona. Does it suck? I have never used it...
     
  9. Pixelosis

    Pixelosis Well-Known Member

    Jan 28, 2013
    157
    0
    0
    Yes, that's about what I'd go with as well. Unity was clearly not built for 2D in mind and wastes some power. We've been running into issues and tracking odd losses of performance on a variety of 2011-2012 medium range smartphones with this middleware, whlist thinking our problem was in the C# code (we were unfortunate to be too confident about the tool), until we ran tests and benchmarks with a variety of the most basic and empty apks possible and still noticed unaccetapble spikes of resource consumption which had nothing to do with the C# code but with the way Unity runs.
    So I couldn't agree more to use MonkeyX for 2D (or Coco2D-x). The multiplatform support is a huge gain as well.
     
  10. Pixelosis

    Pixelosis Well-Known Member

    Jan 28, 2013
    157
    0
    0
    What you gain in accessibility and speed, you lose in precision and efficiency.
    Unity is also quite expensive and it only becomes good when you acquire several plugins, which can easily reach into the extra $300~400. On the other hand, if you totally suck at coding, you can acquire visual scripting plugins, although I'd say C# isn't terribly complicated to get into. Aside from the tricks of any language you only learn with experience, it's the language that can put you off.
     
  11. Pixelosis

    Pixelosis Well-Known Member

    Jan 28, 2013
    157
    0
    0
    Oh and if you really want to do 2D with Unity, for the moment you'll obtain more from the 2Dtoolkit plugin than from the 2D tools of Unity 4.x. It is indeed robust, but still runs on Unity, alas.
     
  12. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    That simply isn't true. I hadn't spent a single cent on a plugin until I bought UnityCar (which, TBH, I kinda regret). Unity is free and the only time I have ever wanted the pro version was when hitting performance issues, so I could use the profiler. With a bit of old-school debugging, though, it's perfectly fine. It's also extremely simple to do a 2D game out of the box.

    Sure, you can buy plugins if you aren't capable of doing something yourself, but that goes for pretty much every development environment.
     
  13. Destined

    Destined Well-Known Member

    Aug 11, 2013
    1,063
    0
    0
    This is a joke. Some of the best 2D games were made in unity without any plugins. My fav is the classic zombieville series.

    If you aren't comfortable with C# syntax javascript is there an has access to complete functionality.
     
  14. kinoro

    kinoro Well-Known Member

    Mar 5, 2014
    96
    6
    8
    Everyone, this is a fantastic discussion on the topic. As a dev who has used neither MonkeyX or Unity for a commercial project, I've decided I will write the next project using Unity. Just got a few updates to get finished for Circix first. I'll be sure to report back on my findings :)
     
  15. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    That doesn't change the fact that Unity is simply poorly designed for making 2d games. It was not just made for that. And of course you can make a 2d game with Unity as well as I can make a 3d game with Monkey. I just don't see the reason to torture myself trying to make a 2d game with Unity when it's much much easier to achieve with Monkey (or even Cocos, Corona...) with better performance AND smaller package sizes.

    But maybe that's just my point of view, but I know Monkey in and out as well as Unity. I use both.

    For "visual" guys and artists, Unity is the way to go. For programmers like me, Unity is just a blocker in some cases.
     
  16. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    I'm definitely more a GUI guy but I can get by with code (relatively proficient, but no pro at C/C++). I'm actually tempted to try Monkey, now. From memory I think it was made by a Kiwi crowd. Will look into it as I have a few ideas for 2D games... I do know my way around Unity and can do what I need to to do 2D stuff but there are definitely workarounds involved.
     
  17. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    HAHA lol. Yes, it's done by a "Kiwi".

    Again, I think Unity is really great. Maybe the tool itself just doesn't matter, you can create great games with many tools, but I just wanted to point you that there is a world beside Unity. That Kiwi-guy is really awful when it comes to marketing. That's why almost no one knows Monkey yet (beside that the name "Monkey" itself is ... well...).

    All my apps are made with Monkey with the exception of my current 3d submarine game (which is still in development).
     
  18. POLYGAMe

    POLYGAMe Well-Known Member

    Jul 3, 2010
    566
    0
    0
    Game Developer (iOS, Mega Drive, C64)
    Auckland, New Zealand
    Yeah, I think he's one of the guys behind Super Skidmarks for Amiga/Mega Drive. I remember being blown away when I found out they were Kiwis (Acid Software) NO ONE here in NZ was making games back then. Massive industry here now...
     
  19. kinoro

    kinoro Well-Known Member

    Mar 5, 2014
    96
    6
    8
    You guys have put some great arguments across. I find myself once again considering the MonkeyX option.

    I need:
    -Facebook integration
    -Potentially twitter integration
    -Potentially iAd and Admob support
    -Potentially GameCenter
    -Potentially Google Play Services

    Are there API's provided for Unity and MonkeyX and if so how much are they and how easy to integrate? Will i need to write any native code for any of the above?
     
  20. Xaron

    Xaron Well-Known Member

    Oct 16, 2013
    150
    0
    0
    #40 Xaron, May 21, 2014
    Last edited: May 21, 2014
    Monkey has ("build in" means it's there by default, where "user module" is made from the community):
    - [build in] admob support for Android and iOS (WP8 easy to add, no iAd but there is a user module for this I think)
    - [build in] Gamecenter
    - [build in] inapp purchases for iOS, Android and WP8
    - [user module] Google Play Services (partially, stuff like leaderboards, achievements)
    - [user module] Facebook and Twitter (don't know the current state but it works ok as far as I can see)

    I think Unity can nothing of these out of the box but there are of course many plugins for this via the asset store.

    You won't have to write any native code for this. Just check out the free version of Monkey (which can build HTML5 and desktop targets) to see if it's ok for you.

    It's pretty easy to add own modules for Monkey (including the needed native code). Personally I work on a Amazon IAP module and a photon networking module.
     

Share This Page