Prey Another Day

The artwork adds a lot to the game

Prey Another Day (which makes me think of James Bond film) lets up to five players try to eat each other over a series of hunts. For each hunt you pick an animal to send into the fray. You’re torn between power (the bear can hunt anything) and uniqueness (more than one of any animal in a hunt and all those animals are out of the round). So perhaps you might go for a “mid-table” lynx and hope that nobody else has made the same choice. Which is what four players did in our first game (it was hilarious).

As the game proceeds it gets more and more strategic and bluffy. Players start slapping down cards and making bear noises (at least some of us did). And maybe, just maybe you can take a lowly mouse to victory. Great fun and strongly reccommended.

Sore Thumb Video Games in York

This is not a video game shop

Went to York today. Of course we took a picture of York Minster (see above). Of course we had a great meal at Zaap Thai. And of course we went to the Sore Thumb retro video game shop. This is an amazing place. Consoles and games jostle together on crammed shelves and they have at least one of everything. The even had a couple of GameBoy micros but not at prices I could ever afford. I made one small, silly purchase (of which more later) and they let me take some pictures of the place.

If you’re in York you really should go. If you’re near York you should go to York and then go there. A great place.

Racing Cubes with a PlayStation 2

All I need now is 15,000 credits…

Today we got our PlayStation 2 down from the loft to see if it still works. We’ve not had much luck with the PlayStation 1 - that had succumbed to a malaise that seems to have broken the CD player - but the PS2 works fine. We popped in a copy of Gran Turismo 3 and discovered that not only does the game work fine (and is still great fun to play) but you can also buy a Nissan Cube to “race”. As Cube driver (although not the model above unfortunately) this was all rather exciting. We were using a really fancy device that takes low resolution video signals and turns them into clean looking HDMI video. We are getting our retro games consoles together for the Hull CS50 celebrations and we should now have Gran Turismo 3 - with force feedback steering wheel…

Dragon's Dogma 2 - a spectator's review

I don’t play that many video games. But I do enjoy watching other people play them. Number one son is in town and playing Dragon’s Dogma 2. Which is a great watch. The environments are huge and detailed, the level of interaction with them is impressive and the characterisations are brilliant, particularly the voice acting.

You play “The Arisen”. You’ve been killed and marked by a dragon with which you share a sacred bond, which results in the dragon popping up and giving you a kicking whenever one of your companions says something stupid like “Together we are unstoppable”.

As the genuine Arisen you are heir to the kingdom and all kinds of good stuff, but it turns out that another arisen has got there first, and so you need to start by untangling the mystery of your imposter. Add a bunch of side quests and the action soon becomes very engaging. At some point I suppose there will be a fight with the dragon, but I think we’ll have to build up to that bit.

You are aided in your quest by a bunch of “pawns” who are characters you can recruit to help you in your mission. Your “chief pawn” (we called ours ‘Gary’) is a permanent fixture but the others can be swapped in and out as you find better fighters, mages and whatnot around the place. They all consider working for “The Arisen” a great honour and so hiring and firing is all very amicable.

It’s great fun and done with a lot of panache. Occasionally you notice that the ambition of the game slightly outpaces your console, with our PS5 chugging a bit when things on screen get complicated. But I would strongly recommend it if you’re looking for somewhere to spend the next six months or so….

Tower Block Development

Hornsea Mere

Another purchase that I made last Thursday was of a rather special film developing tank which can develop three films at once.

It contains three spirals into which you wind the films before putting the whole thing in the light tight tank and pouring in the chemicals.

This is a good idea because if you use large format film with only a few shots per roll you find yourself coming home with multiple films to be developed. Also, you can save up a bunch of films and then do them all at once. I was going to put three films in the tank but it occurred to me that this would be a bad idea if the tank was faulty. So I found an old film which had some pictures on it but had been slightly spoiled when I opened the camera back by mistake. I wasn’t expecting there to be much on this film, so if it didn’t work I’d be quite relaxed about it. However, it worked just fine and I even had some pictures turn out OK, which was nice.

Accidental Art

