Fano / Easter Egg
|Written by Barjack on 09 September 2011|
|During the Reset #0 Party held in Coutances (France), we had the pleasure to talk to a cool guy named Fano, who is the programmer of one of the best CPC shoot'em'up which should be released this month, the great R-Type.|
1/ Hello Fano, can you introduce yourself and sum up your CPC career?
Hi! My name is Carl-Stéphane BERQUEZ, I'm 34. When I was 10, I had contact with the infamous TO/MO (Thomson computers) at school and my father owned a C64, which never had much impact on me. (Nd Translator: in the 80's in France, the government decided to help “Thomson industries” to sell a lot of these computers, and they started a new educational program at school called "Computers for everyone". That's why French coders are the best (only on TO7/70) ;)
The real revelation was the CPC 464. My school was equipped with this computer at this time. Through national education, we had computer lessons which quickly degenerated into drawing competition using PLOT and DRAW commands under BASIC. Wednesday afternoon was devoted to gaming. How many afternoons did I spend playing Ikari Warrior and Renegade.
Then my father bought a 6128 and after a harsh lobbying, my mother ended up buying me one (It cost a month's salary at the time!). It really became a passion at that time, thanks to the very well done user manual and a great BASIC (for the time). At this pre-internet time, the magazines were a great information supplier and it was a real pleasure to learn through the articles and listings of Claude Le Moullec. I also used Sprite City which was a really nice tool to learn about games graphism.
Barjack, Shap and Fano at ReSeT #0
After a while, tired of the slowness of the BASIC, I managed to buy a book on assembler coding (I always have it). But due to the absence of an assembly software, I compiled my code by hand. Then I finally got the famous DAMS and I could learn from the articles particularly found in ACPC (Longshot grandpa if you read us, thank you!). Then I spent time on console… Sometimes I tried to code on CPC. I finished to write my last line of code in 1999.
I returned to the CPC in 2008 just after the birth of my son. I quickly found my marks thanks to the quantity and quality of documentation that can be found on the internet, which allowed me to do a schmup prototype on 6128+, then RD128+ at the end of 2009... While this is not my chosen field, I sometimes make GFX, with more or less success, as my modest participation in Color Lines.
R-Type CPC version
2/ When did you start the R-Type project and why did you interest in this blockbuster rather than another?
The hack of R-Type is something I started there at least 20 years ago. I tried to disassemble the code with Discology and I had fun to modify it. I developed a routine which transferred the screen memory into a screenshot in the extra banks. I returned in late 2009 when I finalized RD128+. I started to seriously hack R-Type with the Winape debugger. The primary objective was to patch graphics functions, I widely analyzed these routines, and I posted my findings on the CPCwiki “talk” devoted to R-Type. I'm a fan of R-Type (which is for me a beta of R-Type 2 that I love even more) that revolutionized the shoot'em'up style at the time, whether in achievement or in terms of gameplay.
The CPC version is not bad because it inherits from the Spectrum version which is a true success in my opinion for such hardware. But the monochrome graphics suffer from color clash and didn't render homage to our color palette. Then I thought that a version operating with 128k might be a good idea, similar to RD128+.
3/ It seems that there were many difficulties concerning the game programming, can you tell us in detail which were the hardest, and those you're the most proud of?
The biggest difficulty arose when we had the best news for the project: getting the source code from the Spectrum version. Indeed, the Spectrum gameplay version was intended as a reference and it was necessary to couple a graphics engine which stuck to the CPC, taking into account these constraints (including the character rendering). While keeping an equivalent speed despite the double size of graphics to display.
We also had to cut through the potential of the CPC, at the scrolling point of view (Hardware or software scroller? With Reg3 tricks? Character /byte / pixel precision? With or whitout page flipping? Using 64k, 128k or 512k?) while keeping the original gameplay. Once the decisions were taken, it was necessary to develop the engine itself, trying to get the maximum optimization. While I had the source code in late May, I started writing this new engine in early August because I wanted to study the source as mush as possible before to start.
R-Type Spectrum version
I know it was a difficult time for my teammates because they thought that I abandoned the project, it was obviously not true. It was just necessary to rely on something reliable, that would not require a total rewriting six months later, with loss of time and motivation. I must admit that the first version of the new engine was something great because it finally took shape, and in addition with a result better than expected.
Technically, this is quite simply a software rendering each character on a grid of 32×20 single-buffer. There are five elements of 1 byte per cell (flags / bank / lowaddr / hiaddr / master). The elements being separated by 256 bytes to allow a faster access. 6-bit flag is used to make the connection to each of the optimized routines, bank / lowaddr / hiaddr used to describe the character that will be rendered on the screen from any additional bank of the 6128.
Finally, "master" is used to find which entity owns the character made to test the collisions quickly. The level's scrolling itself is made from 4 shifted screens. A PC program shifts the screen, eliminates redundancies and generates patterns. During the game, 64k are used by the graphics, 16k for common objects (players, weapons, bonus, etc.), 16k for level objects (enemies) and 32k for level graphism. However, this system is quite flexible and 16k scrolling can be assigned to objects level, as it was necessary in some cases.
There are also plenty of little tricks which make good at speed. I am also very happy with the 4th level, which worried me greatly because of the extra breakable plan. It works well even if performance is lower compared to other stages. 3rd Level is also a source of satisfaction. We had to manage a large moving object partially destructible as the battleship and the fact that TotO did a great job on the graphics. This is also the level that asked us for more work because it took more than 3 months to match our requirements.
4/ The graphic work is impressive, which version did you support? How TotO is working?
TotO works with graphics from the arcade version. At first, he adapts them to the CPC size. There are a lot of work editing at this level in order to paste these graphics to the CPC, he uses Paint Shop Pro for that. Some cases are sometimes problematic with intensive labor as it was the case for the 3rd level's battleship for example. He's also responsible for the menus design that are very successful for my taste (even if he had to use my mental health to get there!). We are in almost constant discussion to get the best result possible.
R-Type 2011 version
5/ The music conversion for the Amstrad version is really great, can you tell something about the musician who did it?
This is the work of iXien, aka the webmaster of Amstrad Today. He's a TotO's friend and he asked him to give a try on level 2. The result was more than convincing. My requirement was that the music had to follow the original as possible within the CPC constraints (in contrast to the ST version that distorts the original tunes). We must recognize that iXien went beyond my expectations in this area.
6/ During the presentation of R-Type, new options that don't exist in other versions were presented. Without spoiling the surprise, can you explain some of them?
TotO and I are appreciative of the care given to many options into Japanese games of the time. So we wanted to bring the same kind of things through a sound test as it was done in RD128+ and also other setting options. However, R-Type game is for “hardcore gamers” and we wanted to make it accessible to everyone. This was done through a series of options that make gameplay less frustrating without distorting the original game. It's a completely new game mode that doesn't exist in neither version of R-Type and I hope it will make little ones.
R-Type 2011 version
7/ After the excellent Rick Dangerous remastering on CPC+, it is very welcome to have a new version of R-Type on CPC. Now you're a big chief lead programmer, do you plan to make an entirely original game dedicated to the CPC? Another shoot'em'up?
I must admit that I have too many projects for the CPC and Plus. I have many ideas but nothing is clear right now. On Amstrad Plus, “Project Wildfire” was a prototype in 2008 but it remains far from what I want to achieve in the end. Now that affordable solutions, for common people, are available for the cartridge media, I want to do something that is compatible with the GX4000 and take advantage of the machine that has been sadly underutilized. This is a schmup with slow scrolling, very tactic like R-Type with a module system and different weapons. Technically, I still have a big problem to solve in order to progress and don't pick me up miserably against the fence of 20Knops.
8/ We saw a second game when you were at the meeting, can you tell some words about it?
It's "Greenfields", an adaptation of the flash game "Mindfield". It was begun in early 2010 before the R-Type 128k project takes the proportions that he has and swallow all my free time. It's a puzzle game where you have to enable a vehicle to achieve its goal by placing objects on his way. The concept is simple but very addictive. The graphics are done by PapyCPC and MrLou did the music. The game engine is almost complete but we still need to make it more ergonomic and more enjoyable to play.
9/ What do you think about games releases last years on CPC, and especially about the shoot'em'up by Paul Kooistra?
More generally, I was pretty impressed by Orion Prime, of course on the technical side but also and especially by its well rendered atmosphere. Conversely, even though the first games were fun, I find it unfortunate that the Mojon Twins continued to do so. Of course, having a generic engine to accelerate development is a good idea but in the end there is few innovation and the games are very similar in gameplay. I think Paul Kooistra aka Axelay shows the way forward to do some shmups. His achievements are always spotless, even though they operate in a fairly standard gameplay…
"Star Sabre" is a success which reminds me Zynaps, that I loved so much at the time, in much better of course! The only downside in my opinion would be its high difficulty. I love “Dead On Time” who is a pure shooter arena. The concept is simple but very addictive and we spend our time to fight against this one. On the technical side, no complaint. The music and graphics of this title are really nice. I'm not a fan of the Sub Hunter concept but it is an impeccable production. I find in particular that the graphics are even better on our CPC. Finally, I must admit that the technique he deployed for “Edge Grinder” impressed me. Even though the Reg3 scroller is a known technique (discussed and debatable), he did it well and the CPC is beautifully represented in this Format War...
10/ The reset #0 was the Occasion for you to meet many "Amstrad users", and see new things lurking in some sceners drawers. What impression did you have at this meeting, will you come next year? :)
It was a real pleasure to see so many fans at this CPC meeting. It was a chance to put a head on a nickname, a prod or even a post. It changes everything about how to perceive the CPC scene, it also allows to qualify the comments made here and there (agree or not elsewhere). In my opinion, all this contributes to the cohesion around the CPC / Plus, which is ultimately our common passion. I had the opportunity to see personalities, to have technical exciting discussions, especially with Power and Grim about the CPC hardware. I really liked the GFX by Rex from “Outer World Music”. The effects on Amstrad Plus presented by Power also impressed me and I look forward to see the finished GFX you showed me during our discussion about the mode 5. But above all, I want to thank Eliot for his kindness and for his energy to organize this meeting. It was really nice and I intend to go to the next one!
11/ Thank you for your kindness and your patience, it was a pleasure to meet you at the meeting. R-Type is a great surprise. The last words are yours!
I thank you too for your interest in our project. Thanks to Push'n'Pop, we'll have success, glory, big money, women… I read some things about the openness to other machines. I'm going with this in mind and take the opportunity to do some advertising. On 5 and 6 November, RGC will take place near Meaux (77, France). It is a general meeting retrogamming oriented with friendly and sweet organizers. Like the Atari Connection, I'll be there as a CPC user and hope to see some of you there ;)
Read the 15 comment(s) about this article