Taylor Monthly - June 2026
| Count | |
|---|---|
| Releases | 0 |
| Commits | 10 |
| Contributors | 2 |
| Pull requests merged | 7 |
| Issues closed | 1 |
At a Glance
- Emscripten Upgrade 4.0.13 -> v6.0.0
- ARGV Rework for the CLI You can now use -- to split args from the CLI to your game
- Improved Developer Experience You should be able to use Docker from within Docker now
- Updated Documentation for Development How to properly set up your machine for developing Taylor
- Block Stacker Example Game I start in earnest on the block stacker example game
- Taylor v0.5.0 Progress Where the new release is at
Emscripten Upgrade
Emscripten has been upgraded two major versions from 4.0.13 all the way to
6.0.0. Thankfully it just boiled down to including emscripten.h in a few more
places.
ARGV Rework for the CLI
The Taylor CLI was missing some a pretty useful bit of functionality that makes it a lot clearer which arguments are for Taylor and which are for your game.
Given the following script:
# args.rb
puts "Arguments: #{ARGV}"
When you run taylor args.rb -- --version what would you expect? I bet it’s not:
$ taylor args.rb -- --version
trace (most recent call last):
[3] /app/taylor/output.rb:569
[2] /app/taylor/output.rb:320:in call
[1] /app/taylor/output.rb:326:in initialize
/app/taylor/output.rb:387:in setup_options: unknown option: , version (RuntimeError)
In v0.5.0 you can run taylor args.rb -- --version to disambiguate who the
arguments are for. Anything before the -- is for the taylor command and
everything after is for args.rb. For example:
$ taylor-dev args.rb -- --version
Arguments: ["--version"]
Thanks to azimux for implementing this feature! It’s still so amazing to me that there are people out there interested in Taylor.
Improved Developer Experience
Having someone else work on Taylor made me take the developer experience a lot more seriously. I’d kind of neglected the development Docker setup since I don’t use it much myself.
I’ve now got the full CI suite able to run locally inside of Docker to make getting a full development environment set up a lot easier. This means that you can do development on OSX as well, and maybe even Windows if you set up Docker Desktop or WSL.
There’s definitely still some issues. I’ve noticed on Fedora sometimes it’ll
stop having permission to access /var/run/docker.sock. I’m not sure what’s
happening there and may investigate later if other people have issues.
Updated Documentation for Development
Given the big push to make local development easier for people I decided it was
time to rewrite the documentation and split them out from the README.md.
I also decided to remove the documentation around setting up a local build
environment. This was done in favour of pushing people to the easier to maintain
Docker environment. If people are still keen though, they can look into
Dockerfile.dev and figure out what they need. It’s honestly not very hard to
get set up on Linux but would be very difficult on Windows or OSX.
Block Stacker Example Game
I’ve finally started in earnest on a new example game, this time the focus will be on stacking blocks and clearing lines!
I’m very excited about this project as I’ve wanted to build this sort of game for a while but have felt intimidated I might not structure it well enough for the crazy shenanigans I plan on doing with it. If I let that sort of thing hold me back though Taylor would never exist, so I bit the bullet and started work. It’s early days but I’m already pretty happy with it.
An orange 'L' piece is shown spinning around and moving over a light gray grid. There is debug information on the left hand side of the screen.
Taylor v0.5.0 Progress
I spoke about this in my last monthly update but it’s still not live. It turned out there was more I wanted to get into this release. Also with the discovery of some missed test migrations that meant I had broken important functions after the mruby upgrade I decided to take it a bit slower.
One of the big things I want to do is come up with a release checklist. I’ve been thinking on it a bit more the past few days because I want to start the release process as I do believe it’s ready. I’ve been using the prerelease locally for a while and haven’t hit any unexpected issues.
If you’re interested if following the release, see the pull request.