A little while ago, local hero and Ronimo developer Joost van Dongen published an article on his blog about the various options of visual styles and how differing and exploring in style can prove beneficial for small developers. His key point was that it’s easier for small developers to compete on style instead of quality, since larger developers can always put in more effort to improve and outperform on quality. He uses his game Proun as an example of a game that tries to adept a different style, one that has been inspired by the paintings of Kadinsky. This sparked my interest as a Maya apprentice and small developer, so I took his advice and started exploring the possibilities. This post is mainly to force myself to think this subject and to track my thoughts.
Now I barely started thinking, and I already landed on one of the most famous Dutch abstract paintings: the unfinished “Victory Boogie Woogie” by Dutch master Piet Mondriaan.
Victory Boogie Woogie
Now I never was a big fan of modern or abstract art, but I always was slightly fascinated by this painting. It’s a bit hard to explain why. The first thing that captured my attention was that it uses colors that all yell for attention (red, yellow and blue) in such a way that the painting still looks like a harmonious whole. A bit like having a football team with eleven egocentric stars, and still managing to make them perform like a team. This well-distributed attention whoring of the colors also make the painting lively, even though it’s nothing more then rectangles spread. When I was searching for more information about the painting, I came across this animation, which awesomely shows how bruising and lively the painting is. The details become part of the lively whole. Much as when you fly up with an airplane and fly above a city you know well. All the details, the colors and the people become part of something bigger and more rigid, a beautiful city full of life.
Ok, but how do we translate this into a style for games? Well, let’s take a ride at the train of thoughts! Victory Boogie Woogie is composed of small components (colored blocks) that fly together to form a lively whole (the painting). You see where I’m going?
Particles Boogie Woogie!
Particle systems! All makes sense right? For some years now, we’ve been using particle systems to model stuff that was too hard to model by hand. Instead, we break up the model into little particles, and let those particles be influenced by the laws of physics. Many things work perfect for particle systems: Smoke flying upwards, fireworks spreading in the air, or rain falling down the sky.
...or leaves flying around a twister!
Now wouldn’t it be awesome if we could simulate the effect of Mondriaan’s painting? Can’t we try to make all these little particles to create a lively whole? We’re not really interested in emulating stuff that already exists, but more into creating full models that are made out of particles. Like a in-game character, for example. Can we create a character using the particles system? What are the benefits, and what are the difficulties?
What would be the benefit of using particles based characters? Some things can be outright awesome. Take a shooter for example. I’m playing online with my particles-guy Hank and fire my shotgun at particles-guy Hans. Wouldn’t it be madness if Hans his particles got shot all over the place, creating a festival of bloody confetti, and creating a whole in Hans where he was hit?
Like the visual festival of No More Heroes, but different
Imagine this with a rocket-launcher. Hans would be all over the place, and I imagine this being a quite satisfying visual effect. But there are so many more effects that we can create. Particles can boost the effect of speed and wind, or they can be used to set different styles. Think about characters who have particles dripping, or a character who is on fire, with the particles flowing up in the air. Particles system are also more intuitive and easy to morph. This enables your character to land stretching punches for example, or enlarge or stretch other parts of his body. Technically, a mesh emitter (that is, a mesh model that emits particles, not an emitter that emits meshes) could prove a big help in achieving these models. So much options!
Well, I and Bas were convinced pretty fast that there are a lot of innovative options to be explored. So I started to think about what could be done eventually, and what would be the design problems to tackle. For starters, I started sketching some interpretations. Next to it, I just draw something more easy to model, just another brainfart flying around.
Wow, that looks like...
Crap. Well, at least the particle drawing does. The Abstract representation looks OK, and seems to carry on the flavor that the original cartoon has. Here we see the most important drawback I discovered till now of the particle model. The total lack of lines and detail makes it impossible to create all but the most simple textures. Sure, we can use color to distinct between different objects like the head or the hat, but stuff like eyes, eyebrows or noses can be extremely difficult to create.
“But Adriaan”, you say, “Why not create a new mesh with different colors and forms for the eyes as well?” Well, I’m not saying it’s impossible, but there is an inherited problem with that. The whole point of particle clouds is that they are not a connected mesh. There is always some space between the particles to look through. This can create a blurry effect (like making fire go over in smoke) that is exactly what we don’t want. Now, if you make the cloud dense enough, the space between particles is so small that the blur effect is cancelled, but then we may have to much particles to compute physics on, and we may be better off using a normal mesh model anyways.
Now I’ve actually been cheating when making a comparison between the particles model and the abstract model. Maybe you’ve already seen it while thinking over the problem described above. There is a huge difference between the left and the right drawing, and that is that I allowed the right drawing to change shape. Take the mouth for example. The jaw is disjoint from the rest of the head, allowing me to make a funny representation of the big smile. This is actually what I believe to be the key to making particles models to be visually acceptable without using dense particle clouds.
Shape that cloud!
Allow me to explain further. Take that horrible drawing above for example. Now I think small shapes like the ears are a lost cause. We’ll need to remove those, or enlarge them significantly. Now we got a good looking contour, but the inner details are still nowhere to be found. What I believe to be the magic trick here is the creation of holes in the character. That means, holes that reach from one face to another face on the opposite side.
A bit like these drama-masks!
This way we can create a model that acquires all of his detail and identity purely on shape and color. That seems like an interesting challenge! I will be developing this idea the coming months together with my Maya skills. I’ll have to wait anyways, because the FireFly engine doesn’t support particles systems yet. (And that while Fireflies are such a nice example of a particles cloud!) I hope that you’ve enjoyed this exceptionally long brainfart!