Category: Tools

The tools of the trade #2 – Blender

June 2nd, 2014 — 4:06pm

Blender, what’s that?

Blender. Do we still have to present this tool? Yeah? Ok.

Blender is a free and Open source 3D graphics and animation software. For newbies, that means it allows us to create objects and characters you’ll later find in our games.

Moreover, it is multiplatfom! Cherry on top: it is coded in Python.

Knowing this, those who know us won’t be surprise that we use this software.

GWS monster, LD version

Only dark spot: the interface.

Until Blender 2.5, the user interface was ascetic. You had to know the key shortcuts quite well to create anything.

This problem was thankfully solved in the latest versions. And keyboard freaks may rest assured: they shortcuts still works, they are just less necessary.

For connoisseurs, the 3D motor itself endured lots of critics in the past. However, Blender fixed it since, especially with Cycle, a motor which calculate the image from a technique called ray tracing. It allowed us to make some pretty things…

Bastien, graduation work in 3D, first year, theme “Chessgame” – First tests with Cycle

Of course, for the games, this requires a bit too much performance. We usually use the basic 3D motor.

Let’s roll up our sleeves!

As those who follow the blog already know, three years ago, Christel, Batien and Thomas followed a 3D training in the near Institut de formation supérieure.

Interesting fact: the cursus was planned to be give in 3D Studio Max, another development software. However, we pressed the teacher to give us the lesson on Blender in parallel with the other students. It worked so well that now, the lesson is actually given in Blender! We don’t feel sorry at all.

We followed this training two years in a row, dragging ourselves to the class on Saturday morning at the crack of dawn to learn 3D modelling and Blender.

Bastien even went back for a 3rd year (and dragged Joan along, yeah, remember, she participated with us to Ludum Dare 24).

Christel, 3D graduation work, second year, theme “reproduce an image” – Does it ring a bell?

A training, what for?

Something specific about 3D modelling is that it’s another world. Anyone who ever opened a 3D software to “see how it looks” did notice: start from scratch, without training nor tutorial, is pretty hard.

Thinking in vertex, side, face and node, or understand what is a normal require some time. But once this step is done, Blender becomes accessible, thank to its new interface and its possibilities.

An example? The transformers, which allows to calculate automatically a serie of aligned object thank to the array, or to work symmetrically with the mirror.

Some armchairs from “Get Well Soon!” – they used the Array before being compiled


Moreover, and it’s a major asset, Blender interfaces perfectly with Unity 3D (see our previous post). Translation: Unity3D interprets easily the native Blender format (the .blend files). We just have to add our models’ files in our project for them to be accessible.

Seriously, we just have to drag & drop the objects for them to appear. It’s like magic!

GSM projects using Blender

Well, all our 3D ones!


GSM Productions’ first serious try or a 3D game… during a Ludum Dare, of course! The Ludum Dare 20. The graphisms were mainly basic cubes and cylinders, but still.

The several objects from the game were modelized and textured in Blender, in an old, infernal-like interface version. A Python plugin written by a community member exported them to one of the formats used by Panda3D (that we used before starting to work with Unity3D).

Player 2, Start! (LD24)

Not only level 3 was entirely modelized in Blender, but we established the colliders and placed the monsters and all elements of the game in Blender before exporting to Panda3D.

Considering it was a platformer in which 3 level out of 5 were in 2D, it was not our most intelligent choice (but we’ve been working on that).

Christel : “Thankfully, I got better…”

The characters were modelized in Maya by a friend designer who helped us in that adventure: Jonas.

Get Well Soon! (LD27)

Of course we were going to talk about our little baby. The full Ludum dare version was modelized by Christel in Blender (she was telling you she’d gotten better…). The animation as well had been done on Blender, by Bastien.

In the following versions (that you still can find on FrenchCows), the majority of the objects is still done on Blender. Dimitri, who helped us a LOT especially with the characters, uses his own tools.


(Alright, alright, GSM Productions’ next game won’t have any “!” in its title…)

In short?

In conclusion, Blender is a powerful, reachable tool on a technical point of view, free, Open source and multiplatform. What else?

Comment » | 3D, Tools

Tools of the trade #1 – Unity3D

January 28th, 2014 — 7:36pm

At GSM Productions, we like experimentations. If follows that, since our first little games all the way to Get Well Soon!, we have never ceased to try out new methods and new tools. But it would seem that, recently, our wild search has started to change into more of a “toolset consolidation”. This is why we have decided to write a small series of articles presenting our various tools. If you are a developer wanting to learn about the motivations of other devs or simply curious about the tools used to makes video games, tag along!

The most fundamental choice for a game developer is about the “game engine”. These days, it is very uncommon for anyone to start coding a game from scratch. It might lead to total control about the code, the complexity of today’s computers as well as those of current games makes it much more complicated a task than it was before. Between all the options available to us, we went with a very popular choice for independent developers : Unity 3D.

Unity Editor Screenshot

The Unity3D editor as we work on Get Well Soon!

One of the pros of Unity3D is that it offers a free version with very reasonable limitations, giving you a very solid set of functionalities. What’s more, Unity3D is a cross-platform engine. You can export your games to desktop computers (Windows, MacOS or Linux), web browsers, Android, iOS… And with the proper licenses, even to consoles! The only drawback is that the Unity3D editor is not available under Linux (yet? :p), but what can you do…

Unity3D export options

Some of Unity3D’s supported platforms

Besides cost and cross-platform considerations, Unity3D works under a paradigm that really helps us: every object is of a generic type (GameObject) to which are attached any number of “components”. These components can be a 3D model representing an object, or a script describing the logic behind something, a sound effect…

