Learn a bit more about Carlos Rodríguez, father of MSE’s engine, used in games such as Scrapland and Spacelords! 😊 Read Part one HERE!
What’s the first game you ever played?
It has to be a Spectrum title. Maybe one of those little games that came with the console! I do remember games like “The Sentinel”, which caught my eye immediately for technical purposes. Guess it comes with the job! This one was a pseudo-tridimensional game whose main goal was to climb a terrain heavily guarded by sentinels. If you wanted to keep going up, you had to absorb those sentinels. And technically, for the time, it was ASTONISHING. They used to say there were 10.000 stages, and all I could think was: “That does not fit in a cassette”. The stages were generated procedurally, but you could always load that very same level with a key. Besides being pretty funny, it was really well done.
Has your vision on game development has changed over the years?
Everything is more accessible now. There are a lot of great tools and TONS of information online. Back in the day, programmers had “Basic”, and that was it. It was on you to learn by reading the manuals or buying specific books. If you wanted to make an algorithm you had to squish your brains to make it. Now, despite the fact you do your own programming, if you are willing to look for it, there are always ideas and approaches to it, which sometimes, can be the true key for game programming.
Both solving problems and getting results was pretty challenging, but now I believe the struggle has shifted.
If you wanted to create a 2D ship minigame, something pretty simple, you had to face the fact that you had to give it shape by yourself. No internet allowed, of course. Nowadays, it’s easier to solve an issue, but the important questions are “How complex?” “What are its features?”. Being able to shoot from a spaceship is no longer on the line. Everything is more complex, and it has tons of combinations, combos, weapons. The word might be “deeper”. The difficulty lies in diving in and diving deep, you know? As a developer, now you have to study a wider range of matters rather than learning few things on your very own.
Speaking of self-learning, how has that learning process reflected in Mercury’s Engine?
In every project, we have introduced innovations on the Engine, always in small doses. The problem we are facing nowadays is that it’s quite difficult to create something that’s not been already thought of. I believe the most common challenge now in development is being able to apply known technology, which is amazingly complicated. A few years ago, coming up with new ideas was not easy but possible meanwhile, the quantity of information we manage currently allows you to see features in other areas that you had never seen before in videogames. With Scrapland for example, we used two lightmaps, one with the direct lights and another with the bounce of the lighting to make the shadows work with the lightmass. The shadows showed you a lightmass or another. We had everything precalculated with global illumination and had shadows.
That’s what I meant. Before, you could see stuff like that in a game, and think “Oh! That’s a pretty good idea!”, which nowadays is quite rare. Everything tends to be an evolution of existing technology.
Another example would be breakables. You manage to see breakables, that have been refined a bit more than the ones you’ve seen before. They are tiny improvements that refine the system. I remember that a few years ago, we had a pretty cool demo that showed a procedural cristal breaking that our pal José González worked on. The rupture started from the point the bullet collided with it which was crazy. It’s not that impressive now, but they were things that none had ever seen in a game before. Nowadays, you work on an illumination system to create a certain effect that’s undoubtedly a pretty close match to a system someone has done somewhere!
There are some times that to make those improvements you have to dive into the GPU, search for new uses far beyond software. It gives you more freedom (you can draw in tris, boxes, or ellipsoids!), but at the same time, it creates dependencies of development. Once you go GPU, you never go back!
Lightmap with all the bounced light
Lightmap with bounced light + direct lighting.
What’s the last game you played?
Hum. That’s a good one! I believe that the last time I completed a game was years ago, now I get stuck watching some technical details. I used to be a heavy graphic adventure and simulator player. No seriously, like pretty heavy! I’ve played all the adventures I could find, like Grim Fandango and Monkey Island.
But back to the question, I guess the last one I played and finished was Jedi Knight. Now I caught the bad habit of picking a game, playing a bit, and never look back! But now that I think of it, I do play often Factor 2. Perks of being on a League!
Do you think there are differences between old games and games now?
I guess I do value the simplicity of the games back in the day. My kids, for example, don’t like to play with new consoles. I restored several old computers for them so they could test them out. And they love it! They used the Spectrum for a while, but now they are switched to AMIGA500. And oh, man. They are really having fun with old games like “The Sentinel”, “Bomb Jack”, and “R-type”. The youngest one has his own AMIGA500 and I believe he’s now playing the original “Monkey Island” which was like 3 diskettes long. The oldest and the one in the middle have their own FPGA, which is a programmable chip that allows you to build a CPU. They are both playing with a core of AMIGA500 to “The eye of the Beholder” and “Maniac Mansion”. And of course, “Monkey Island”! I do believe all three are playing it at the time!