Is it one gigantic image, or is it simply images stacked ontop of eachother? The entire map contains custom grapchis all the way so there isnt any reused textures, it looks diffrent from bottom to top.
I also noticed Candy Crush uses a simular approach but with more simple graphics.
I really wanna make our gamemap look good,and go along with our style wich looks like this:
Yes and no.
The image (map) you see is actually a collage of backdrops, props (trees, farmhouses etc) and characters. So no, its not just one unbroken image (few phones can crunch that amount of image data as easily as the method CCS and FHS use allows for.
You’ll notice that some images (especially characters) are re-used (flamingos, bulls and so on). This further helps reduce file-size and boost performance.
well for a phone game its huge, and the one i posted is like half of it. OK so its stacked, ur sure? How is this for performance? Th entire map is exactly 16 fullscreens, 1280x800’ish x 16…that number scares me.
As a painter, i can see that none of them are reused, they might look the same but they are not. Almost nothing on this map has been repeated, if any. Either these are alot of images cut and stacked, or its a background image (the map) with textures form an atlas(all the decor) lined out.
I was pretty sure this wasnt a single image, just wondering if its fullscreen images stacked. Im guessing they pianted the entire thing as one piece and sliced it up, stacked it back into the game.
If it were broken into slices, each using an ALHPA texture and an indexed-palette shader, it would consume 1/4 the memory and still have lots of colors.
Also it could be a compressed texture?
Size-wize if you can’t see it all at once it can be spooled from byte arrays in main memory to a single screen-sized texture.
Ok just checked candy crush, its insanely long, much longer than this. Whats the best way to go about doing this where the map is entirerly handpainted like most rpg games are?
I’d imagine its painted as one huge image, sliced into stacked tiles, and then loads/unloads the current, next and previous tiles as you scroll (or just the current and next/current and previous, if you’re at the beginning/end).
yeah i was kinda wondering the same. Ive seen some questions about large worldmaps on phones in general, no solid answers tho. I did see Hippo from the forums telling a guy to import it as a mesh, since the guy was gonna use something like 4096x4096 wich is crazy big, and it was a handpainted image.
Im gonna paint the entire thing first tho, it will be around 4-5 fullscreens, then we will take it from there i guess. We were gonna do the standard mobile game level layout where u have “world” then “levels” inside it lined up like angry birds, but im not a fan of that so we will avoid it if we can.
That’s not the case, but even if it was, that would increase the size. Because in addition to the 100% unique background, you’d need the data for all the sprites as well.
It’s just a bunch of stacked images. You can load/unload them as needed, and hardware-wise there are limitations on the texture size (typically 2048x2048 though it may be larger on newer devices).
Tiles. The trick is just that for performance is that you have to load and unload it from memory as you are scrolling. I haven’t tried it on Unity, but in ObjectiveC (and Air) we have done massive maps, and you basically load into memory (and unload) the tiles a couple in advance on each side. Trying to load them all at once is a device breaker. Not sure what the best approach in Unity would be, probably something similar.
When the person scrolls up, load the bottom part. When the person scrolls down, load the top part.
In doing so, only 2 of the images is loaded at any one time. The rest are freed from memory.
Kelde, I wait to see your artwork! Your artwork puts many of the $50+/hour artists to shame as they cannot reach your kind of quality.
Just spliced up and loaded as you need them. Why not do a test? Shouldn’t take long to do a small test. No need to over-engineer and use palette shaders etc unless it’s necessary.
I think we have tons of them, especially decor textures. We just choose non power of 2 = none, and it works sofar. EAsy fix if it becomes a problem. I think unity makes sure it works even if they are odd numbered textures?