This extremely modular approach encourages the creation of reusable, self-contained components. It is a generally beneficial way of looking at things, but it is even better to have tools that enforces it.

A look at some components in an object

A look at some components in an object

Since we adopted Unity3D, our development process has taken a new scope. The transition from a bunch of tools needing quite a bit of groundwork to get them working together to a platform integrating most steps, including direct import of 3D assets, images and other textures, changed quite a few things for us.

We always stay on the lookout for new development tools, but at the present time, Unity3D is without a doubt the best environment for the type of games we are making. We may have taken our sweet time to get there, but boy, is it a great feeling!

If you want to learn more about Unity3D :

1 comment » | 3D, Tools

Get Well Soon : a 2nd version for January

November 17th, 2013 — 10:38pm

After the success of Get Well Soon! on Ludum Dare 27, we decided to continue to work on this game. Our objective : to offer a second version by the end of the year.

Soon after, we stumbled upon the FrenchCows team who were looking for game developers willing to include their game in a pack, but also to get involved into a community and develop additional contents during three months. Their scope and ours being so alike, we took the opportunity right away!

So here we are, three months after LD27, with our first game available online!

What’s FrenchCows ?


This French initiative sells indie games packs, but not only. The point is to bring together gamers and developers and to make the game evolve during the whole pack’s duration, which is three months.

Thus the game included at the beginning of the pack won’t be the same than the game offered at the end. And that’s especially thank to the players’ reviews! This asks a big investment from us, but it’s also a source of motivation!

If you want more information, go over here! And, even better, if you want to buy our pack (we won’t stop bringing it ;p), that’s over here!

A second version, alright, but what about it?

Level design

We will refine our game, but why not go further than that? We decided to create even bigger levels and we well intend to put this additional space to good use!

Preview de la nouvelle carte

A juicy preview of the new map


We are first concentrating on design, before starting to texture. Some objects created during LD27 must be revamped, others were added on the to-do list since we have additional rooms.

Et oui. Un essentiel.

Yes. Essential.

Meanwhile, we’re working on the levels’ re-design, based on the map and on additional functionalities, like sliding doors… which – wait for it – actually open when you get near!


Then, of course, we’ll have to rethink the monster’s design.


As for everything else, we have two objectives in mind here : add new functionalities and improve what is already there.

Since FrenchCows, the diffusion platform with which we’re working, is French, we started by implementing translation management to make the game multilingual. Each message was linked to a code. When the message must be shown on the screen, the game send the code to the translation module which translates it into a message in the language chosen by the user.

We only translated everything into French until now, but if necessary, this translation module could handle more languages!

Furthermore, as previously said, the doors module was corrected. We added a new set of doors: the sliding doors.

Consequently, a door can now open because of the players’ action (for example, click on “space” to open the door) or when he comes near it (since sliding doors are automatic). Moreover, the opening system is different between classic doors (rotation) and automatic doors (sliding).


Last but not least, we worked on the menu. The fullscreen option is now working, as well as the “back” button which was bugged in the LD27 version. A language selection screen has been integrated to complement the language module asking to choose a language the first time you launch the game. The game also saves the player’s controls options, for those who like to customize them. The mouse’s sensibility can also be changed but this parameter isn’t implemented in the actual gameplay yet.

The main menu design has also been reviewed and improved!


Our tools

Since GSM Productions was created, we could (and had to) get used to many tools. We thought it might be interesting to present those we’re currently using. Who knows? Some of you might find it useful! Later on, we plan on sharing a more detailed post on each of those tools, but in the meantime, here is a quick introduction.


Any developer would tell you it’s fundamental to use a sources management system. Those tools are meant to preserve a history of all changes done to the code so you can go back if there’s any problem, and to manage simultaneous development and the conflicts those can provoke.

Among all the available tools, we choose Git. Git is quick and flexible and we’ve learned to use its strength thanks to Git-flow, a workflow proposed by Vincent Driessen. Without getting too technical, Git and Git-flow keep troubles away and allows us to work on (and keep calm) with a free mind!


A recurrent element of our history is the use of Blender. This 3D software is powerful and also the one the majority of GSM Productions’ members are the most used to, especially after following two years of training. Since the start, the opening, the way it is easily interfaced with most 3D engine as well as its functionalities made it an obvious choice for the team.


After some time (and some discussion, since our two developers are convinced linuxians), Unity3D was adopted as game engine by GSM Productions. For a team like ours, it’s in the end a natural choice, since even the free version of the software allow us to make our ideas come to life. Also, it’s the most robust engine we’ve worked with until today.

Comment » | Get Well Soon!, Tools

Let’s get this party(cule) started !

November 28th, 2011 — 12:58pm

Apart from bringing an awful pun to your eyes, here is a quick update of what is going on in the team.
Continue reading »

Comment » | Alun Hevel, Navigation, Tools

In-House Tool

November 10th, 2011 — 10:31am

In a video game like Alun Hevel, we need to store information inside files.
There are two types of files:

  • the ‘dynamic’ files, in which we store the modified data, either directly or indirectly changed by the players (such as the options backup).
  • the ‘static’ files, containing the data needed by the game, such as pictures, translations or maps.

We must therefore use various programs going from a basic text editor (Gedit, Notepad, Geany, etc.) to a picture editor (Paint, the Gimp, etc.) in order to generate those files.
But sometimes, there isn’t any program which can comfortably generate the desired file, and this is the case with the mapping files.
Continue reading »

Comment » | Alun Hevel, Navigation, Tools

Back to top