How to update app with new content but large files?

Hi,

Instead of spending a year developing a gun simulator app with many guns packaged up in expansion files, I am releasing a gun at a time each in a separate app.

Instead I want to have just 1 app download each gun as they come available so instead of having 100 apps I would have 1 app with 100 guns.

Problemo: each gun is 10 to 40 Mb

I have made apps which download content from private servers but 40Mb is just stupid. If the app hits it big (yea, I know…) this will be impossible from private servers.

I have used expansion files also, but it’s just 2 files, and you have to update the app to get a new exp file up. AND adding a new gun means the user would have to re-download old content along with the new. Large unnecessary downloads.

So the ugly hack I’ve come up with is each app exports each gun to the sd card DB. So if you download 3 apps 1 gun each, then each app will have access to the gun db and you can uninstall any 2 apps and the remaining app will have all 3 now. But this is not the right way todo this and will become somewhat unmanageable on my end as the gun count grows. And also the market will have all these apps that shouldn’t be there.

Any better ideas? Does Google offer any way of downloading new content from their servers?

Thanx :slight_smile:

As you mentioned you can upload only 2 files in google servers. In your case, there is only one option. Your own servers. You could do like a shop, where users will have a list of all that guns and will be able to download them. Probably you will be able even to monetize them, with Tapjoy, Getjar or IAP. I dont see any other solution here, only your servers…

P.S. You need to improve your apps, for example add some enemy. And depend on their gun, make different kill effects. Seems you are well on design, so it is not very difficult for you to add animation and blood effects.

Ya, I will be doing the kill effects later on, but I need to pump out at least 10 more guns right now while I can. I am new to 3d animation stuff and will take a good while to learn and develop that. There is an app out there that does as you suggest and they have 10 - 50 million downloads to date, so it needs to be done, and done better.

IAP is a good idea, will consider that.

Bruce… You gotta look into rendering on the fly. If you can render on the fly your large file sizes will go away. You’re rendering movie files and embedding them in the app right?

I don’t know what program you’re using for the models, but many programs have export options and/or there are tutorials to export a .obj file to render at runtime. It’s actually a big pain in the butt, but it can be done.

It also can be done with prerendered movies like you’re doing now, but there’s no way to get around the file size issue. A prime example of prerendered clips in a successful app would be Outfit7’s kids apps.

If you do stick to prerendered you might just want to make each app separate. Make your main app link to these other apps (its a seamless process). If they don’t have it installed, they’ll be prompted to download it off Google Play. I don’t think this is a great option, but it works.

I wasn’t aware of rendering .obj’s on Android. I looked it up, pretty neat, useful to know. However, I don’t think I could to do that with my files since I am doing photorealistic renders with complex lighting and shadows and uv texture mapping which takes a very powerful machine to render out and many hours to complete. I had to recently buy a new machine just to do these renders (4.4 Ghz OC’d 6 cores). But hey, maybe it would work, someday I’ll have to try it out.

I looked at outfit7’s apps a few months ago, they use ffmpeg libraries to run their animations, they are very successful. I’ve done quite a bit of NDK and don’t want to again unless I have to (still waiting for hair to grow back). The apps I made seems to be running real good now so far so I will stick to that until something changes I guess.

After this app I’m finishing now is up I will add the functionality to alert the user of new content available to download and merge via what you described above, getting inundated with requests for more guns. I think I can use Appbrain for the real time push if I am not mistaken.

Then after all is finished I will package it all up in 1 app with expansion files that can hold 4Gb which will be plenty.

Thanx for your suggestions, mucho appreciado.

Very good point- I didn’t even think about the lighting, textures, and extra effects. I do know you can “bake” lighting and shadows (since the animation is always going to be the same) to help with rendering times- no idea if this can be transfered into information for a .obj (or some other info file) though.

The only thing I’ve done was transfer my models from Blender into a live wallpaper. After realizing I had to tone down my vertices to get any smoothness on a phone I gave up lol.

Which brings me to my next point- I know what app your talking about that has 10-50m downloads- their guns are pretty lame texture/lighting wise. So yeah, prerendering might be the way to go. Mind sharing what program you’re using? You can PM me if you don’t want it public.

There’s so much left to learn with 3d modeling it’s quite overwhelming. I have to buy every gun model, I’ll leave that part to the pros, and there are very few of them who can do quality work like that. I do all the texturing, lighting and animation. The models have 100,000+ polygons each so takes a bit of processing power to render.

Have you considered using prebuilt video instead perhaps (i.e. video that you have just shot with a camera - i.e. low tech) ?