I was at Hull University again today so I snapped a bunch of pictures with my new (to me) half frame Russian camera. It is now one of my favourite devices. But not because it works. The drive mechanism for the film is faulty. Some of the pins on the film advance sprockets are worn down a bit, probably by a previous owner rewinding the film without disengaging the drive. A lot can happen to a camera over fifty years. This means that the film doesn’t always wind on properly. So you get one frame overlaid on top of another. And you get pictures like these:

the lens is very sharp and the exposure seems to work fine

No two pictures the same…

Close to working properly…

I had a lot of good times here..

The things you get right are interesting. But sometimes the things that you get wrong are even more interesting. I liked the idea of making images that had two pictures in the frame, but what I’ve ended up with is even more than this. I’ve kind of figured out how to make the film move properly most of the time, but I think every now and then I’ll get this camera out just to see what kind of pictures it creates for me.

Bought a Chaika II

Chaika means “seagul” It was the callsign of the first woman in space

I’m still buying cameras. Fortunately they are not very expensive. The latest purchase is a Chaika 2. This was produced in Russia and is interesting because it is a “half-frame” device. This means that it takes pictures half the size of the usual 35mm negative. You get twice as many shots on a roll of film, although the pictures will be smaller and therefore slightly lower quality.

The camera is entirely manual and the lens is removable so that it can be used in an enlarger to make prints (although the enlarger was never made). I’m looking forward to popping a film in and seeing what the results look like.

Most Excellent Hardware Meetup

say hello to our new rugby team…

We had a splendid Hardware Meetup tonight. We had a bunch of folks who fancied building a robot. Which was nice because we had a bunch of robot parts and even some ready made robots (and some in between) for folks to work with. Much fun was had. Software was loaded, steppers were driven and code created. Next time we are going to add the battery boxes and get our robots moving around on their own. Then we can start playing games with them. Great fun.

If you fancy getting involved it would be lovely to see you at the next meetup on the 3rd of April at Hull MakerSpace starting at 5:30 pm.

Aircon Fun and lots of games

I did take a picture when we got home though..

Here’s the thing about AireCon 2024 at Harrogate. I was having so much fun that I completely forgot to take any pictures. We arrived at opening time (a good move) and the first stop was the bring and buy sale where we bought a bunch of second-hand games. Which we then sat down and played. They have a whole bunch of tables and chairs just for this. We tried Dino Dump (OK) and Planes (a bit complicated - to us - but shows promise). Then we slipped out for a nice meal, came back and had a wander around the stands from game makers and sellers.

It’s rather nice to be able to sit down with the people who invented a game and play it. We bought a couple of games on this basis. Flip, Switch and Roll is a really nice dice and card game which stretches the maths muscles well and Danger Zone - the Game is based on Thunderbirds. We went back to the bring and buy to discover that lots of people had been buying, the place was pretty much stripped bare. If you plan to go (and you should) make sure you get there early.

The Photography and Video Show

I don’t have any pictures because I need to get the film developed….

Today finds us at the Photography and Video Show in the National Exhibition Centre (NEC). I’ve not been before. It’s awesome. Loads of familiar brands plus a whole bunch of other interesting stuff. My favourite stand was the Disabled Photographers Society. They collect donations over the year and then put them all up for sale at the show. So there were lots of old cameras to root through.

A little dusty but otherwise perfect

I found the Pentax ProgramA you can see above. This dates from around 1980. I’ve no idea if it works. It was one of the first “battery only” cameras and it won’t do anything until you give it a couple of LR44 cells. I’ll find out when I get home whether or not it works.

Next year the show will be in London rather than Birmingham. I’m definitely going to try to get there though, it was great fun.

Update: I got the camera home, popped in a couple of batteries and everything seems to do what it should. So the next step is to pop a film in it.

Making "The Exchange" - an AI you an ring up

Perhaps when I’ve built it I can ask it why it doesn’t work…

I hate it when things in a project go too well. It usually means that things are due to go not very well in a short while. I’ve got my Large Language Model running on a Pi 5 and I thought I’d use this to create “The Exchange”. This will work with “The Red Telephone”. The idea is that you pick up the receiver on your telephone and dial a “3”. A robotic voice asks you to state your business. You give your question and then put the receiver down. After a decent interval “The Exchange” rings back with the answer.

