Seasons demo dev diary : Week 4

Posted on August 26, 2010


This week was a lot about writing scripts to integrate assets made by William (and William will talk about these assets). But some other few things were done. They’re listed below:

– Updating the particle system

I added some rough particle effects: rain (which was not implemented with snow) and smoke.

Early smoke

Early rain

They are pretty nasty for now, but they will do the job for the demo.

I also updated the wind effect. Now a single wind effect instance can produce several lines, to increase the visibility of wind.

Improved wind

– Gameplay integration

I implemented scripts during most of the week. Now the file where I put all my inherited script classes is becoming huge since we reached 4000 lines. I should have made 1 file per script implementation but I was too lazy for that. There are about 20 generic scripts that are really used in the game right now.

The funniest thing I’ve done this week was to script some lights. I don’t want to reveal the utility of light (I let your imagination do the job). Instead, I would rather illustrate this with some animation on a scripted light.

Scripted light

– Funny bugs

The most fascinating bug we encountered this week was a texturing issue.
Here is the problem appearing on a wood texture on the right side of the image:

Working texture filtering (left) vs. texture filtering issue (right)

We use png fileformat for our textures. It’s maybe a mistake, but we chose it for the alpha support and the pretty light weight.
This was due to the fact that Photoshop Png Exporter was not taking our custom alpha channel into account and creating its own color definition for pixels with a transparent color (alpha equals 0).

Example with the entire texture of the tree. From left to right : the alpha mask, the color channels we want (rgb), the color channels written by Photosop Png Exporter (rgb), the masking result (pink is transparent).

Alpha mask / wanted color channels (rgb) / color channels by Photosop Png Exporter (rgb) / masking result

As you can see, the colors channels are not conserved by the export process. As a consequence, when we make a bilinear filtering on such a texture, some pixels become whiter than others because they are filtered with white pixels contained under the alpha mask (where the alpha is 0).

To solve this, we could have changed our fileformat (for tga, or even dds), but we have no time for this right now. The solution was to use an old version of the superpng exporter. This old version is not available on the editor website but found on Torque forums here (direct link:

> GD / LD / ART

– Art

Another week dedicated to animation, with a quite diversified tasks’ list : mushrooms, windmills, geyzers and pines. I also set ground and rough background in caves’ screens.
Each interactive object mentioned above has a specific behaviour linked to the seasons. It’s quite easy to find how the windmills work, but what about mushrooms and pines ? Have a guess.

Animated behaviour concept

A satisfying design for mushrooms was quite difficult to find. I hadn’t a clear idea of the shape I wanted.
My first thought was to make a single mushroom, big enough to allow the fox to jump on it, but it seemed a little bit too fantasy-like for me. And with his round head and colored points the mushroom was really grotesque.

First design

I liked the idea of a flat mushroom head, like these ones.
But it still was a single big mushroom and I wanted more living stuff !
So I took a pencil and I drew, again and again, and I finally made…a lot of mushrooms. A bunch of mushrooms!

Design for the demo

It seemed nice to me, so I made a blender version and animated the mushrooms. The big ones in the middle took 2 hours to animate, but it’s completely my fault. I was making too much details. When I began to realize that it wasn’t very effective, I chose to make the little ones the easy way and it worked! It’s good to know for the future, when I will make mushrooms again for the final version of the game.

Animated in blender

Cause yes, all objects we are creating right now are made for the purpose of the demo. By making them, we are learning a lot so we’ll be more efficient later. As we say in France : “it is by forging that one becomes a blacksmith”. Practice makes perfect!

– LD

Not much to say about LD. I made some adjustments in order to have more space to put mills on screens 05, 10 and 11. Screen 11 is really problematic : I’ll have to think about it once more to make it more interesting…or remove it if necessary.