Happy new year! Wish you the best for 2023!
This update is not about 2023 though, but rather about the last month of 2022. It contains the usual mix of Pixel Wheels and Clyde work, and some unexpected time spent on... Yokadi!
Let's get started.
A few bugs managed to sneak in Pixel Wheels 0.24.0, nasty creatures... version 0.24.1 fixes them.
This month is pretty packed with releases! A new Pixel Wheels, a new Git Bonsai and two Clyde releases!
Pixel Wheels 0.24.0 is out! Just like 0.23.0, this version adds a new track and a new vehicle.
This time, it's the "Square Mountains" championship which got a new track: "Up, up, up and down!". It's the first track where the trees are not behind barriers, so you can theoretically drive through them, but I am pretty sure it would not be a winning move because the chances of hitting a tree is too high. Having said so, there are two shortcuts to let you cut corners. They are quite tight though, so be careful!
The new vehicle in 0.24.0 is a monster, let me introduce you to... The "Broster Truck"!
The name is a reference to the Broforce game, I think some of the game characters would enjoy driving a Broster Truck!
Speaking of vehicles, they now have their own page. On this page you can see all of them and learn more about some trivia and references.
As expected, this month was not very productive because of Inktober. I made some progress on Pixel Wheels and Clyde though.
I am preparing the next release of Pixel Wheels. Google notified Android developers they would start requiring Android API Level 31 for updated applications on November 1st, I had to bump dependencies for the release. I try to avoid dependencies update right before a release because I want to have enough time to test the game after updates, but there was no choice here. Updating the Android SDK to API Level 31, in turn required an update of the Android Gradle Plugin, which itself required an update of Java and Gradle 😅.
After the usual battle with the build system, I managed to get the game to work again on desktop and Android, using Android SDK 31. We are good to go for the release!
The new track features some shortcuts among the trees, with turbo cells to avoid loosing too much time by driving in the snow:
This triggered an "interesting" behavior: if you hit a tree while on a turbo cell, the turbo would continuously trigger, making it impossible to unstuck yourself. I modified the way turbo cells work to avoid that bug: now a turbo cell won't trigger again until your wheels have left it.
This year I once again participated to Inktober, the yearly challenge where you draw one drawing a day each day of October. The Inktober web site provides a "prompt list": a list of words for each day, which you can (but are not forced to) follow.
Inktober 2022 prompt list
I like to have an overall theme each year. This year I selected birds because... I love birds :)
I also decided to use a ballpoint pen this time, because I enjoy drawing with ballpoint pens, and also because I find it faster to draw with them. This is useful because at the end of the month I am often quite tired!
September was a productive month for a change. Let's dive in.
The "Square Mountains" championship got a new track. It's the first track where individual trees are directly reachable by vehicles, meaning you can cut corners by driving between trees... It's a high-risk high-reward choice though, because hitting a tree is quite punishing.
It's called "Up, up, up and down!" for now, but I am not happy with the name so it's probably going to change.
I finally finished custom tire size support and was able to merge the Broster Truck, previously known as the Big Foot, in!
August was a bit slow, that's what happen when one takes vacations 🌅! I still got work done on Pixel Wheels and Clyde though.
I finally merged the work on custom tire sizes! This means the next vehicle is coming, it's called "Big Foot", and it looks like this:
I also worked on steering:
First I adjusted maximum steering: vehicles used to be able to steer more than 90° at low speed. I initially added this so that players could quickly resume the race after hitting a wall, without having to reverse. I later realized it actually was making it harder to resume the race for some vehicles. This was particularly visible with the Big Foot so I reduced the maximum steering angle and it feels better now.
Second: steering wheels now come back more smoothly to 0° when releasing the steering controls, making vehicles a bit easier to handle.
On the translation front, the refresh of the Spanish translation by Jorge Maldonado Ventura has been merged (#258).
This month I did not do much work on Pixel Wheels, except for releasing version 0.23.0. Translators on the other hand have been busy:
Clyde is where I spent most of my time. It's the early days of this project so activity is quite frenetic: I made 3 releases in one month! Clyde is now at version 0.2.1. This month I added the upgrade
command, the last missing piece to make it feature complete. It's still quite bare-bones in some aspects but it's getting there.
The other important changes I made this month are the following:
clyde install
now implements downloads itself instead of using curl
. It also supports resuming interrupted downloads.
clyde install
learned to update itself on Windows. This is tricky because one cannot overwrite the file of a running executable on Windows, but I found out it is OK to rename a running executable! That helps.
clyde setup
learned to create Windows Git Bash friendly activation scripts, using cygpath
.
The package file format evolved too, with the addition of variables to reduce duplications and risk of errors.
I added a "nested" UI: commands can indent their steps, giving a better understanding of the progress. Here is how it looks when installing two packages at once:
clydetools
: gh-update
. It can be used to add the latest release of GitHub-hosted packages. This opens the way to having the CI automatically update packages.When you maintain a project, publishing new releases can quickly become a chore, so naturally one tries to automate it as much as possible.
One release step which is often automated is updating the changelog. We already have git commit messages, so let's gather all the messages since the last tag and "Voilà!" changelog entries for the new version!
There is however a problem with this idea:
Git commit messages and changelogs do not have the same target audience.