Arcen Forums

Other => Game Development => Topic started by: zespri on July 09, 2013, 06:55:28 PM

Title: Unity porting
Post by: zespri on July 09, 2013, 06:55:28 PM
Chris/Keith,

is it possible/difficult to port a Unity game to iOS/Android? I'm not asking about Arcen titles,, I'm asking in general: if there is a game for windows coded in unity, is this a hard work to port it? Given that Arcen have not done that with their titles I'm suspecting it's quite a bit of work? What about running unity control in-browser? Is it a lot of work to port to from a windows game?

A friend of mine asked me what would be the best development platform to prototype a simple card game, that would allow easy porting to mobile devices afterwards. I thought about unity immediately, but since I have no experience in game development I could not answer confidently.

What do you guys think?
Title: Re: Unity porting
Post by: Oralordos on July 09, 2013, 07:05:28 PM
I don't have Unity, so I don't know for certain, but I am under the impression that everything can be ported directly so long as you are smart about your controls and make sure not to do anything that takes up too much CPU power.

As a more pure programming alternate, I suggest libGDX (http://libgdx.badlogicgames.com/). I use it when coding between mobile and computer. It is for the Java programming language though.

Another option that I've heard about but not tried myself is Monogame (http://monogame.net/). It is for C# and is basically a cross-platform rewrite of XNA.
Title: Re: Unity porting
Post by: x4000 on July 09, 2013, 08:24:18 PM
Unity is hands down awesome for porting. You do have to buy a different license for ios and android compared to desktop development, but the costs there are not extreme. 99% of the code just works the same across the platforms.

Where there are differences are in controls, mainly. You have to code for recognizing gestures, touches, and swipes rather than mouse clicks and keyboard button presses. This is supposed to be more straightforward than usual with unity, but just from a design standpoint this is something of a challenge to get right.

Other things are less obvious that you might have to change. These are not related to code per se, but might make you have to have substantial code changes or even make porting impossible:

1. Your game has to be able to run on the CPUs in question. That's likely fine, but not a given.

2. Your game has to be able to run with the amount of RAM in question. This can be a big barrier for a game like ai war, which uses a ton of ram for gamestate.

3. Your game can't use tooltips, because there's no concept of mouse hover when you're talking about your finger. I mean, you could code that but it would not feel natural. As you know with Arcen titles, that's a big barrier: for your friend perhaps it would not be.

4. The pace of the game, and the difficulty, has to be rebalanced if it is a realtime game, because people cannot react so fast on a phone or tablet.

5. You have to make sure that your game supports all the resolutions of all the various hardware you want to support. This can be very tricky since the screens are so small. In general you may have to really rethink the graphics for a 2d game, depending. Something quite legible on a computer monitor can be incredibly tiny on a phone.

6. You have to learn how the App Store submission processes works, figure out how to support players on that platform, and in general learn how to promote your game in that market. A very different proposition from pc.


Obviously I know you weren't asking why we didn't port yet, but actually you kind of were. Most of our reasons have nothing to do with just direct code. If we wanted a bad port, we could just put in rudimentary motion controls, compile, and submit. That would take a couple of hours max. Doing a great port takes a lot of design work and related hassle.

Which is not to say don't do a port: but that's why I have not. My feeling is that unity makes it so that your hassles are as small as they possibly can be, so it's the best to use.
Title: Re: Unity porting
Post by: zespri on July 09, 2013, 09:03:26 PM
Obviously I know you weren't asking why we didn't port yet, but actually you kind of were. Most of our reasons have nothing to do with just direct code. If we wanted a bad port, we could just put in rudimentary motion controls, compile, and submit. That would take a couple of hours max. Doing a great port takes a lot of design work and related hassle.

Yes I were  :) I'm just cognizant that this has been asked and answered a few times, so I did not want to make you spend time on answering something that you already did. Thank you very much for all the info, based on that if he designs his game from the beginning to be ported, than most of the issues you mentioned are non-issues. I don't think that for a board/card game memory/cpu is ever a concern unless the AI is super-greedy. And yes, marketing and support is a separate and expansive topic.

