Ciro Durán A Live Archive

EMF 2024 Ukulele Jam

I’ll be travelling to Eastnor this last Thursday of May to be at Electromagnetic Field 2024. If you are there too, please give me a shout!

Apart from stumbling around and see the lovely people, inventions and sights, I’ll be running a ukulele jam on Sunday 2nd June, from 12:00 to 13:30 at Workshop 0 (Drop-in). Chord sheets are provided on display, and you can download them to your tablet. If I see lots of newbies we can dedicate the first half of the jam to simpler songs, and then go on to more complex songs at the end. All skill levels are welcome. Please bring your ukulele. We have a very small stock of ukuleles for drop-ins.

See you there!

My Music in 2023 Posted

As in previous years, I’ve posted all the music I made as part of our Tuesday Tunesday thing we do among friends each week. Please go to Music in 2023 to listen to it.

Caracas Game Jam 2024 Summary

As it has been usual in the past years, I’ve written my summary of Caracas Game Jam 2024 (in Spanish). 46 in-venue participants and 15 online made 17 games, whose gameplay videos are compiled in one big video. Kudos to the organisers, who made a great job this year setting up everything, and coming back to a physical site since 2020. Please read the summary and watch the video.

20 years of Take a Break

On the 25th October 2003 I published Take a Break’s demo on the Adventure Game Studio forums. With time, the demo stopped being so and became the whole game. The links in the original post are dead, sadly, but the game can still be download from here. A copy of the post in the AGS forums is here as well (because you never know). Take a Break is also known as Tómate un Descanso, its title in Spanish.

Take a Break is a point and click adventure game, heavily inspired in the games made by Lucasarts in its time, such as Day of the Tentacle. It was made with Adventure Game Studio, a tool that it’s still used to this day to make games in this style. Take a Break was the first game I ever posted to the Internet, although not the first I made. That belongs to some games I made with Recreational Sofware Design’s GameMaker and some Paint Shop Pro version, and lost like tears in rain. Sadly, the sources to Take a Break were also lost with a hard drive failure, and no longer exist. Only the executable that we have today.

In the game, Albert Krakowitz is an office worker that wants to escape work to travel to the fictional and caribbean Isla de Bastidores. The demo was envisioned as some sorts of cold intro for the game, with most the story telling the misfortunes of Al and his travel companion, and him possible returning as a new man.

I published the game convinced that it was just the demo for a much longer and complex game, but eventually I got some other interests, and the demo became the whole thing. I made the illustrations and animations for the game, and some of the music. In 2003 I was in the middle of my undergraduate studies, but we had just went through some hard times (the 2002 general strike). During the strike, we didn’t have classes, and this was the moment where I developed most of this game. The illustrations were hand-drawn, digitalised and then pixel art on top of them. The music, except for the one at the game’s intro, was made by me, I do not remember which MIDI sequencer I used.

Take a Break had a walkthrough written by Francesc Planas, and the original link is dead, but can still be seen on Wayback Machine (I also include a copy of that Wayback Machine entry because you never know). I know this because I wrote about it in El Chigüire Literario, my fully-Spanish gamedev blog. The game had reviews on personal blogs that no longer exist (Moderno Prometeo is one of the ones I can track in my blog).

The things I learned in the game I used them later to create an AGS tutorial. As it happens with lots of documentation, the tool itself evolves and changes, and eventual the tutorial was outdated.

Take a break never won any prizes, and I’m not sure if it had an impact on anyone. The fact this game can run on a PC 20 years of having been published is a sign of how good Windows compatibility is, a feature not shown by any other platform, not even Adobe Flash. However, I can say that this game was important in my personal and professional growth. This game, and those who came after, and everything I wrote in El Chigüire Literario, silently built over itself to make my career and my life. I love that this game can still be played, and that I can show a bit of my thoughts 20 years ago. I am glad to point at this and say “I made this then”.

Preserving things through time is hard. I am still a bit sad to have lost the game sources. But we can still enjoy what has survived.

Assembling a guitar effects pedal with a Raspberry Pi

I found this link to a guitar effect pedal software, I got very curious and I decided to assemble it with hardware that I already have. The repo contains code to run a low latency sound effects processor (as in, real time audio).

The code is written in C++, using SDL2 for visual display, RtAudio to interface with the audio i/o and crow for a web server that shows the complete UI for pedal controls.

The hardware I used: a Raspberry Pi 3 mounted to a element14 touch screen, a breadboard to put the push buttons that connect to the Raspberry Pi through the GPIO port, and a USB sound device with mic and audio ports. It’s also the first time I got to test the touch screen.

I did not have trouble making the touch screen work: the Raspberry Pi is screwed behind the screen, connected to each other through the specialised display port, and the screen uses the same official Raspberry Pi plug, it provides enough energy for both components. The Raspberry Pi as a tablet is a very interesting device, even though the initial setup keeps it plugged to the wall and not to a battery. I connected a keyboard anyways, life is too short to use the touch screen keyboard.

After having tested that the screen works, it’s time to compile and install GuitarEffects. The procedure is reasonably well explained in the project readme. This is mostly installing the dependencies with apt and then running configure, make and make install.

The only comment I’ve got about the process: installing RtAudio worked practically out of the box (no extra options needed). However, I had an error message when I tried to run configure: No known system type found for realtime support!. I had to install an ALSA dev package to solve this, sudo apt-get install libasound2-dev, and then I had no other issues with the installation.

Once everything was compiled, I ran sudo ../bin/server from the web directory in the repo. At this moment the program could not determine the audio device to be used, and it asked me through the terminal. Once I selected the audio device, the program opens a window that shows a real time audio wave.

The program also serves a website that offers full pedal controls. You can open it in the Raspberry Pi browser, or any other browser that is in the same network.

The only thing that remains is to plug in an instrument, some speakers, and start playing.

I decided to use a Raspberry Pi 3 instead of the 4, because that one I recently bought and quickly became my Samba file server, replacing my old RPi 3 setup. I think I did needed a 4, and I noted some crackling and popping, making me think that it doesn’t have enough performance. There are ways to configure the Pi for better real time audio performance, including disabling services such as network. This is not an option for this project due to running a web server.

The buttons did not work for me as the project readme states. However, this was something I did not pay too much attention due to being distracted with the web interface. The pedal as of now offers a good deal of interesting effects: autowah, low/high pass filters, flanger, fuzz, delay, distorsion, compressor, reverb, looper, and some others.

As an experiment, I think it was pretty interesting, and a solid project with lots of potential. Some things I would have done with more time:

  • Make the buttons work: documentation is not clear on what they specifically do, so I did not bother to make them work
  • Improve real time audio performance: the article I linked to above has good suggestions. My setup doesn’t have a fan, so I did not want to mess with overclocking. The web interface shows the system temperature, and it did not change in the hour or so I was playing. It would be a matter of read and weight each suggestion