Jeroen Vermeulen will be the guest speaker at the next RISC OS User Group of London (ROUGOL) meeting, which will take place as hybrid online and in-person event on 17th January, at which he will be talking about how he ported five games to RISC OS.
In 2019, Raspberry Pi Trading Ltd published Code the Classics – a rather attractive looking book centred around five famous classic games. As well as discussing those games, the aim of the book was to recreate them – and in doing so, demonstrate various techniques and processes so that readers could learn to write their own games.
The games were recreated in Python, using Pygame Zero – a Raspberry Pi version of the Python game development library – and the book contains the full listing for each of them, although in practice it also contains a download link; this pulls down the graphics and sound files, along with the fully commented listing.
Jeroen got himself a copy of the book, and rather than simply read it through, download the relevant files, and learn how to write games in Python for the Raspberry Pi, he instead decided to do something slightly different: port the games to RISC OS!
The first two he looked at were Infinite Bunner (a game based on the classic Frogger) and Cavern (based on Bubble Bobble). In both cases, Jeroen converted the Python code into BBC BASIC and, using the AMCOG Development Kit along the same graphics and sound files for the Python versions, was able to release to very polished and playable games for RISC OS.
The next two games to be ported were Boing (based on the classic Pong) and Myriapod (a version of Centipede) – but by this point, an Chris Johns had ported an up to date Python to RISC OS, along with Pygame, so instead of converting the games to BBC BASIC, Jeroen was able to bring them over using the language they were written in for the book.
And having successfully achieved that, he then went back to the first two games and (re-)ported them using Python as well.
With one last game to look at, Jeroen then brought Substitute Soccer (based on games like Sensible Soccer and Kick Off) over to RISC OS – again using Python and Pygame.
Jeroen will talk to the group about why he decided to bring the games over to RISC OS, and how he went about doing it. Starting with those first two ports, he will talk about his conversion of Python code to BBC BASIC, and what compromises were necessary to achieve the end-goal. With the subsequent games ported using the source language, he will discuss what changes were needed to cater for the differences between the two operating systems used – RISC OS for us, Raspberry Pi OS for the versions in the book.
The set up process for Python 3 and Pygame will also be covered, along with some comparisons between the different versions – how the BASIC and Python versions of the games perform against eachother, and of course the RISC OS vs Linux versions.
If you’d like to attend the meeting, it’s a hybrid one so you have two options – you can either come along to the venue and attend in person, or you can join in remotely. It will take place on Monday, 17th January, with the talk expected to kick off at 7:45pm.
The meeting will be held at:
The Duke of Sussex,
23 Bayliss Road,
ROUGOL members should be around from 6:30pm, and it will take place upstairs, and with low numbers is likely to be in the Petworth Room (so if you can turn up, please do so in order to get the group promoted to the Chichester Room!).
The venue is a stone’s throw from Waterloo station, so easy to reach by public transport for anyone in the London area – and even from further afar. For anyone visiting by car, there is parking outside on Coral Street (accessed from Waterloo Road/Pearman Street) from 6:30pm.
You can join the meeting online – from 7:30pm – using the Zoom video conferencing software, which is available for mainstream platforms such as Windows and Linux.
The access details for the meeting are unchanged from other recent ROUGOL meetings, so if you’ve attended any in the last few months you can use the same credentials again. If you haven’t, though, please contact ROUGOL in plenty of time to receive the information you need.