02 Jul Momonga Monday: The Making Of Panda’s Challenge
Howdy folks! Recently we have covered the history of Panda, your mentor. He is a funny old chap with a bamboo stick and a herb pouch. He saved Momo from the owl raid and healed him – something any panda herbalist would do.
This week I am taking you on a tour into Panda’s Sanctuary, the place where you get your training in the game. It is a lush, dream-like environment, up high in the clouds.
You probably remember the concept art for this level from a couple of weeks ago:
Now that the level is done, have a look at this image:
It is a screenshot taken from the actual game, but from a custom point of view. Not bad for an iPhone game, right?
This area is the first of three stages for this level. The concept art showed the third stage, so the concept art and 3D art are slightly different.
Here is the same area with wireframes, taken from a different angle. We try to keep the triangle count low, as this is bad for performance. It is a balancing act between making the scene look good, and making the scene run smoothly.
And when we dive a bit deeper, here is the environment without textures:
If you did not see any difference, that is correct. Apart from some minor details and lightmaps, we do not use any textures at all. Most mobile devices don’t handle texture memory well, and with all the loading times and slowdowns we figured we would give vertex colors a shot. So all the colors you see in the scene above are painted right onto the vertex points of the models. The lightmap handles the shadows, and it looks pretty sharp.
Here’s a closeup of Panda, including wireframes. The green lines are the collision models. These are used to detect if something hit Panda or his stick.
What do you think? Did you like the concept art better or the final result? Let us know in the comments!
litusPosted at 08:45h, 07 March
I love your graphics!!
CatalinPosted at 17:00h, 13 June
Very curios about how the meshes are done because as far as I know a vertex is shared among adjacent triangles and cannot hold different colors, plus the colors are interpolated between the three vertexes that compose a triangle, but yours seem to be flat shaded and have the colors per face not per vertex.
Derk De GeusPosted at 22:07h, 13 June
What you say is correct if you have smoothed shading. This video explains it much better than I ever could: http://www.youtube.com/watch?v=PMgjVJogIbc Note that while a vertex cannot hold multiple colors, you can add another vertex on the same spot to create a “hard” transition to a different color. (As a matter of fact this is what happens with hard edges: A vertex cannot hold more than one normal, so a hard edge requires another vertex on the same location.)
The meshes of the characters in Momonga are regular 3D models with textures. For example, the details (such as the inside of Panda’s paws) are drawn in the texture, so this is not part of the model itself. There is no diffuse lighting calculated for the vertices, so it appears flat-shaded.
Hope this helps! 🙂
CatalinPosted at 22:31h, 13 June
Thanks so much for your reply, I was searching for a way to do flat shading without duplicating vertexes (trying to use something like per face colours and normals) but after some research I found that you simply cannot do that with a programmable pipeline (at least not on mobile GPUs that don’t have geometry shaders) the vertex shader input is always a vertex and the data is always per vertex. I was suspecting that you use hard edges (that’s if you don’t use fixed pipeline) but in my heart I was hopping that you have some tricks you are using that I did’t found about.
Thanks again for your help,
Derk De GeusPosted at 22:34h, 13 June
You’re welcome Catalin! Unfortunately when it comes to this stuff, it’s all pretty basic – not much you can do with vertex properties other than what’s there already. Good luck with your project and see you around! 🙂
CatalinPosted at 22:34h, 13 June
Btw, really love the art direction too…
AlexeyPosted at 23:53h, 21 May
Hello, Impressive job…
I’m running some personal tests and I was looking exactly for this kind of visual, I like it very much, good job!!!-
so … as it seems IT would be reasonable to build it in a 3d program like maya in some pieces of level and join them together in Unity ??… so thats the way IT seems this is done, and Im wondering if that way of proceeding removes all inbuilt unity terrain system …