Memory Full


Written by Hicks & Toms in November 2015

Initially published on Push'n'Pop.

Hicks & Toms - Hi Ronaldo, you are known as the #CPCRetroDev organizer [NDHicks: at the time of this interview, the last one was from 2015. See dedicated page here!] but few people know you personally. Can you introduce yourself? What are your CPC activities? When did you start being interested in the CPC?

Ronaldo - Hi all, and thank you very much for your interest :). I started as CPC user in 1987, when I was only 8 years old. Previous to that I had contact with Arcades and a Phillips G7000, and my parents saw that I loved technology and games. Then they bought me an Amstrad CPC 464 with color monitor, and I started playing games and programming in BASIC, like many other people. That drove me to study Computer Science, learn to develop games, participate in demoscene and many funny things. Finally I got to my actual position as Professor at the University of Alicante (Spain) and Technical Manager at ByteRealms, which is the game development trademark of the University.

As Professor I teach game development and AI mainly. I'm always trying to find ways to help my students boost their programming skills and low-level knowledge about the machine. I find difficult to find good ways to teach and motivate students for working hard, but it is really pleasant when you see them progressing and sometimes being hired by famous companies like Blizzard or Ubisoft.

Regarding the CPC, I love programming. I've created tons of games in BASIC and C/ASM (most of them are lost, unfortunately). At the moment I'm helping people to develop games, developing CPCtelera and organizing the #CPCRetroDev contest. I hope to have time in future to create some new games and even some demos (I've been too many years without doing demoscene-related things and I miss it :))

Hicks & Toms - How was the #CPCRetroDev idea born? I guess that it's linked to your university, so can you tell us more about that? Does university help you on the practical or economical side?

Ronaldo - The #CPCRetroDev idea came to me as a way to motivate my students to learn low-level programming. I was worried about the decreasing knowledge my students shown about how programs actually work. Then I thought that asking them to create games for the Amstrad CPC could be a great way to force them to deal with low-level stuff and learn from it. I also tend to create ways to transform assignments into real world projects. I don't want my students to hand me what they think I expect from them: I want them to develop real projects for real people. This gave me the idea to organize #CPCRetroDev contest. Now my students know that their games are going to be played by real people outside, and that they have to compete against more experience developers. I find it a good way to motivate them and to give them an introductory taste about reality outside the university.

The University of Alicante is a public university and is always happy to help in the organization of social activities. Although the economic crisis has cut the budget in half, they still are some grants for Professors willing to organize social activities. It is not much, but enough for management tasks and for giving some prizes like #CPCRetroDev's.

Hicks & Toms - Do you teach Z80 coding to your students? They are probably too young to have known this computers era, so do you also teach computers history? Do you and your students only use emulators?

Ronaldo - I teach my students an introduction to Z80 coding and specific hardware knowledge about the Amstrad CPC. It is very light, as they only have 5-6 weeks to know the machine and develop a game for it. Almost all of them know the CPC for the first time on my lessons. There is no time for computers history, but some hints during lessons are unavoidable. Most of my work consists in reviewing their code and showing them good ways of managing memory and how to speed things up. The main lesson they learn is that they have to be much more careful on the way they code and have better understanding on what the compiler will produce. They get fascinated when they see how little changes to their coding style can produce a huge impact on performance. They also develop a lot of curiosity on how everything works and why do these things happen. That's the main goal. When they are conscious of all these things, they are prepared to develop their skill by themselves further on.

When the start developing, they mainly use emulators (WinAPE mostly), but they test their productions on real hardware I take to the classroom. I usually take some pictures and upload them to twitter. It is always funny to see their first contact with a Amstrad CPC 464 and their initial difficulties to load something from cassette tape. They usually treat the computer with extreme care, as if it was made of crystal.

Hicks & Toms - Today, a lot of CPC games use hardware technics to improve graphics and to ease Z80 work. Do you teach some hardware technics (CRTC, Gate Array, etc.) to your students? Out of university, do you know if some of them are still interested and continue to program for CPC? Maybe the new generation!

Ronaldo - I mention some techniques and give them some hints on how they work. However, I don't ask them to implement these techniques. First they have to become concious of their lack of knowledge and then they need to start with much general things like memory layout, RAM/ROM relations and differences or how a binary gets loaded into memory.

Some of my students get interested in all these things and continue developing their skill outside the university. In fact, some of this year's #CPCRetroDev contestants are previous year's students that enjoyed developing for the CPC and learning technical stuff. Certainly, they are forming development groups and continue developing their interest for the Amstrad CPC. Even some of them have bought real CPCs to play with them and test their developments.

Hicks & Toms - What are your impression about this year participation? 35 games is an impressive number of contributions. What did you notice about the participations evolution? Who will be the jury?

Ronaldo - I'm extremely happy and impressed at the same time. We saw interest growing about the contest and expect more entries than last year. But 35 entries is much more than we expected. We are extremely grateful to all participants and really happy to give these great news to the CPC Community. It's amazing seeing all the community producing new games: even some of them of professional quality! The level this year has gone through the roof and the jury has had a really difficult task.

This year we have invited many parties to be jury members. The general jury was composed by people from Lucera-Project games, Retromaniac Magazine, El Mundo del Spectrum Podcast, and Fase Bonus. It's much more balanced than last year, as final decision is a mix from people from the industry, advanced users and game reviewers, and technical press. We also had Devilsh Games who decided on the most original game and gave a little trophy to the winners.

Hicks & Toms - Thank you for your CPC implication. The last words are, as usual, for you!

Ronaldo - Thank to all of you. I'm just one more CPC lover and I'm sure that my interest is the same as all of you: doing useful things and enjoying them with the CPC community. Having such a supportive community gives plenty of motivation to do lots of things. CPCtelera and the #CPCRetroDev are just examples of the outcome of this community. It doesn't matter if it's me who has to be in charge, this is really the product of all the interaction of the members of the community and their developments. As Issac Newton once said, "We rest in the shoulders of giants", which means that none of these things would exist if many other previous contributions wouldn't had existed. All of us are like grains of sand: there exists a idyllic beach because all of us are giving our small contribution to it :).