2010

Seasons : Sounds of autumn

Hi everybody!

Whaaaat ? No post this week ? Let me fix this issue!

Today we are going to talk a little bit about sounds. I warn you: I’m not a sound programmer so maybe this technical article will exasperate real sound programmer!

> Sounds until now

Since the beginning of Seasons development, we don’t really care about sound part. The only sound pass we did was done by William during the 1st prototype conception. During this prototype, sounds were only 8 bits effects done with the excellent sfxr software.

To move on with the new prototype, we need new sounds (effects and background musics). The sounds need to be less “8 bits style” but more realistic!

> New kinds of sounds

We have two kinds of sounds: spacial sounds and ambient sounds.

The volume of spatial sounds change depending on the distance that separates them from the sound listener (a kind of microphone).
Ambient sounds are sounds you can hear everywhere with the same volume, independently of the sound listener position.

Here is a little recap with a diagram showing 2 levels. One of them has a spatial sound placed in it and the other one has an ambient sound. The levels are linked by a gate system.


Continue Reading

Seasons : FJV 2010 report !

Hi everybody !

We’re back from the french videogaPix’N Love Publishingme festival (FJV) ! Our eyes can now stay open by themselves, so it’s time to share our 4 days of experience with you!

> Wednesday: the big departure

It begins with a white night during which we finish most of the things we wanted to have in the demo version that will be playable during the festival.

When the sun starts to rise up, we think it might be a good idea to gather our things, make some backups and transfer the demo source code and assets to our showfloor game machine: my lovely mac mini!

Buster (aka the Boss) seems to be in great shape and steals my seat (as he always does when we stand up).

Continue Reading

Seasons demo dev diary : Week 5

Welcome in this new demo dev diary, human beings.

I’m Buster, the “product marketing manager” of Swing Swing Submarine.
You can call me “Boss”.

Don’t worry, Guillaume and William are not dead (yet) but they are really busy right now. So busy they didn’t took the time to write the weekly report about the development of the first playable demo of Seasons. Speaking of it : COME MEET THEM IN PARIS NEXT WEEK !!!

Well, I’m more professional than them so I’ll do the report. But let me warn you : there’s a lot of pictures and not a lot of texts. I don’t want to ruin my french manucure using this curious computer device you call “keyboard”.

So, first : Guillaume’s part.
PROGRAMMING

> Camera refactoring (behaviour + feature like projection/unprojection)

Guillaume played with the camera by putting some constraints on the camera targeting. You can see two green circles in the image. One circle is the constraint, and the other one is the current camera target. It seems like it’s a funny game put I prefer my toys.

Guillaume says it was a pain in the ass to get a decent camera behaviour

Especially when the orange thing falls, you have to be smooth and fast at the same time to let the human player see where it falls.

> Fade effect during transition between level

Now we can travel from the pink level to the orange level without experiencing a dirty cut. Guillaume is happy because he can do some stuff during the black screen. This is saving my super cat eyes because they were bleeding each time I was looking to their computer screens when changing level.

> Integration of Sony vectormathlibrary

Now Guillaume can write things like this thanks to Sony lib. Before that, he was making is own stuff. Since he’s a poor programmer, his math lib was so inefficient that he wasn’t able to use SSE. Now yes, he can.

> Gameplay
– generic hole
– generic script unlocker, to unlock various gameplay element
– some script modifications to be in the good state when changing a season from another level than their own level.

> Other stuff
– synchronization on levels + transfert asset from a level to another (during the black transition screen)
– scale different from 1/1 on indirectly spawned asset
– some memleak fix

And William’s part.
GD /LD / ART

Half the screens are gameplay and art complete ! Well, William still have a lot of work to do on the other ones, and he still have to finish the character(s) animations.

Screen #1 with snow falling cause…well…it’s winter, you know.

Screen #4 under the rain.

A tree in a cave ? Thank you, Sun.

William, do you know you only have 5 days to finish Screen #10 ?

Ok, I’m done with the report and I need to hurry : don’t want to lose precious minutes of my afternoon nap.

See you, walking food dispensers !

Seasons demo dev diary : Week 4

Posted on August 26, 2010

> PROGRAMMING

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 http://www.torquepowered.com/community/forums/viewthread/37667 (direct link: http://fosters.realmwarsgame.com/tools/SuperPNG.zip).

> 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.

Newer Posts
Older Posts