Sunday, February 26, 2017

Sundays afternoon with Godot: E01-Collisions

Varying the environment is necessary to make the game less boring. I give here some examples implemented in LittleShadows. You'll see how easy it is do that with godot! First, here is the resulting video:


First of all my main character, the little girl, has several collision layers and masks.

It decided to keep it easy however, you'll see how I dynamically manage some bit masks to alter the behavior. The first collision layer is used to collide against the main tiles of the tilemap which is used to create the ground and walls. The two layer masks are used to detect collisions against ennemies and objects. Additionaly, the collision layer no. 4  (and not mask) will be dynamically set when the girl touches the ground and removed when she jumps or the move down button of the joystic is activated.


Stairs: Stairs are important element of a platfetormer game.In the case of LittleShadows, the stairs are distinct elements from the basic tiles used to create the ground which are gathered in a single tilemap. n the contrary the stairs are a special "scene" or node.

In blue you can see the collision shapes of the the tilemap and in red the collision shapes of the stairs. In order to make a smooth transition between the ground and the stair there is a gap between them, allowing the collision shape of the girl to pass in front of the stair without noticing it. If the player wants to move on the stair he or she only needs to jump. The stairs are in collision mask 4 therefore as soon as she jumps the collision is not detected so she can pass through. However as soon as the Ray2d detecting the ground collides with it, the collision layer 4 of the girl is set back to true allowing collision.


Scaffold: The scaffold uses the same principle allowing to get down from it using the move down button of the joystic.

That's all you have to know to set interesting rules of collisions!

Friday, January 6, 2017

In-game footage

Sooner this week, I have uploaded an in-game footage of the game. I got some nice feedback from social network, which made me rethink the visual look of the backgrounds and the animations. Is always good to have some constructive feedback from people not involved in the dev process.

The forest bakground will change quite a bit and ressemble more to something like this, with more pale tones. 

I'm so excited! Moreover it helps me to construct the game's story and move it forward, so I can't wait building more elements and showing them. 
Soon !

Thursday, June 11, 2015

Water Splashing effect

Hi guys !

I've been struggling this week to make a nice water splashing effect, directly integrated into godot as a module. It has the advantage to appear has a node into godot's object selector, it simply create a new object looking "like" water with which the user can interact nicely. Here's the video


You can get the code (100% free) on my github rep https://github.com/laverneth/WaterSplash/tree/master


Friday, August 29, 2014

Game deployed on Android

Exporting to Android with Godot (and Ubuntu) is really easy. The main problem  get was to configure correctly my smartphone in order to enable USB apt by composing #0808 dial. The result is exciting, although now there are a lot of usability issues, but won't be too hard to fix I presume.


Tuesday, August 19, 2014

Introducing Little Shadows composer..

Some of you may wonder who made the amazing music of the trailer video (which is also in the game). So let me introduce Nature Zhang, the composer who accepted to make such a beautiful music for Little Shadows.

You may find more info on Nature Zhang compositions on his website:

Nature Tianran Zhang

Nature Tianran Zhang


Nature writes music for diverse commercial clips, trailers and games for both indie studios and large media firms such as China Central Television. His wide range of music styles include traditional orchestral music and electronic influenced modern film score. As a former Microsoft visual designer, Nature has the strong sensibility on visual media and filmic language. 

As the winner of 2014 NYU Film Score Competition, Nature's film score was performed in Broadway.

Thursday, August 14, 2014

Trailer for the Gamescon 2014

I was very excited to be able to present Little Shadows at GamesCon thanks to the Okam team who is developing the Godot game engine. Here is a preview of this trailer. Many things have changed in the game, and we're not very far from beta !!

Thursday, June 12, 2014

Using non-linear drag forces

I wanted to create a big ivy which could balance itself smoothly when the little girl was passing trough it. The best way, I think, for doing that was to create several segments of ivy. Each segment has a rigid body and a collision box associated to it, in order to deal with collisions with the little girl, and walls.



However, just by doing that the ivy behavior was shaky, even by trying to adjust the weights of each ivy segment to gain some inertial effects that could potentially solve the problem. It didn't help, so I decided to customize the dynamic integration system for the ivy, adding some friction to stabilize the system as mother Nature always does !

So I have just re-implemented the integrate function of each segment of the ivy, sharing the following gd script

You may realize that I didn't used linear drag forces, but non-linear, ie proportional to the norm of the velocity vector. This allows to stop fast motions faster than slow motions. You could even think of adjusting the friction parameter according to the velocity magnitude (for instance piecewise constant), but it's too many non-linearities for me today.

And here is the result...