I’m sure it is an easy enough issue, maybe that’s why I couldn’t find a full solution on the forum.
The problem is, like the title says, how can you upload your game on the Android market if your game exceeds the 50MB limit. I’ve found partial solutions by creating asset bundles that are then stored on another server and on the android market you only put a small project that only downloads the rest of the necessary content.
I’ve tried this already but I’m still not sure how to use Asset bundles and how can they be downloaded and be integrated in the final full game.
I’m sure there is an easy and elegant solution to this problem and surely anyone who published for the android games bigger than 50MB knows how to deal with it.
I’m looking for a solution similar to that used by GunBros game if anyone saw it.
Well sorry to say, but if your game needs more than 50 MB (packed!) then you’re obviously doing something wrong. After all, it’s a mobile device and even with the A2SD feature (which was just added recently with Android OS 2.2).
Especially some older devices have really hard time with such large files, a typical HTC Desire with 2.1 for example would only have around 50-70 MB free of internal memory. That’s if you don’t install any other apps on your phone. And 50 MB is just… overkill.
I really think you should reduce the size by other means (compressing meshes, using lower resolution textures) and more optimizations like that
The way to solve it is getting Unity Android Pro and use asset bundles.
Sims 3 does this, when you first start the application, it downloads a whole host of assets onto the SD.
@Tseng: We are no longer in 2001 nor on Nokia Symbian ^3. Trying to restrict yourself to the cheap crap devices won’t get you nor Android as a platform anywhere.
I’m on a Desire but 2.2 and I don’t have problems with it unless I’m struck by noob devs that should not touch Android cause they never heard of SD installs at very least.
I think its good if such large applications are released, because I have the hope that if google gets enough refund requests due to out of memory, they will finally learn that their lazyness on reasonable min requirements is inacceptable for developers and end users.
WP7 and iOS both have min reqs of 8GB internal, google has no min req at all yet.
Just take the Xperia Play: 400mb of ROM, thats like telling the users that they can forget it totally that they will use the device for normal android tasks.
My desire runs out of internal memory almost daily and I’m forced to remove applications that I would have liked to keep.
Of course that would mostly be games and that’s a problem that they should have considered from the start when developing Android. Sure moving it do SD often helps but there are still to many apps that don’t support it, including Googles own ones.
I kind of like the solution where the app downloads additional data after it was installed because that keeps the main file size down. I guess it could also be used to stream data and/or delete levels that have already been played. It’s going to be less of a problem in the future though once those earlier phone models die out, but right now it’s just a mess…
such streaming near always goes to SD actually so they commonly don’t touch the space available
and I hope that all will follow the nexus s example and stop cheaping out their joke rom space in the future (or that google just no longer licenses android 2.3 and 2.4 to such cheapsake hell drivers)
We are currently having problem with users installing update of our game on
Samsung Galaxy S / Tab (we added new level and we are now on 34 MB, was 26 MB before).
This is what seems is causing the problem:
so it seems, that not 50 MB, but app should be less than 30 MB to survive update on “fantastic” Samsung devices. Grrrrr…
Yea nice, and a cause majority of people to take two months to download the game, cause their monthly dataplans are usually limited to around 200-250 MB before getting throttled down to GPRS speed. As a developer you always have to have a bigger look on the majority of people who use such phones. Even though I have a 1 GB data plan I’m not sure I’d waste half of my monthly traffic for one single game.
That’s the typical nowadays idiot developer way of thinking: Instead of utilizing the power of the devices one goes for things which most people will be able to play properly 3 years into the future (Keyword: Cry3 Engine). Most stupid thing I’ve seen in my thing, to make a game or engine, which will be playable either on PCs user have to sped 2.000-3.000 EUR today or wait for 3 years to be able to “enjoy” it with acceptable framerate (>45).
Take a look at the really good developers/programmers out of there. No you won’t find them in PC land, as they are all lazy asses who instead of optimize a game will fill it with some effects which require hardware 2 generations ahead of the current time. The really good developers, are ones who make games looking better and faster while running on same (old) hardware, namely: Console game developers.
Which is even worse then the one above. Making games for a tiny audience means being slacker. Not everyone has a WLAN router at their homes, and even with a 2-6MBit connections (which are the most commonly and area-wide used in europe) 1.5 GB takes some time. Most people I know with android devices (and that’s around 10 at least) are on a 200-250 MB data plan, so have fun downloading this shit ^^
And an addition to my comment above:
Even though i hate Apple and iPhone, there is one thing which is done differently on iPhone which offeres developers a far greater advantage: iPhones are shipped with 16, 32, or 64 GB internal memory. You can’t extend it, which is a downside, but you can be sure everyone has at least 10 GB of memory on their iPhones, which isn’t the case for android. Some phones come w/o SD Cards, some come with tiny (and slow class 2) 2 GB SD Cards, others with 4, some more expensive maybe even offer a class 10 8 GB SD Card.
There is no limited number of hardware configurations, so as a good developer who actually cares about his playerbase/customer, will aim for configurations which are suitable for as many people as possible and not go the lazy way of it and only serving a tiny playerbase who can afford the most recent devices (such as Desire HD which as 2 GB internal memory instead of the tiny 512-ish you got 8 months ago).
Yea, on the same boat here too. Even though my Desire is rooted, but without A2SD+. So even with moving all of the natively movable A2SD apps + moving system apps (like updates of Google/HTC Apps) to system partition I’m still at 38 MB of free memory, which is exactly enough for 2 (two) unity3d games, before the free memory on /data drops down to 10 MB and I get a low storage memory in my notification bar.
Even though that’s not as much of a problem for me, as I can easily backup my apps with Titanium Backup and restore them almost instantly with all settings etc. But only a small percentage of people can do this.
This is one big, well actually huge problem I see with unity3d for android. It seems (haven’t actually checked) that unity3d adds huge amount of binary files (either *.so libraries or java/android apps with huge code base), so even though game is installed on SD Card, there is still a huge chunk (9.x MB) which remains on the internal memory (dalvik-cache, maybe libraries too). This REALLY needs to be changed too, so that either the codebase is smaller or that it can be completely swapped out to SD Card (and taking longer loading times into account).
Having each game using up 10 MB on internal memory means, that on 85% of all android users out there will be able to have at best 5-6 unity games installed on their phones at any time given (and having next to no other apps) which will heavily hurt unity penetration on Android Market. This however isn’t a problem on iPhone due to their high internal memory. I really like the way how Angry Birds only takes around 2 MB internally (14-16 MB in total).
I’m sorry but don’t people generally use wifi whenever available with their phones? At least where I live, that’s what everyone does. Use wifi if available and use the 3g dataplan only for things like google maps/gps and some light browsing. It can’t be just where I live though, infity blade proves it. Poeple didn’t ruin their dataplans to get inifnity blade, they used wifi, because you can’t download files that big from the app store through 3G.
Good to hear. Have no Unity3d yet, only the two demos (Star Trooper and Batching demo), but was about to get a Android License but was hesitating cause of this. Maybe Units3D staff should update this demos accordingly.
Yea, that’s if you have a WLAN capable router or Hotspot at home. Most people I know don’t, since they only have PC which is usually wired and no notebooks/netbooks and don’t intend spend 50-100 EUR on WiFi capable router just to be able to download incredibly huge games on their phones
They have fairly expensive phones but not a wifi router? I find that hard to believe… Even so, can’t they download it on their computers and upload it to their phones somehow?
What benefit is there from catering to the lowest common denominator? I feel it only makes games worse.
Well, Market games can’t be downloaded to PC probably the data files of that games above cant be neither. It’s not about lowest common denominator, but you should at least support the last generations who are not older than 3-4 years. And android just came out 2 years ago and there is only a handful of devices with internal memory >= 512 MB (i.e.devices which are not older than 6-7 months). Basically all other devices (90%?) are equipped with less than that.
In 2 years you maybe will be able to safely ignore this devices with small integrated memory, but until then as a good developer you’ll stuck with configurations older than 6 months.
And well, I don’t have a WLAN router fyi. I have a normal wired router for ages and it still works fine, so why spend additional 100 EUR for only WLAN to phone connectivity. I have no other devices at home which would require WLAN (no netbooks, no notebooks, no tablets, no other smartphones). So what’s the point in buying one, especially if I rarely if ever use the mobile functionality at home as i can surf on my PC at home if I need to, check my mails or whatever else.
I think you Tseng are wrong on being so much upset on this topic.
2011 is the Android year. Not my invention, data and analists are saying it.
Unity only runs on a GOOD Android device. Good means not only that it must be at least ARM7 but that usually that device is packed with a good amount of memory.
A memory card is now on the order of 5-10$ for 4-8GB.
Also your consideration about data plan: a person with Android will much probably have a computer and WiFi at home or office, no problem with downloading stuff. No WiFi? Still can connect with USB.
Again, datas are against what you say: people bought Infinity Blade and enjoyed it. If they had some problem with connection they had overcome it because they WANTED to play that game.
It’s a targeting matter: small, casual games for casual players.
Huge ubernice games for hard core gamers that know how to use their devices and are highly informatized or hard core players.
You can’t take Angry Birds as an EXAMPLE of what must be done.
That’s just the lucky diamond in the pit.
First of all it’s a kind of game that does not require loads of graphics.
But what about a realistic driving game? Or even better a well done RPG?
So the final matter is: you want to build a casual game then you should compress it the most possible to target your casual audience, but for other types of games the filesize goes falls to second place, being the first place to have great graphics and audio.
Watch, this is not polemics, I just suggest you to review your positions about how to build your game.
Also try to foreview what will be around in just one year by keeping updated on news with ENGADGET (in example).
Great stuff is coming this same year so if you start to build a game now and program to finish it in, say, 4 months, probably you should just don’t care too much about your game size… until it’s NICE of course.
Surely people don’t want to WASTE space on their phones with crap. I personally keep ugly but enjoyable games on my phone if they don’t use much space but I deleted nice graphics games because they weren’t funny at all.
So, depending on WHAT type of game you are developing, you must find the right compromise between filesize and beautiness.
I’m not developing apps for Nokia cellphones with black/white led display. I’m developing apps for smartphones! Devices that have more power than some PCs back in the not too distant past.
Seriously, I couldn’t be arsed if someone feels I have to make my game SUCK so they can download it on GPRS because they are too cheap to buy WIFI in their home/too lazy to go to a nearby place that offers free WIFI/ too unskilled to steal it from neighbours etc .
That person isn’t ready for serious mobile gaming and is perhaps better off sticking to Angry birds.
Focus on quality, after that look back and see what you can tweak to accomodate low-end and decrease size (this usually doesn’t entail more than down-scaling assets and shaders). This will only make it easier when you intend to port that game over to more capable systems like PC as the original game was built for HQ. Without this, the mobile market will contain nothing but fodderware.