It's here, Pixel Wheels 0.26.0 is available for download!
If you have been following my status updates, none of this will be new to you, but here is a summary of the major changes brought by this new version.
The "Pix Cities" championship has its third track. This track is called "The Island" and take place on... an island, you guessed it. It's a long track where you get to race along the walls of an ancient castle and on a narrow boardwalk with water on both sides. Careful!
(Note that these are zoomed out screenshots, vehicles do not look that small when playing!)
The addition of this track means all championships now have 3 tracks. This is an important milestone for me because this is one of my 1.0.0 requirements.
So, has the new version of Pixel Wheels been released? Well... not yet... but it's almost there! Translators have updated their translations (thanks!), I did a few adjustments and a bunch of testing. It looks good so far.
The addition of the Island track made the track selector in the "Quick Race" screen too cramped. A few months ago I redesigned it to use a primary-secondary layout: first row shows the championship, second row shows the tracks in the currently selected championship. This scales much better, but touch mode was a bit broken: one had to "double-touch" on a championship to see its tracks, so I fixed that.
I now understand why lists in many mobile games only show one item at a time, with previous / next buttons to navigate. It's not super efficient, but it makes it possible to show an item and details about it, which is difficult in a UI without notion of cursor hovering or focus.
"The Island" received a few final touches: I defined track records for it, but while driving it other and other I realized the long straight line at the bottom was a bit boring, so I added some extra turbo tiles to spruce it up.
So, in my last status update I said there would probably be a Pixel Wheels release in July and... it did not happen. Vacations and planned surgery did not help making this month super productive 😁. I nevertheless made some progress on Pixel Wheels. Let's get through them.
First, Pixel Wheels received a new translation, this time it's Galician, by Ninjum. Thanks!
Pixel Wheels is getting some merchandising! I created a Pixel Wheels collection on RedBubble. In great dogfooding tradition, I am probably going to order a T-shirt or a cap at some point 😉.
Last month was a release month! As I hinted in my previous status update, I had a bunch of overdue releases to publish, and I am happy to report they all went out!
On June 16, I released Clyde 0.8.0. This new version does not bring game-changing modifications, but it makes Clyde nicer to use.
I am especially happy with clyde doc
new ability to list the URLs for the homepage and repository of a package: this ensures there is always a way to get a bit of information about a given app.
It's been a very long time since the last release of SFXR-Qt, my Qt port of SFXR retro sound effect generator.
A few bug reports have accumulated since then, as well as some build fixes, patiently waiting to see the day they would be released. It was time to blow the dust off this repository. I tackled a few of the bugs and wrapped version 1.5.1.
Another 2-months-at-a-time update because real-world life kept me really busy lately. This report will be about Pixel Wheels again.
Pixel Wheels camera initially rotated so that the player vehicle was always pointing to the top of the screen. This way you never pressed Left when you actually wanted to go right but the vehicle was pointing down.
I was a big fan of this behavior, but others were not: it can make players a bit dizzy. It first became an option, but eventually got removed because it clashed with a rework of the multiplayer mode where all players shared the same screen.
This multiplayer mode change eventually got reverted, so the rotating camera could be brought back. Except I did not have the energy to do so. This is where contributor Compl Yue stepped in: he re-implemented the rotating camera mode, bringing this feature back from the dead.
The focus of this month was on Clyde. There was a number of changes I wanted to make, and I am happy to report I was able to implement most of them and release Clyde 0.7.0 on April 2!
clyde doc
If a package provides documentation in its release assets, such as a README or an FAQ, Clyde packages install them in $CLYDE_HOME/inst/share/doc/<package_name>
. If it provides man pages, they get installed in $CLYDE_HOME/inst/share/man/man<number>
. This is useful, but let's face it, it's too much effort to cd
there and open these files.
Enter clyde doc
! Pass this new command a package name: it lists all documentation files provided by the package, let you pick one and opens it for you. If it's a man page it opens it with man
, if it's a text file it uses your preferred pager, and for other file types like PDF it starts the system default application for this file.
Here is how it looks if I run it on ripgrep:
$ clyde doc ripgrep
share/doc/ripgrep/CHANGELOG.md
> share/doc/ripgrep/FAQ.md
share/doc/ripgrep/GUIDE.md
share/doc/ripgrep/README.md
share/man/man1/rg.1
You can control the >
arrow with the up and down keys, then press Enter to read the selected file.
I am fan of offline documentation, but offline documentation is not always easy to reach. This feature has been on the back of my mind for a long time, I am happy to have it now!
For this February status update, I want to show the work I have been doing on Pixel Wheels "hit effect". The "hit effect" is what happens when a vehicle is hit by a gun bullet, a missile, or triggers a mine.
Up to know when this happens, the vehicle makes a 360°, which slows him down but keeps it in the same direction as it was before getting hit. This effect has two issues though:
So the effect can be either not punishing enough or too punishing 🙃.
Following my 2023 wrap up, here is the first status update where I focus on a single topic for the month, with the hope of making the update a more enjoyable read.
This month I finished Pixel Wheels new track: "The island".
The track starts with a tight right turn around a tower.
Then you drive in front of an old fortified entrance:
It's the start of 2024, so I want to reflect on how 2023 went, regarding my FLOSS activities.
In 2023 I made 17 releases:
Date | Project | Version |
---|---|---|
2023-02-05 | Pixel Wheels | 0.24.2 |
2023-02-14 | Cat Avatar Generator | 0.2.1 |
2023-03-12 | Nanonote | 1.3.91 |
2023-03-20 | Clyde | 0.5.0 |
2023-04-02 | Nanonote | 1.3.92 |
2023-04-03 | Nanonote | 1.3.93 |
2023-04-11 | Nanonote | 1.4.0 |
2023-05-08 | Burger Party | 1.4.0 |
2023-05-20 | Burger Party | 1.4.1 |
2023-06-14 | Burger Party | 1.4.2 |
2023-07-03 | Poglyph | 0.0.1 |
2023-07-05 | Poglyph | 0.0.2 |
2023-08-30 | Pixel Wheels | 0.25.0 |
2023-09-21 | Pixel Wheels | 0.25.1 |
2023-11-02 | Burger Party | 1.4.3 |
2023-12-01 | Nanonote | 1.4.1 |
2023-12-28 | Clyde | 0.6.0 |
or, grouped by project:
Project | Versions |
---|---|
Burger Party | 1.4.0, 1.4.1, 1.4.2, 1.4.3 |
Cat Avatar Generator | 0.2.1 |
Clyde | 0.5.0, 0.6.0 |
Nanonote | 1.3.91, 1.3.92, 1.3.93, 1.4.0, 1.4.1 |
Pixel Wheels | 0.24.2, 0.25.0, 0.25.1 |
Poglyph | 0.0.1, 0.0.2 |
(I haven't written about Poglyph yet. It's a set of two small CLI tools to find missing glyphs in fonts. I extracted it from an internal Pixel Wheels tool and now use it in Burger Party)
I was happily surprised by the number of releases I managed to push. It's a bit more than I expected.
I had the secret goal of getting Pixel Wheels 1.0.0 out for the end of the year, but that did not happen. Moving houses ended up taking way more time than I expected :)
Still the game is in a good shape for a 1.0.0 release. The missing track is mostly done, I may add multiple difficulty levels (some equivalent to the 50cc, 100cc, 150cc and 200cc in Mario Kart) and that will be it.
Burger Party made a surprising come-back this year! Google requesting the game to be updated otherwise it would no longer be available on Google Play finally got me working on it after leaving it untouched for 5 years.
I am happy that I finally got to add the end sequence I had in mind and that I pushed the game on F-Droid. This had the unexpected side-effect of gathering interest from several translators: the game received an update to the Spanish translation from a native speaker and got translated in Basque, Dutch and Polish! And it's not over yet: I recently merged an Hungarian translation too.
I had high hopes on Clyde, but it has failed to gain traction for now. Marketing is definitely not my forte, but I keep trying :). At least it's useful for me, and creating it was a nice way to gain more knowledge in Rust.
I have a support page, with links to various ways to give me money.
The thing is, even critical infrastructure projects struggle to get funded (mandatory XKCD link). Me, I just make tools and games. I am also not starving, there are more important projects or causes than supporting me. Still I would love to be able to reduce my time at $JOB to a 4 day week, keeping one day for my own projects, as I once did several years ago.
Support in 2023 breaks down to this:
Source | Number | Amount |
---|---|---|
Patreon supporters | 2 | 100.25€ |
Liberapay supporters | 1 | 5.43€ |
One-time Ko-fi donations | 4 | 25.42€ |
Itch.io sales | 1 | 4.32€ |
GitHub sponsors | 0 | 0€ |
Total | 135.42€ |
The tricky part of being on platforms like Patreon or Ko-fi is they encourage you to give some rewards to supporters. It makes sense, but it does not match well with open-source work: I don't have any secret agenda I could share with insiders, all my work is in the open. As such I feel the least I can do is write monthly status updates, but it takes quite some time to do so, and I have no idea if they are useful. When I look back at them I often find them boring to read.
I actually like writing, and I'd like to write more interesting pieces than status updates. I am considering focusing on one interesting topic for each month, and write on it instead. What do you think?
My primary goal for 2024 is to get Pixel Wheels 1.0.0 out. I don't want to write down any other goal for now, we'll see when it's out! Once this one is achieved I am sure I am going to feel a huge relief :)