Hello, I have a couple of moderately successful apps on the android platform now and I believe I am ready to step it up a notch. I would consider creating an RPG to be one of the highest achievements of the gaming community no matter how simple it is or the size. I think I am ready to start reaching for that achievement. Even if I make $0 off of it, I would still be happy to have accomplished such a task. With that being said I have a couple of concerns regarding the android platform I will be developing for. I’m hoping that some of you can help address these: SIZE – Believe it or not I’m looking to keep this under 50mb with some decent graphics. I’ve seen some dot artwork RPG’s on android at around 20mb, so I’m thinking with a toony looking game I might be able to keep the size very low. – Your thoughts? OPEN WORLD – How big do you think my world could be considering the game play is like Elder Scrolls where you are free to roam the world but a quest will have you enter the caves? ITEMS – Items will all be 2d sprites on the GUI until equipped so I don’t think there should be a problem there. So what do you guys think? Can I keep a decent looking RPG under 50mb?
Short answer is yes. The size is going to be based more on the size of your audio and visual assets more than anything else. Quantity of them would be next although you could have a ton of tiny wav files without taking up much space. Generally speaking, the more you reuse assets the less space that will be required. The smaller / lower resolution of your assets the less space that will be required. Going to the other extreme you could easily build a single scene with multiple music files, speech and other sounds huge high res graphics and hit 50 mb before you start programming.
What size is an empty Unity project build deployed to Android? I know iOS builds are surprisingly large in size, but I don't know specifically how large they are.
The two biggest eaters of file size are graphics and audio. Have a couple of three minute mp3's, and that would be most of the 50 megs. A decent sized sprite sheet can be about the same size as a music mp3 too. It's not impossible to hit that target, but it will come at a cost to quality.
An empty(-ish) Android build is around 8MB, I think, and the same iOS package anything up to 24-26MB. Pro possibly reduces that a bit, closer to 11-12MB. It's been a while since I tried building a "hello world" project for either though I've seen lots of fairly complicated games keep their assets low. There are plenty of tricks to use, some being based on specific platforms. There's much to be saved by using as low a number of bits per plane in an image as possible, and using a decent image manipulation program to dither the graphics in advance. That trick has saved me massive amounts of space on iOS at least. If you can make use of SVG art for sprites, do so too. You'd need something that builds sprite sheets in memory for optimised use, but it'll save space even more than mere compression. You'll also save when you can tint items with different colours for variation. Just make the changeable elements white and change it per item. Substances are helpful too, since you can instantiate a copy of the material for each variation. If you have Substance Designer and/or do some shader coding you can piece together materials with much flexibility, while barely using any space at all. Some mobile devices might be slow while the Substance engine builds the in-memory version though. Sound effects can be reduced to the lowest bitrate and frequency before you hear any difference, and nothing but the music should be in stereo. Use built-in effects where possible. People say "make it work first, optimise later", but for certain tasks it's best to design with optimisation in mind right from the beginning. The above-mentioned Substance/shader tinting could be one of those, and using characters built from parts is definitely something you should plan for early if doing it at all.
This makes me think it would be fun to do a short competition where everyone makes the same thing (say, first level of Super Mario Bros) while keeping the total game size as low as possible.
If you have the programming skill, try to keep only a few scenes and use generation to create your level. If you want it to be under 50mb and an open world RPG.... then I think its a must.
I had started on an online RPG (not an MMO) but an online RPG and just graphics on the first level made me up to 70 Megs with a 500 x 500 terrain and some models. (Textures were I'm sure my biggest killer) as I had no audio imported yet.
Elder Scrolls open worlds? Isn't it too big for a small team? Unless the content is procedurally generated Anyways, using tracker module audio saves a lot of space
Not trying to advertise someones asset here or anything but would low poly assets like this work: https://www.assetstore.unity3d.com/en/#!/content/16698 I probably dont have the coding skills but I can find the help. So when you say generation code do you mean spawing enemies?
It doesn't necessarily have to be low poly as mesh data is not particularly big. Textures can be far worse so using a single texture for as many models as possible is a good way to go. Like this asset, for example, uses a single texture (either 2048x2048 or 4096x4096) for all 700+ assets. https://www.assetstore.unity3d.com/en/#!/content/7101 He means procedural world/dungeon generation. Roguelikes, such as Torchlight, are where this is typically found.
Wow! 1 texture for 700 items, I might have to buy that. I’ll have to learn how to do this myself as well, I imagine it’s just one huge UV layout. As far as procedural generation, I was looking at the DunGenasset. Can you recommend any others? These cost a lot but would save me a huge amount of time so it’s worth it! Thanks for everyone’s responses I think I can come up with something using your advice.
It's very nice. It has multi-texture versions for desktop, and a shared texture for mobile platforms. It also gets more stuff added every now and then. It's the best value for money out of any asset I've seen in the store. They also have a weapon kit along the same lines. You can create endless environments with that. It might not be as hard or time-consuming to create your own as you think. If you're working with 2D it's really easy For 3D you have more fiddly work to do if you haven't got perfectly tiling models, but you could go for a more room-based approach and stitch together prefabs that form landscapes and dungeons, maybe covering up borders between each with clutter and roads/paths. There are some good kits out there for building your own caves, dungeons and castles which could be used to build larger pieces that fit together procedurally.
Ah I didn't know torchlight generated their levels. Interesting, I should replay the game. Probably going to give me a lot more replay value than 20 hours XD
This method of using prefabs is exactly the way Torchlight works. It starts by laying down the entrance to the dungeon and proceeds to lay down chunks until it reaches the exit. Once it has accomplished this it will go back and close up any remaining room openings with additional paths that eventually dead end or connect back onto themselves.