To make this work the phone needs to capture audio input from the phone, use speech to text to get the question text and send this to the Large Language Model Pi 5. The Pi 5 will respond with the answer and I can use the text to speech in the red phone to deliver the answer. Sounds simple enough.

I’ve found this lovely library which can run on the Raspberry Pi Zero in the phone and convert speech to text. It’s a bit slow, but I don’t care about that because I can record the question and then use speech to text on recorded sound file after the user has rung off. So the next thing I need to do is find something I can use to record audio into the Pi. Up pops https://www.npmjs.com/package/node-record-lpcm16 and that works a treat too. At this point my spidey sense is tingling a bit because things are going too well.

So I start to build the program. I write the code that tells the user to state their question and then records their response. It’s bound to work because I’ve tested it. But of course it doesn’t. The speech playback (using eSpeak) works a treat but the audio recorder fails because it can’t find the input device. Everything works fine individually. The only time it fails is when I ask it to do what I want it to do. I get this a lot when writing software.

I do have a fix though. If I run the whole application as a super-user it works. I’ve no idea what the speech generator is doing with the sound device, but giving the sound recorder awesome system powers seems to enable it to find a sound input device and make a recording.

I’ve spent a bit more time investigating the problem. I’ve added a timeout after the speech output finishes to give it time to release resources. I’ve tried different device names rather than the default one. But nothing works.

It’s not a huge problem if the application has to run as supervisor I suppose (although I’m not a fan of this approach). And I consider “Because it works that way” a perfectly reasonable answer to the question “Why have you done it that way?”. So I’m going to pop the question on the back burner for now and carry on.

Start your node.js applications when your Raspberry Pi boots

Spring is coming…

If you’ve got an application (perhaps one that lives inside a red telephone) which you want to run when your machine boots there is a really good way to do this. You turn your application into a service. You can make your application start when the Pi boots and you can also start and stop the application from the command line.

We can use the systemd to this for us. This orchestrates the startup and management of services. To use it with a Node.js application, we create a systemd service unit file.

Start your editor of choice and create a file named redserver.service (if you’re controlling a red telephone - otherwise use a more meaningful name) within the /etc/systemd/system/ directory. This file defines a service for systemd to manage.

[Unit]
Description=Red Phone Server/home/rob/RaspberryPi-DialTelephone
After=network.target

[Service]
ExecStart=/usr/bin/node /home/rob/RaspberryPi-DialTelephone/redserver.js
WorkingDirectory=/home/rob/RaspberryPi-DialTelephone
Restart=on-failure
User=rob

[Install]
WantedBy=multi-user.target

Note that the file sets the working directory for the application and specifies the command that starts the service. You can now enable and start your service with the following commands:

sudo systemctl enable redserver
sudo systemctl start redserver

The service will now run each time the Pi boots. You can use systemctl to stop the service. This is useful if you want to debug the service - things don’t normally go well if you have two copies of the thing running…

sudo systemctl stop redserver

If you want to restart the service you just start it again.

sudo systemctl start myapp

If you ever want to disable the service completely and stop it running when the system boots you can use this:

sudo systemctl disable myapp

I’ve found this very useful. So useful that I’ve made a blog post so that I can find it again later…

Free Hull Pixelbots at March 20th Hardware Meetup

If too many folks turn up will run a draw for these

Thanks to the generosity of “Player Piano Ross” we have some Hull Pixelbots to give away at the next Hardware Meetup at the Hull Makerspace at Central Library Hull. The meetup is on Wednesday 20th March and will start at 5:30 pm and continue until around 7:00pm. We are going to spend some time doing “Robot Training” with a little obstacle course we’ll try to program our way around.

The long term aim is to swap out the existing Arduino Uno controllers on the robots and replace them with Raspberry Pi Picos. This will let us run Python on the devices and program them over Wi-Fi. For the session on the 20th we’ll be using Python-ish and connecting our robots over RS232. I’m going to bring a few original pixelbots including Crystal Masie and Captain Black. It would be lovely to see you there. Bring your laptop, some AA batteries and a winning smile.

And you might get a free robot of your own.