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 :)
The popularity of Go and Rust and their ability to produce self-contained static binaries has made it easier for developers to publish builds of their applications working reliably on all platforms.
Downloading standalone binaries is easy and fast when one wants to try a new application (no need to build from source, no need to add a third-party repository...). On the other hand, keeping track of these applications over time is tedious and time consuming. This is what Clyde is here to solve: Clyde is a cross-platform package manager for pre-built applications.
Installing fd, for example, can be done with clyde install fd
.
Keeping installed applications updated consists of running clyde update
to get an up-to-date list of packages, then clyde upgrade
to install the latest version of all installed packages.
Another double monthly update. Turns out moving to a new house is a voracious time eater… (who knew?). Here is what I still managed to get done when I was not busy emptying one house, filling another one, trying to give/trash as much crap as possible in the (still ongoing!) process.
On Pixel Wheels, I worked on the third track for the "Pixel Cities" championship. It's mostly ready and now has a name: "The island".
This new track was the opportunity to make some improvements on the tile engine. Creating obstacles requires less manual work now, making it faster to iterate and experiment.
Welcome to this September 2023 update! I had Burger Party and Nanonote releases planned for this month, but that did not happen. I did however release version 0.25.1 of Pixel Wheels.
0.25.0 had a bug where it would complain about a missing controller when started on Android (#398). I released 0.25.1 to fix that. The release also includes updated translations and a fix for the score table not always fitting in the screen (#397).
Beside this release, has announced in my previous monthly update, I reworked the track selector to fit another track, so that I can add a 3rd track to the "Pixel Cities" championship. It looks like this now:
The first row shows all championships. The second row shows the tracks within the selected championship.