game dev

Softskinned & articulated platypus

After several hours of adjustments in blender, platypus has now more control points. As shown in the image above, mesh is controlled by invisible edges, acting as rubber bands. Playing a bit longer with group shrink and control points, and the model is really changing shape Model used is the Platypus from William Reynish under

Softskinned platypus

After nearly 9 month of inactivity, the development of softskin is back on tracks. Softskin is a module inspired by tensegrity for godot engine (what else?). Demo video:

4D specialist Marc ten Bosch

Marc ten Bosch seems to be particularly interested in the 4th dimension, its narrative & interaction potential. He has made several releases, see below for all links. main website & blog: :, 4D Toys: Miegakure: Youtube channel: The game is based on tesserakt 4d engine, a custom game engine. The

Ray Marching implementaion

Demo of an implementation of ray marching by SebLague. Possibilities are tremendous, especially for boolean operations and object blending. Definitely something to test in Godot! repository:

UI for rotation editing #2

First prototype of a widget to edit 3d rotation via a 2d plane. The 3 buttons below the gradient allows plane selection ( XY, YZ or ZX ).The black area in the Y axis is a constrain ( between 90° and 270° ). Still a lot of stuff to be done, like the processing of

Soft skin

Currently working on a library of skinning called SofSkin. It’s purpose is to make skinning in a different way: less rubberish and more mesh/geometry-oriented. The idea is to use edges of the mesh as springs that tries to recover their initial length by pulling/pushing on the vertices. The lexical field is focused on anatomy, to

Little week end challenge reproducing the fish…

Little week-end challenge: reproducing the “fish” shader demonstrated by Matt Nava in his talk at GDC last year. The shader Giant Squid Studio developed (at 3:50): After a few hours (not many), shader in godot: The source code is available on github:

Starting godot development with a little help to…

Starting godot development with a little help to Michal Seta on his OSC addon. First impressions are fantastic! Godot’s architecture is prepared with indie programmer in mind: the engine is obviously open source, it is really easy to interact with the core classes of the engine, receive notifications of the main events, and childish to

Second phase of the work sending the user…

Second phase of the work: sending the user inputs from client to server and process the interactions. There is still a small issue with the relative position on the screen of the client, to fix tomorrow, and implementing visual feedback in the client.

Always the same surprise when one application controls…

Always the same surprise when one application controls another! In this case, the application on the left is running on my workstation, receiving and visualising the position and rotations sent by the laptop on the right. The laptop is running the physical worlds. Tomorrow I’ll remount the mouse control in the client (the one on

same video on peertube a bit more than…

(a bit more than a technical demo this time) After finishing the work on shadows, it was time to play with the different materials possibilities. To explain a bit what you are seeing: at the top left, the 3 textures containing the shadow maps; transparent walls (wireframes) are not take into account in the shadow

Not very sexy but very useful there are…

Not very sexy, but very useful: there are 2 new methods in the bullet wrapper that enables retrieval of an ordered list of the collisions along a ray. The job was super easy, thanks to the bullet lib consistency and documentation. The object to use is AllHitsRayResultCallback. Once processed, it returns a list of bodies

Working on a two passes material the shadow…

Working on a two passes material, the shadow pass being potentially added automatically in the material by enabling shadows. Here is how it looks: material two_pass_shadows {   receive_shadows on   technique   {          shadow_caster_material shadowscaster          pass standard     {       ambient 0.0 0.0 0.0 1.0       diffuse 0.8 0.8 0.8 1.0       specular 0.0 0.0 0.0 1.0 0.0       emissive