You probably would not know, but I also wonder, how big iPhone game marked compared to iPad? I.e. when it worth to make the game work in iPhone. From personal experience it's incredibly uncomfortable to play on iPhone. It probably okay-ish for a card game but any action games is not an enjoyable experience, so I would say to target just iPad would be reasonable. I may be wrong though because if for little effort you can get additional substantial cash this is always good. BTW many board games have implementation for iPad but not for iPhone simply because there is no good way to fit them in the iPhone screen.

Oralordos, thank you for your feedback to, good info.
Title: Re: Unity porting
Post by: Draco18s on July 09, 2013, 09:07:53 PM
The two biggest problems with compiling for iOS is that...

1) You need a Mac to do it
2) You need an Apple developer ID ($100 on top of the $1500 you paid to Unity)
Title: Re: Unity porting
Post by: zespri on July 09, 2013, 09:14:19 PM
The two biggest problems with compiling for iOS is that...

1) You need a Mac to do it
2) You need an Apple developer ID ($100 on top of the $1500 you paid to Unity)
Yeah, given that you need to pay $1500 for unity, $100 for apple dev registration looks minuscule =)  As such I don't think these are problems at all. If you are into game dev you are expected to be equipped =)
Title: Re: Unity porting
Post by: Oralordos on July 09, 2013, 10:48:58 PM
And yet I've somehow managed without paying a dime for 7 years now.... I've never tried anything for any of Apple's products though. One advantage to libGDX is that the Android port is free and the iOS port only requires an Xamarin.iOS license. Which is only $300 for indie developers.
Title: Re: Unity porting
Post by: Draco18s on July 10, 2013, 07:38:23 AM
Yeah, given that you need to pay $1500 for unity, $100 for apple dev registration looks minuscule =)  As such I don't think these are problems at all. If you are into game dev you are expected to be equipped =)

Actually it's $3000 for Unity at that point.  Pro ($1500) + iOS license ($1500).  Android license is another $1500.
But yeah, it is kind of paltry to pay another $100 (per year) on top of that, but it is not a small chunk of change.  Hell, my boss is balking at that price tag for my company right now.

We also need another mac for the office so that I don't have to boot our graphic designer off his machine so I can compile.
Title: Re: Unity porting
Post by: x4000 on July 15, 2013, 08:37:16 AM
I'm pretty sure -- but not positive -- that if you just want to compile for iOS and that alone, you just need the iOS license, which is $1500.  If you want the Android stuff too, then that's obviously $3k.  Worth checking on, but that has always been my understanding.

Regarding the size of the iPhone market versus iPad, my understanding is that the phone market is vastly more than the tablet one in terms of earnings.  The scale of number of consumers for the phone is far larger, and people have their phones with them all the time.  Many games come out for the phones only and do amazing.  The iPad apps often charge a premium partly because there is a smaller market there.
Title: Re: Unity porting
Post by: Draco18s on July 15, 2013, 06:42:04 PM
I'm pretty sure -- but not positive -- that if you just want to compile for iOS and that alone, you just need the iOS license, which is $1500.  If you want the Android stuff too, then that's obviously $3k.  Worth checking on, but that has always been my understanding.

Both require Unity Pro first, which is $1500. ;)
So Pro + iOS = $3k
Pro + iOS + Android = $4.5k

Quote
Regarding the size of the iPhone market versus iPad, my understanding is that the phone market is vastly more than the tablet one in terms of earnings.  The scale of number of consumers for the phone is far larger, and people have their phones with them all the time.  Many games come out for the phones only and do amazing.  The iPad apps often charge a premium partly because there is a smaller market there.

True, the iPad market is smaller.  Which reminds me...I've got an app I need to actually publish for iOS one of these days...Nothing fancy, but there's a niche market for something like it.  Needs a revamp on the interface to better handle the phone resolution.
Title: Re: Unity porting
Post by: x4000 on July 15, 2013, 08:10:40 PM
Ah, got it.  I already had Unity Pro so it wasn't a big question for me.
Title: Re: Unity porting
Post by: Draco18s on July 15, 2013, 09:44:12 PM
Ah, got it.  I already had Unity Pro so it wasn't a big question for me.

*Nod*
End result, if you're a new developer, is that iOS is pretty much unobtainable unless you know Objective C (and code in XCode).

