Aurélien Gâteau


written on Friday, March 30, 2018

CMake reference documentation is built inside the cmake binary itself, accessible through --help-* options. This is useful, but not really practical: you have to remember the exact command name, and pipe the output to a pager. I wanted something more user (or developer) friendly.

SFXR Qt noise buffer

written on Friday, February 16, 2018

I was working on adding sounds to Pixel Wheels rescue helicopter, so I started SFXR Qt and after a few experiments I came up with a decent sound. Unfortunately it did not sound that good in the game. It was much more dull than in the app. Listening again to the sound in SFXR Qt I realized there were subtle variations between each plays, which made the sound more interesting.

Initial investigation

At first I was puzzled, how could the sound differ from play to play? After a more thorough code inspection I found the culprit: the noise buffer. When you select a noise wave form, the app generates a 32 item long array of random floats between -1 and 1, and go through it in a "segment" (a sound can be made of multiple segments). When a new segment starts, the buffer is regenerated, causing the sound to be subtly different each time it is repeated.

Let's make it sound dull

I want SFXR Qt sounds to sound like they are going to sound in the game, so I set out to get rid of those variations.

I picked the sound created the first time you click on the "Explosion" generator button as my guinea pig. It sounds like this:

My first fix attempt was to create a long buffer with as many items as there are samples in the sound, and reuse it as the sound was being replayed. That failed: the noise was much more high pitched.


written on Friday, February 9, 2018

As I mentioned in my previous article about adding sounds to Pixel Wheels, I started yet-another side project: SFXR Qt. This is a QtQuick port of SFXR, a retro sound-effect generator by DrPetter.

SFXR Qt Screenshot

SFXR is a fun way to quickly generate old-school sound effects for your game, even if you are not a sound engineer. The generator buttons in the top-left area give you good starting points to create various sounds, and you can fiddle with the various sliders to adjust the sound to your liking.

There are many forks/ports of SFXR, why another one?

I started the port for a few reasons:

First, the current UI is hard to use: something is wrong with the sliders, they do not follow the mouse. The UI is also super small on a HD screen.

Second, the other ports are all Flash-based, which I am not comfortable relying on.

But more important: I wanted to dive into sound generation a bit, and it was a fun way to get into this!

Pixel Wheels 0.6.0!

written on Saturday, February 3, 2018

Here comes a new release of Tiny, err, Pixel Wheels!

The first main topic of this release is of course, the renaming of the game to Pixel Wheels, as announced earlier.

Pixel Wheels

The second main topic is sound effects. It was high time to work on sound effects because adding sound to your game tend to be very invasive for the code base, so the earlier the sound architecture is in, the better. I probably should have done it earlier, but luckily it was not too much of a pain to get it in.

Implementing sound in the code base is actually only half of the work. The other half is producing or finding good sounds. If you are not careful you can easily spent ours browsing sound sections or Freesound. I actually took another approach, more compatible with the fact that I do most of my work offline, in the train: I used sfxr, a wonderful and fun tool by DrPetter to generate game sound effects. The user interface was a bit tedious to use, though, so I spent some time porting sfxr to QtQuick. You can find the end result in the SFXR Qt repository... Yay, another side project!

Tiny Wheels 0.5.0, the last Tiny Wheels?

written on Friday, January 5, 2018

Welcome to 2018! To celebrate this new year, here is a new release of Tiny Wheels!

What's new?

The focus for this version was the user interface.

The game UI has been revamped, with big buttons and a checkerboard background. This new UI is more keyboard friendly: almost all screens can be navigated using the arrow keys. I still need to convert the high-score and developer options screens. This is an important step for gamepad support, which I want to work on soon.

I am not entirely sold on the purple for the buttons, so this might change again.

Title screen

The HUD received some love too: the rank text is bigger, making it easy to check your position at a glance.

The Android side is where I made the most changes. On this screenshot you can see I replaced the touch buttons with pie buttons:

Touch buttons

I like this layout, but I haven't seen it in any other games, so I am interested in your feedback on them: are they convenient to use? Do you understand their function at the first sight? The left and right button icons are pretty straightforward I think, but I had a hard time coming up with icons for the "brake" and "action" buttons of the lower-right corner. Again, if you have suggestions they are more than welcome.

Tiny Wheels 0.4.0, Christmas Edition!

written on Sunday, December 3, 2017

We are getting close to Christmas, so I just released a new version of Tiny Wheels with a special vehicle, just for the occasion. Introducing... Santa truck!

Santa truck

This truck is the first 6-wheeled vehicle of the game, it's also the first one with 4 steering wheels: the wheels from the middle axle steer half as much as the front axle wheels.

The main focus of this release was to try to make the game easier. To achieve this, I made the following changes:

  • I added road indicators so that you can anticipate curves:

Road indicators

  • Maps have been made less tricky: there are less places where you can get stuck, requiring you to reverse. Additionally the infamous wood bridge in Tiny sur Mer is a bit more forgiving: you can drive a bit in the water around it before drowning.

  • I adjusted steering so that the vehicles do not go straight to the next wall if you press left or right at high speed, especially when the turbo is on.

  • Finally I made AI vehicles in front of you drive a bit slower, making it easier to catch up. This is similar to what (I assume) Mario Kart does.

I also reworked the tiles of the snow track: they are now real pixel-art (they used to come from an SVG document because they were created before I decided to go pixel-art) and the pine-trees are now covered with snow:

Snowy pine trees

Tiny Wheels Game Play Tweaking

written on Sunday, November 19, 2017

Tiny Wheels 0.3.0 has been released for 3 weeks now. So far the feedback I received can be sum up like this:

Looks fun!


The screen rotation makes me sick

There is an option for you in the settings to disable screen rotation.

Dude, it's (too) hard!

It is, indeed.