Or get Flash, which will compile ipa files without a Mac, and probably for a cheaper overall cost than Unity Pro + iOS.
Title: Re: Unity porting
Post by: x4000 on July 15, 2013, 10:11:49 PM
I think that unity is making some steps to make a free or cheap version for ios. I did not pay super close attention, but one of their recent blog posts was talking about that I'm pretty sure. I could be wrong.
Title: Re: Unity porting
Post by: Draco18s on July 16, 2013, 12:21:05 PM
I think that unity is making some steps to make a free or cheap version for ios. I did not pay super close attention, but one of their recent blog posts was talking about that I'm pretty sure. I could be wrong.

There's a subscription model.  $75/month, which becomes a bad deal at 1.6 years.  And given how long most games takes to develop or how long an indie studio would like to be active, might not be the best plan.  And it's $75 for pro, +$75 for iOS, +$75 for android
Title: Re: Unity porting
Post by: x4000 on July 16, 2013, 03:16:18 PM
Oh wow.  THAT said, it's not as bad a deal as you might suppose.  Every 1-2 years you have to upgrade to the latest version of Unity for the same price all over again anyway.  Well they give you some discount, but it only goes so far.  Still not a great thing, but it could be a way to pay monthly for a few years, then you drop that and use your profits to just outright buy the next version when upgrade time comes around.
Title: Re: Unity porting
Post by: Draco18s on July 17, 2013, 11:04:23 AM
Oh wow.  THAT said, it's not as bad a deal as you might suppose.  Every 1-2 years you have to upgrade to the latest version of Unity for the same price all over again anyway.  Well they give you some discount, but it only goes so far.  Still not a great thing, but it could be a way to pay monthly for a few years, then you drop that and use your profits to just outright buy the next version when upgrade time comes around.

True.

On the other hand, Unity 4 is very nice, hell I'm still using 3.5 and other than despising Monodevelop, I've had very few problems with it.

Sure the new features would be nice, but not $1500 nice.

Similarly, my office is unlikely to ever upgrade our Adobe Creative Suite above CS6 (because of the whole cloud subscription thing).
Title: Re: Unity porting
Post by: x4000 on July 17, 2013, 11:21:52 AM
It depends on what you are looking for, in terms of whether or not it is $1500 nice.  Having the ability to do better deep profiling is really important and can easily save more than $1500 work of man hours right there.  Some of the performance things can make or break certain kinds of games that are pushing the bounds of hardware (not mine).  Once they ever finish their new GUI stuff, that would be worth that much to me all on its own.  Etc.

That said, even though we bought two copies of 4.0, we still use 3.3 right now because of issues we had with the later versions.  So go figure.
Title: Re: Unity porting
Post by: Draco18s on July 17, 2013, 11:33:21 AM
Once they ever finish their new GUI stuff, that would be worth that much to me all on its own.  Etc.

That would be worth it.  But I highly suspect that will be after a major version break (i.e. can't upgrade from 4.0 to it without buying again).

In either case, I'm not going to be pressing my office for it until my boss has the cash to actually do it (last year was a tight one and are only just starting to come out of it).

At home I got Unity 3.5 Pro for free, due to a promotional thing the did for about a month.  'S only reason I have it, hardly even used it.
Title: Re: Unity porting
Post by: x4000 on July 17, 2013, 11:37:09 AM
Sure, I wasn't advocating you use it.  It's certainly a case-by-case basis.  I was just noting that I could see it being conceivably worth it to some folks.
Title: Re: Unity porting
Post by: Draco18s on July 17, 2013, 11:39:45 AM
Sure, I wasn't advocating you use it.  It's certainly a case-by-case basis.  I was just noting that I could see it being conceivably worth it to some folks.

True, it is a case-by-case, I was just thinking in the general case.  Generally speaking most people would find it more cost-benefit to just get the pro version outright.
Title: Re: Unity porting
Post by: x4000 on July 17, 2013, 11:54:01 AM
Yes, usually.  Unless you don't have the money up-front, and are making a quick game that you then intend to use to back-fund yourself.  That's still not optimal money-wise, but that's irrelevant if you don't have the money, I'd think.