article

The long conversation with Dr JVtek

On 7 August 2024 I was the guest of Dr JVtek, for the eighth of his Histoire de Vie live streams — the series in which he sits down with someone who makes video games and takes the time to go through a whole career, in order, without hurrying. We talked for four hours and forty-eight minutes. Neither of us saw the time pass.

Arnaud Storq — Histoire de Vie 8, by Dr JVtek
The stream in full, 7 August 2024 — watch it on YouTube

It goes from a CPC 6128 that arrived at my brother’s for Christmas 1988 to the servers I still keep an eye on today. In between: an assembler posted to a fourteen-year-old by a stranger found in the small ads of Amstrad 100%, weekends of code with a mentor from the Amiga scene, a job application with a CD in the envelope — and a virus on the CD — mobile games at In-Fusio when a phone ran at 16 MHz, the move to Québec in 2003, Far Cry Instincts to be squeezed from a gigabyte and a half into the Xbox’s sixty-four megabytes, Deus Ex: Human Revolution and a silent floor of a thousand people in Tokyo, LEGO Legends of Chima Online and learning web services from scratch, Stingray and a breakpoint that makes you sick inside a headset, a year inside Unity, and Gotham Knights from the first day to the last.

And then the other half of the story, the one that runs in the evenings: phX, second at Revision 2018 after five years of work, and Sonic GX, still in progress on a console everyone had written off.

What follows is the whole conversation, edited for reading — the hesitations, the crosstalk and the technical interruptions of a live stream taken out, the names and terms restored, nothing of the substance removed. The chapters follow the recording in order, and each one links back to the minute it starts at.

The conversation, chapter by chapter

Four hours and forty-eight minutes, in the order they were spoken. Pick a chapter to read it.

Choose a chapter above to read it.

1Meeting the guest

From 00:05 — watch this moment on YouTube

Dr JVtek opens the stream with the evening's announcements — the conventions he has been invited to, the channel's news — and then turns to the guest a good part of the audience had already guessed.

Dr JVtek — Our guest tonight is someone who has worked on a great many games, but also, on the retro side, on the GX4000, on a Sonic, on demos. And a small aside in passing: he is French, but he lives in Québec, and you will hear it in his voice. He has turned into a Québécois. He is Arnaud Storq.

NoRecess — Hello Arnaud. And sorry about my accent — we will make do and press on, you will manage.

Dr JVtek — He told me I had an accent, as if I were from the south, and then it turned out he was born in Toulon himself. Frankly, he has a nerve. How long have you been in Canada?

NoRecess — I left in 2003, so at a certain point you stop counting the years. Twenty-one years. I have spent almost half my life in Québec. Time goes so fast.

Dr JVtek — Someone has already spotted the consoles behind you. And I had not noticed, but you have the Another World poster — I have the lithograph, two of them in fact, since I worked at Delphine.

NoRecess — When I moved into my new house I wanted to do some nice decorating. So that is what you see, and there is a Jean-Michel Jarre album I am very fond of.

2A CPC under the Christmas tree

From 00:11 — watch this moment on YouTube

NoRecess — I am Arnaud, born in 1979, and computing has been there for me pretty much for ever. As a child I loved seeing it in films. But it is not the path I have heard from some people here — it is not the Informatique pour tous scheme, I was too young for that. Where I caught the bug was my brother, who got his first Amstrad CPC for Christmas 1988. At first the machine was in his room. I wanted to use it so badly that the Amstrad ended up in the corridor, shared between the two of us, and with time it moved into my room and stayed there.

NoRecess — That machine was everything to me. And the thing that started it all was the manual. Imagine — at the time you could actually buy a computer and it came with a book that told you how to program it. That does not exist any more. It taught you BASIC, and I latched on to it immediately. It was magic.

Dr JVtek — Where were you living at the time? I ask because I was out in the country, completely on my own. We still managed to swap disks, but I could not take part in the demoscene or anything like that.

NoRecess — The country, let us say. Isolated, very much so. Which meant that when you got hold of a disk, when you had a contact who passed you a disk, you went through it in every direction. You tried to see every single file on it. There was no Internet.

NoRecess — And the magazines did a wonderful job at that time. That is really what gave a machine its life. All my pocket money went on buying them, and one in particular: Amstrad 100%, which some people here will remember. There were always assembly listings in it. I understood nothing at first, and then I started to understand a little.

NoRecess — At one point Amstrad 100% printed the address of somebody offering to swap demos — by disk, of course. That was 1994, I was fourteen. And that person sent me an assembler with its instructions. That was it, I was off. So roughly from fourteen to sixteen I wrote programs. They did not go very far, I will admit.

Dr JVtek — I would not be surprised if at some point somebody from Amstrad 100% dropped into the live.

NoRecess — I would be delighted. There is something else about being a child in the country: there was not a great deal of money at home. When everybody had a Super Nintendo at Christmas, with Street Fighter and F-Zero, and they were having the time of their lives, I was terribly jealous. I still had my Amstrad. What I felt at the time was genuine frustration — I resented the whole world for not having my Super Nintendo too.

NoRecess — And so I stayed with my Amstrad, and I persisted with it. Without knowing it, that period was a gift from heaven. At fourteen, fifteen, I was reading programs about how to compress images, understanding algorithms, learning a little about how the machine works. Those are things that served me later, indirectly. Obviously it was not with an Amstrad that I built my career, but it had already launched my interest in programming.

3A mentor, and the first demos

From 00:17 — watch this moment on YouTube

NoRecess — Around fifteen, sixteen, seventeen I finally got a first PC. Then I am eighteen and in my BTS in management computing, so programming was still in my head but it had become secondary. And everything changed because during those two years I had the luck of meeting someone who became a kind of mentor to me — an ex-Amiga demomaker, incidentally, who was in the middle of converting to the PC. He will recognise himself: his handle is XBS. I owe him an enormous amount.

NoRecess — I was in a student room at the time, and every weekend we spent in a room programming together. I was the beginner tagging along, he was the one doing things, and it did not matter. The spirit of those sessions was to be creative — that was the point — and to have fun. We had the same taste in music, the same sense of humour. I am very nostalgic about that period. We were completely broke, and it really was not a problem.

Dr JVtek — And constraint helps, too. It is one of the things I say to people who love Game Pass: it is the same phenomenon as when we had all the pirated disks. When you have a lot, you end up playing nothing. When you only have one, you finish it.

NoRecess — Exactly. And it is the same for code, and for a great many things.

NoRecess — So this friend was making demos. For anyone who does not know what a demo is: broadly, it means writing multimedia programs, showing animated graphics. You could see it a little like a music video, where you have graphical effects synchronised to the music, and all of it is done by programming, and it runs two or three minutes. At that time I also did competitions — demo parties.

NoRecess — A lot of video game developers, or people attached to games, started in demo parties, in demo code. Without knowing it at the time — and I really was not doing it out of self-interest, I wanted to learn for the sake of learning, because it was fun and I wanted to show others what I could do — I was actually building myself an excellent CV for getting into games.

NoRecess — Here is something that will please you: LightWave. I wrote a scene player for it. I read the LWO files directly, the meshes, and the LWS files for the animations, so I could follow a spline and so on. I adored that program.

Dr JVtek — It was simple because it removed the complexity. You had the meshes on one side, the scene on the other, and the reference to the meshes in the scene. Where it got harder was skeletons, but honestly skeletons were not what it was for. We used version 7 on Motoracer 3 and World Tour — those were made entirely in LightWave, and I built all the tools inside it. If we had run a productivity contest at the time between LightWave artists and 3ds Max artists, I think we would have beaten everyone.

NoRecess — What I remember is that 3ds Max intimidated me. I understood you had to work through plugins to export data, and honestly I did not yet have the technical knowledge for that.

Dr JVtek — LightWave was Amiga-only at first and arrived on PC much later — I do not even think it was the same team. The original Amiga team went off and founded a new company with another program that follows the same logic and still exists, while LightWave does not. Blender is a bit in the same spirit today.

NoRecess — So you can see my profile: fairly self-taught, though I was doing my studies alongside.

Dr JVtek — I want to jump on the word self-taught, because it is a remark I had this week. In a lot of these lives, people say they are self-taught. What you have to understand is that at the time we were all self-taught, because there were no game schools. The people making games were the ones with a minimum ability to do things with a computer. Since the video game crisis in France, one of the government's actions was the idea of a national video game school, and that in turn created a lot of other schools. So today self-taught people are less present in games, because companies will not necessarily hire them.

NoRecess — I confirm that one hundred per cent, but I would add a point: when you are an engineer today — an engineer or not, I mean a developer, a programmer — you have to learn all your life. So it is the same thing as being self-taught your whole life.

NoRecess — And one more word on it. What I have observed on certain projects is that it is very useful to have both — self-taught people and people who did the long academic route. It is often the combination of the two that makes things move.

Dr JVtek — I completely agree.

NoRecess — The self-taught type will charge ahead, clear the ground, get you your prototyping, and you will have a result quite fast — not necessarily clean, mind you, and that was the Arnaud of the year 2000. Whereas someone out of the grandes écoles — I am thinking of a colleague who works on physics engines, in genuinely advanced maths — there is no doubt that took his studies. It is that combination that makes a game move, if the lead programmer can read what each person is capable of.

4In-Fusio, and a CV with a CD in it

From 00:27 — watch this moment on YouTube

NoRecess — So, BTS in management computing, and we arrive in 2000. I am twenty. Did I want to carry on studying? Frankly, I did not see it that way — I had no motivation to continue. And that is when I answered a job advertisement, more or less by chance, and it was a little mad: the company was In-Fusio, based in Bordeaux, and I was in Toulon.

Dr JVtek — Had you finished the BTS?

NoRecess — No, I had not finished it. And for information, a BTS in management computing — I am not sure you get much C in a management course.

Dr JVtek — Not at all, no.

NoRecess — But that is exactly the good thing about that course. They do not teach you video games; they taught me Office, for instance. Excel — I had never opened Excel in my life. Scripting in Access, which is a sort of BASIC. It taught me databases. Visual Basic too. It opened my eyes to another side of computing and I do not regret it: in the years that followed, I knew what an Excel file was.

NoRecess — So, my arrival at In-Fusio. Some of you may know Thomas Landspurg, known on the Amiga under the handle Tomsoft. He is the one I had in front of me for my job interview. And I have a rather nice story about it. I told them I was a student and genuinely penniless. I answer the ad, they say come along on this day, and I say: I am very interested, but please, could you pay for my train ticket?

Dr JVtek — I was about to ask you exactly that.

NoRecess — I was completely sincere. I did not have two or three hundred francs in front of me. He is a bit taken aback, not used to that procedure, but all right, we will pay for your ticket. Just from that I could see there was a real willingness, and for me that was wonderful. So I do the interview, and it goes very, very well. Thomas saw in me that creative, all-round, charge-ahead side, and as I talked about my demoscene activities it fitted rather well with what I was about to do.

NoRecess — To explain what In-Fusio was: a company that made games for mobile phones — but not only the games, it came with the whole gaming platform that went with them. We had an execution engine, ExEn, which was the name of our technology. Phones at the time were Nokias, the era of the snake game. What we did was canvass the manufacturers to integrate our platform. The platform embedded a Java virtual machine, and it ran on a CPU at 16 megahertz. That was a considerable feat.

NoRecess — I arrived and started by making small games — a Tetris clone, a Breakout clone, and a fairly ambitious isometric adventure game for the platform. I was very comfortable, because in 3D I had knowledge, but in 2D I excelled. I would say I was correct in 3D and one hundred per cent operational in 2D. So I enjoyed myself and I was fast.

NoRecess — The constraints were something else. There were several game resolutions available, which was very frustrating, and they were tiny, and it was monochrome. And I worked with a very pleasant graphist.

NoRecess — In parallel — even though I was now in Bordeaux and no longer seeing my friends from the BTS — I kept the same weekends, still hugely productive.

Dr JVtek — There were people doing things above In-Fusio, on the floor above. That was Calisto.

NoRecess — Exactly. And of course I tried to make contacts. I was always drawn to this industry. At the time I felt I was making small games for mobile phones, but it was certain that my ultimate goal was to make real games at a real company. And there was an odd reversal, because Calisto was a magnificent ship that ran aground, and when it failed a good number of people from Calisto joined In-Fusio.

Dr JVtek — Calisto was the first French company to go public — not in the world, Electronic Arts and others had already done it. Nicolas Gaume, whom I know well, thought the stock market would let them raise the money. The problem is there were two problems. The Internet bubble burst in 2000, which did some damage. And the second problem is that games, at least at the time — if you could call it an industry — was not an industry that respected its schedules. On the stock market, if you announce a product for a given day and investors come in on that day because they know it is shipping, and it does not ship, then it does not work.

NoRecess — I have some lovely stories about that company. My original CV, for one — how I did it. When I said I answered the ad, I did something curious: I sent my printed CV, but in the envelope I also slipped a CD with my experience on it. Literally my demos, with my source code. It was really me, my person, all of it.

NoRecess — And I only learned this much later, a year or two after joining: the HR director told me my approach had been brilliant. They had a pile of CVs, and there was always this envelope, fatter than the others, with this intriguing CD. And they put it on top of the pile — partly because with the CD in it, it was not stable and it knocked the others over, so they had no choice. Then quite quickly they gave it to the technical director, who could actually evaluate it.

NoRecess — And here is the punchline: that CD carried a virus, and the virus infected a fair part of the company's machines. I still apologise. I was not even an employee yet.

Dr JVtek — Seriously?

NoRecess — Very seriously. A CD for PC, with the precompiled executable on it. You run it, and off it goes through the whole company.

NoRecess — But that business of throwing the CV out there is a bit the modern equivalent of what I see with artists trying to build a portfolio. Standing out at the moment of being hired is a good thing.

NoRecess — In-Fusio really was a great company. I have very good memories of it, genuinely endearing people. It was a generator of good profiles — a great many of my colleagues from that time are still in games or nearby, and everyone had a good career afterwards.

NoRecess — And here is a thought: In-Fusio was quite possibly the first app store in the world. On our platform you could download games onto your phone, and we are talking 2002, 2003. You paid by SMS. You want this application, you get it on your phone, and the SMS costs eleven francs, or euros — I no longer remember. That was the way to get paid, and it worked very well.

NoRecess — One last story. In every company afterwards there was QA, obviously — a game has to be solid to be distributed. But at In-Fusio, for those mobile games, it was enormous. I have never seen as much QA as in that period, and the reason is simple: if your game crashes the phone, it is not just In-Fusio's problem. It is the operator's problem, it is the manufacturer's problem, it means phones being recalled. It is hell, and you absolutely do not want it. So even for a Pac-Man or a Tetris, the source code had to be understood inside out, and you had to be certain it would not generate bugs. There was a substantial test team.

NoRecess — And you might wonder why a Java VM at all — why not native on the phone, better animated, higher fidelity. The reason is simple: inside the VM you control the bytecode. You control your program. You make sure you offer these instructions to the game and nothing stupid happens that crashes the phone. Even then it was still a bit possible — if you wrote outside your frame buffer, say — but it was well handled.

5Writing for Code(R)

From 00:46 — watch this moment on YouTube

NoRecess — There is something I have not mentioned. In parallel I also worked for Posse Press — I was a freelance for the magazine Code(R). It was a magazine you found at the newsstand, and I wrote a fair number of articles for it over about two years.

NoRecess — I remember a review of OpenGL 1.5 that I did. I remember writing a compressor built on zlib, explaining how to bring several files compressed with zlib together to generate your own format, that sort of thing. It was a very interesting experience, and it made a better technical writer of me.

NoRecess — There were enormous constraints. I was paid by the sign — a sign is a character — and I remember there being four thousand signs to a page. I really was paid for it, like a second job.

NoRecess — The amusing constraint is that even then the magazine was starting to be squeezed by the Internet, so I was asked to write timeless articles. Do not write a program based on version 1.2.4 of some library; write something generic that could possibly be reprinted six months later in a series. And that did happen.

Dr JVtek — You are a bit my clone on several levels, because I wrote articles too — not paid, mind you, in a fanzine, in the Falcon era. I wrote pieces explaining how to program in C and so on, because there was a population asking for it and they did not know how, since it was not yet very popular.

6Leaving for Québec

From 00:50 — watch this moment on YouTube

NoRecess — So we are in 2002 at In-Fusio, and I still have a bit of that student spirit: is there an opportunity somewhere else in the world? And with my partner at the time we had this slightly mad plan of coming to settle here in Québec. That was 2003 — but I start talking about it in 2002, because from the moment you decide, it takes a year, a year and a half, before it becomes real.

Dr JVtek — I am setting the scene, that is all. That is the period when Ubisoft started going to Canada, because there were subsidies that made development cheaper, and started creating studios. And it is also the period of the French video game crisis, 2003, when an enormous number of people left for Canada at the same time. If Ubisoft had not gone to Canada, you might not have gone either.

NoRecess — Certainly. In reality you cannot settle in Québec without a professional plan. They look very closely at your CV, they look at your bank account. You arrive completely bare — they want to know everything about your life, all your debts, your criminal record, all of it.

Dr JVtek — Let me give you a story while I am at it. I had gone to Canada, to Ubisoft, with the company I had at the time. My colleague had never taken a plane and had never been to Canada. We get to customs, and you know how customs is, every man for himself. I go through. They ask him what he has come to Canada to do, and he arrives from France without a visa — a holiday visa — and he says: I have come to work. You must not say that. We were not coming to work, we were coming to see clients. We spent half an hour, an hour, both of us stuck in the office behind. What struck me is that you leave France and they are lovely people with big smiles, and then you arrive in Québec, or in the United States, and it is enormous men who do not laugh at all.

NoRecess — Not at all. And do not start making a joke, because they are quite capable of holding you for five hours.

NoRecess — As for Ubisoft: I had a contact there just before leaving France, and he told me to come for an interview as soon as I arrived. So I have no job when I land in Québec, but I have an absolute determination to join a games company. I try Ubisoft, because they were big and hiring — they were hiring anyway.

NoRecess — The interview went very well, and with good reason: opposite me was the person who had told me to come. So the interview was rather easy. Obviously there was a validation of who I was as a person, but technically it let me through the tests fairly easily. And so, very quickly, a few weeks after arriving in Québec, I am at Ubisoft and on a new game. That game is Far Cry.

7Far Cry Instincts, and 64 megabytes

From 00:54 — watch this moment on YouTube

NoRecess — Far Cry was a game I did not know, because it had not shipped commercially yet. It came out on PC first for the public, and our version came out at the very end of the original Xbox's life — the 360 was already showing its nose.

NoRecess — That game was hugely beneficial to the whole industry. At the time you had Doom, you had Unreal Tournament, a great many games where it all happened indoors, in rooms and corridors. Far Cry was a breath of oxygen.

Dr JVtek — Technologically it was astonishing at the time. It is an open world before that was called an open world.

NoRecess — Beyond open world, purely on the graphical side, a great many things laid the foundations — everything to do with ambient occlusion was invented by Far Cry at the time. If you look at the pictures, you have a forest as no one had seen. Today a forest is too easy, you practically paint them. At the time it was completely different from everything.

NoRecess — A small story. At Ubisoft we had the PC version, and I was part of the team that was to port it to the Xbox. At the start it was supposed to be a port. It was quite amusing, the moment I open the Far Cry editor for the first time, load the first map, and look in Windows at the resources being taken. I see that the editor process with the map loaded was one and a half gigabytes of RAM. And I remind you we are in 2003, when a machine with two gigabytes was at the top of the range.

NoRecess — And the bad news is that this game takes one and a half gigabytes, and we have to convert it for the Xbox, and the Xbox has just sixty-four megabytes.

Dr JVtek — I see the picture. I did the same thing with Fade to Black, between the PC and the console.

NoRecess — So we had to introduce streaming strategies, because there was no streaming at all in the original Far Cry — it loaded the entire map into RAM, literally. What we did was subdivide the world, and as the player progresses we load the next cells and drop the old ones from memory. So we always have two or three cells in RAM rather than the whole game.

NoRecess — And I will correct myself on the words open world: visually it looks like one, but it remains a corridor game. A big corridor, but a corridor. You still had invisible walls you could not cross. The multiplayer part was different — smaller maps, entirely loaded.

NoRecess — Now, coming from the demoscene and knowing 3D well, I expected to be a 3D programmer, on the rendering side. And that is where I got a real slap, when I understood what a 3D programmer is in a games company. It is not at all what I had known in the demoscene. When you make demos you can afford to be approximate as long as it looks good — if the animation is cool, that pleases people. But in a game, when the art director comes to see you and says: look at the beaches, the trees on the beaches, I want the shadow to be exactly this colour, and I want it to reflect like this — that is when you realise it is no longer approximate. This time it has to look like real life. And I was not prepared for that, because it becomes genuinely advanced mathematics.

NoRecess — So that is where I was a little uncomfortable, and on the other hand I started to be very comfortable with tools programming. In the editor I added new editing features — any improvement a level designer wanted, to be more productive, or a feature in the game.

Dr JVtek — A question on the history: Far Cry uses the CryEngine, from Crytek, a German company. Was there not a game before it? It seems to me Far Cry benefited from technology built beforehand — the engine was not made for that game.

NoRecess — I will answer from memory, so I may say something wrong, but I think Far Cry really did begin — and this is surprising — with a screensaver. Crytek made a sort of benchmarking program, to measure PC performance, wandering around an island. Then they made a lighter version, this time really as a screensaver, and it sold a lot of PCs, because it presented beautifully in public. When you put a PC in a shop window, it looked wonderful.

NoRecess — While we are here, I have plenty of stories about that game. I have used many different engines in my career, but there is only one I mastered one hundred per cent, and that is the CryEngine. Later commercial versions may have become more complex, but at the time it was still an engine you could walk through easily, and it was limpid. You had the editor, you had the runtime. A physics folder, a loading folder, a scene graph. A base class, the entity, the way you would have UObject in Unreal. Give me the list of instances, give me the list of instances of that type — you understand it fast. Look at how a map is loaded and it is exactly what you would imagine as a programmer.

NoRecess — With hindsight, it was an engine that was genuinely easy to get into. Because every other engine I have handled since — Unity, Unreal, Stingray, or the Crystal Dynamics engine — had become too big for one person. The CryEngine was still comprehensible by one person.

Dr JVtek — My experience with it was much later, in the era when Amazon had bought a licence — Lumberyard. When I tried to use it, it was already a gas factory, and a much less efficient one. You had to launch a batch to recompile it, you had no choice, and recompiling took three days at the time. I did not have a good experience.

NoRecess — What I can tell you is that the people at Crytek were extremely talented, and their PC version of Far Cry was absolutely breathtaking.

NoRecess — And here is an amusing one about the PC version. You had multiplayer, you could play online — but you could also reduce your graphical detail, and they had done nothing about it. So the fellow with the super PC who wanted to see all the bushes could play like that, but if someone next to him set all the detail to minimum, the bushes disappeared for him. So in multiplayer you could see the chap hiding in his bush. You knew exactly where he was.

NoRecess — If I had one task to keep from that game, the one I truly loved, it is the prototyping of the grass. I did that one vertically: I handled the editing of the grass, getting it into the data, getting it into the game, and getting it visible on screen. My version was very slow at runtime — literally an X, Y, Z position for each blade. But it meant a rendering programmer could come behind me and do the optimised shader version, all polished, and it worked very well.

Dr JVtek — Was it in painting mode, as you would in Unreal?

NoRecess — There was a notion of layers on the terrain. You create a new layer, that is going to be my grass, and the layers blend to give the final texture on the ground — but I had the information saying: here we want grass. That is what I put in the data, and then displayed.

NoRecess — I really loved touching every part of that, and seeing it stay in the final game. When you look at the pictures and you look at the grass, you can think of me.

8Crunch, saying no, and a team coming apart

From 01:20 — watch this moment on YouTube

NoRecess — I worked extremely hard on Far Cry. To be honest with you, I completely mixed up work and passion. All my capacity to work at weekends had been absorbed into it, and I had entirely lost that boundary.

NoRecess — I am not joking: during the crunch I know that one evening we were invited to friends, and at ten o'clock on a Saturday night I said, right, I will leave you, I have to go back to the office. They all fell about laughing — good joke. And I said, no, really, I have to go back, they are waiting on me for tomorrow. And I did go back to Ubisoft that night, at ten, and worked for about an hour.

NoRecess — There was something genuinely thrilling in it. Between writing code at home for fun and doing the same thing in a commercial product that you know will be played by millions of people, there is a small voice saying: I really want to bring that extra difference that makes it good. With hindsight — and this is only maturity talking — I was being an idiot. You should not behave like that.

Dr JVtek — I still do it today. I am still an idiot today.

NoRecess — I remain very passionate about what I do, but my limits are clear. I still do overtime from time to time, and it is always because a few people are genuinely waiting on me and I have the feeling it can really make a difference. But overtime for the sake of overtime is pointless. And for people who do overtime and then arrive at the office at eleven the next day — I do not call that overtime, I call that shifting your hours.

NoRecess — Another one, and it may sound silly: knowing how to say no. One day I was well settled as a tools programmer, trusted, everything going well, and a project lead came to see me and said: Arnaud, we would like you to do the build master's job. Build master is a noble trade in this industry, it is what lets you release a version of the game every day. And I refused, because I have always considered myself a developer, and I am always going to become a better developer.

NoRecess — The lead was frustrated that I answered that. But with hindsight I think it is worth underlining, because it shows I was not just drifting. I was genuinely determined: I am a programmer, I know what I want to do, I want to do tools programming. That person told me I lacked — how to say it — malleability. He grumbled, and I let him grumble.

Dr JVtek — I think you are right. It is important to know your limits, and not only your limits: what you can do, what you know how to do, what you want to do, and what interests you. Otherwise you will not do good work. And even for the person asking, it is good that they understand that what they are asking is beyond your limits.

NoRecess — I will temper it a little — we are talking about the Arnaud of twenty-three, twenty-four. Today I am fairly open to anything. At the time, when you are young, in your first years of experience, you want to do well and to show it. Now, after some years, you have acquired the confidence, you know you are capable of bouncing back, so I take a different approach.

NoRecess — There was an end to Ubisoft for me, though. I stayed three, three and a half years. It is not why I left, but here is what happened. On Far Cry Instincts on Xbox we were all roughly the same age, and I was genuinely united with my colleagues — that is why I did overtime, because I was not alone, I was also going to be with friends who were doing exactly the same.

NoRecess — And when Far Cry Instincts shipped, that whole team completely exploded. Some people expressed an interest in going to another project. I lost the team where I felt good. I felt as if I were at a summer camp that was coming to an end — hang on, you are all leaving, I am not staying on my own. And in the end we were only a very small group left, because the whole Splinter Cell team came over onto Far Cry 2.

NoRecess — In that I lost all my bearings. Far Cry 2 was a major upgrade of the original: you take the Far Cry 1 source and make a Far Cry 2 with it. And they did it well — the editor, which was written in C++ with a widget library called CodeJock, was thrown out and a C# UI started from scratch, since that was beginning to establish itself. So a lot of code is removed and rewritten, and an enormous number of systems were rewritten like that.

NoRecess — I thought it was a shame, because I had a lot of knowledge of those systems, and it was a shame that someone would arrive and I would say: I am here to explain how this works, and they would say, do not worry, you do not need to explain, I am rewriting it. Rewriting is easier for me, it is easier for me to learn. And it was like that for many things. So when I say I lost my bearings — my old team leads were no longer with me either.

Dr JVtek — You lost the faith.

NoRecess — Exactly that. I would find it again years later for games, but I left Ubisoft.

9Two small studios: Kutoka and xtranormal

From 01:26 — watch this moment on YouTube

NoRecess — In 2006 I joined a company called Kutoka, a small educational games company. Incidentally, every company I am going to name is based in Montréal, to keep it simple.

NoRecess — I genuinely wanted to find a small structure again, something a bit more human, because when Far Cry 2 started it had been a bit of a sacking, with employees leaving. I was very happy to join a small company where I thought I could really make a difference — and with good reason, there were only two developers. When there are two of you, everything you do has an enormous impact. I will not dwell on it, because I stayed about one winter.

NoRecess — They made educational games. There was a product, Mia the mouse, to teach children to read — a little mouse moving about, something very sweet. It was a product that had been awarded by Apple, who put it in their physical Apple Stores, to be able to say: look, on the Mac we also have educational games for children. There were very few, and there are still very few, so it was immediately eye-catching, and they stayed for years with a product that was technically fairly average.

NoRecess — It was made with Director, and Director was actually a good technical choice, because it was a kind of platform, ported everywhere. You could generate a CD from it — there were several generation modes, and it built you a multimedia CD directly.

Dr JVtek — Director came before Flash.

NoRecess — It was a good strategy on the technical director's part to go that way. But by 2006 the product was ageing, and Director was already pushing up the daisies. So there was the promise of creating a new game engine from scratch: right, Arnaud, you and one other person are going to make a new cross-platform engine, and since we are a small structure, take all the open source tools you can lay hands on. I found the brief appealing, I knew how to do it technically, and the team seemed very pleasant.

NoRecess — And within a week of setting foot there I was disappointed by a great many things — things that had always seemed a given to me and were not there. For example, there was no source control. None. So people exchanged assets through shared folders: here is such and such a zip. And in code, unfortunately, the same. And obviously I am not talking about QA, because there was no QA.

Dr JVtek — I should say what QA means, since not everyone will know: quality assurance. Broadly, the testing and validation of the game, the quality of the final product.

NoRecess — The previous version of that educational game ran under Director, and the artists made small 3D models rendered down to 2D. So they blew the polygon budget entirely, and it was very beautiful, very sweet — lovely lighting effects on the characters, quite fantastic. But our brief was to make a product in 3D, with an actual 3D character. So you are asking people used to making high-poly, beautifully finished characters with no constraints at all, suddenly to do low-poly. Low-poly meaning reducing the polygon count for better performance. You go from something like twenty thousand polygons for a character down to three hundred.

Dr JVtek — The first low-poly model I received at the time was five thousand polygons.

NoRecess — And you say, that will run at twenty frames a second, that is not possible. And there was the open source side: the engine we used was called Ogre. It is good, but you do not have the tool, you do not have the thing that goes with it.

Dr JVtek — Coming from the CryEngine, that must have hurt.

NoRecess — Not all of it was bad. There was real happiness in playing Lego with open source libraries — I will take that, and that, oh that is nice, a little XML parser, I will take that and put it all in the same place. We managed to have a single executable compiling on PC and on Mac. And you see my fingers here, they look fine, but at the time, with Xcode, I left plenty of blood on them. It was doing the transition from PowerPC to Intel and it was lamentable. You had four-minute freezes, and I would say, right, it has crashed, and my colleague would say, wait, it has not crashed, it will give you the hand back after seven minutes.

Dr JVtek — On the old Macs there was CodeWarrior, which seemed a far better IDE.

NoRecess — Exactly, but Apple took the decision to cut all that. Everything goes through Xcode to get the universal binaries that work on PowerPC and Intel — and today on ARM.

NoRecess — Kutoka was an experience that made me grow again, seeing that difference between the big productions and going back to a small outfit, and the constant lack of means. Of course if you transpose it to today, the tools have become far more powerful — you have git for source control, and if you are a developer and you are not on git, you are not a developer.

NoRecess — After that I joined xtranormal, from 2007 to 2009, and that is not games at all. It is a multimedia application. To tell you roughly what it was: you could pick a scene — a plain room, say — and two characters in it, chosen by the user. Then you had a chat system: the first character, you type text, then the other character, more text. A, B, A, B, so you have a sequence, an exchange. You could put little icons in the text to say: pause here, smile, shake hands — that kind of animation.

NoRecess — And you had a Generate button, and it generated a video in 3D. The generation reads all the text you have written by hand and uses text to speech: if your character was a girl it takes a female voice, if a boy, a male one.

Dr JVtek — It is the ChatGPT of today, in the version of its time.

NoRecess — In outward impression, yes — there is no AI in it. And there was real 3D rendering, because when you had put the icon in, your character raised their arms. It made very charming, very pleasant things.

NoRecess — Unfortunately it was rather an application looking for its market. It was put on the market in a modern way — not I sell you the product, but you use it and then you pay: you get two or three free videos and then you pay for more. You could put the result on YouTube.

NoRecess — What it actually found as a market is quite surprising: education. Teachers really used it to introduce things to their pupils in a slightly humorous form, because the characters took funny poses. So there was a niche market in education, whereas of course at the time we would have liked all the young people of the universe to use it.

NoRecess — I was on the core team, the system layer. There was a framework built around it and I was very comfortable with it. At first we had our own hand-made UI, with one person looking after it, and then we switched to Qt. That was an interesting experience — I did not know the framework, it is very clean, a very tidy API that works on every platform.

NoRecess — And that is where I learned that a cross-platform library is good, and at the same time bad. If you want to select a photo file on PC, you open the file dialog and let the user choose their image. Whereas on Mac you have a special widget with the ability to browse the images — at the time you could move left and right and choose. By default Qt does not let you do that, and if you do nothing you get the odd file browser on the Mac version, and it makes a Frankenstein.

NoRecess — So for me Qt is good for medical applications, or anything that does not really need an advanced UI, but for genuinely commercial products perfectly integrated with a platform, I have some reservations. At xtranormal we had a developer for the Mac version who deliberately triggered that widget selection.

NoRecess — And it is at xtranormal that I met Hervé Lange for the first time, who has become a real friend over the years. For those who do not know his profile: on the Amstrad he did Fer et Flamme, and Baba — I refer to what I know — and he has done many others.

10Eidos, Square Enix, and a floor of a thousand people

From 01:42 — watch this moment on YouTube

NoRecess — And then in Montréal there is the grand announcement, with much fanfare, of a new studio opening. That studio is Eidos. And there I am strongly drawn back to classic game production. So I join Eidos in 2009, and it is renamed three months later to Square Enix, because they were bought.

NoRecess — We had only one game in-house at that point, and that was Deus Ex — I worked on Deus Ex: Human Revolution. That game was based on the Crystal Dynamics engine.

Dr JVtek — Crystal Dynamics is the studio that made Tomb Raider.

NoRecess — Exactly. It is an engine they kept for a very long time and made evolve from game to game. And I have a story about old things. One day, wandering through the source of that engine, there is a file with the implementation of the asserts in it. I will not go into details, but the header made me smile enormously. My C++ file was called debug.cpp, but the header of the file said debug.c — and above all it said 1994 next to it. So there I am in 2009, discovering a source file dating from 1994. There was something almost philosophical about it, like a call from the past.

Dr JVtek — I think the complete sources of Tomb Raider on PS1 leaked and exist somewhere, so you could find that thing from the period. It is the same with other games — Wipeout, and others.

NoRecess — If you really do that, you are not being correct, you are not being professional.

Dr JVtek — I agree, I am telling you what must have happened, not that it is right.

NoRecess — There is a thing there. From the moment you work in this industry, you have to have a certain behaviour. Personally, I buy all my games. I tell myself this is the industry that feeds me, and it is normal that I do not pirate my games and that I buy them. That is what feeds me, and people are entitled to be paid for the work they do. Old platforms are different — taking an ISO of a game on the Sega Saturn, that does not bother me. But everything that is alive commercially must not be pirated.

Dr JVtek — I largely agree, but I do not have quite the same view, because I work independently. In my case it shocks me less — though in fact I no longer do it, I buy everything now. When you work for a big company you have your salary every month. When you are independent you are always being fleeced by the publisher, so that notion is not quite real: the publisher is the one who earns the money. Once the game is gone, it is gone, it is no longer yours.

Dr JVtek — And there is a point behind it. This is linked to a French law of the mid-eighties, which the rest of the world copied, which says that as a programmer working for a software company, the code you write belongs to the company. The problem in games is that the law has been applied to everybody who works in games. That is logical in a sense, but where it becomes a problem is that it potentially blocks the notion of authorship, in the French sense of the author's right, applied to video games. That is where I have a limit. I find it a pity that the publisher takes all the rights when you develop a game as an independent. I understand the logic, but it is a little unhealthy for what comes after the game, because it no longer belongs to you.

NoRecess — That is what a contract of employment is for: you sign it, it is written there.

NoRecess — Coming back to Eidos — one detail, but a detail that really matters to me: the morning atmosphere. For two and a half years, every morning, I was with my colleagues and we would go to the café downstairs, and to start our day we took our coffee to go and came back into the studio. That simple thing, which took us ten or fifteen minutes, let us all exchange the news. Just exchanging in another setting, and it was thoroughly pleasant. A little morning routine is always worth having, and everyone at the same level, whether it was with the technical director or anyone else. It talked about everything and nothing, and that sort of thing is very important.

NoRecess — The Square Enix purchase was interesting. A very popular Japanese company, but not making the numbers it should in North America. They make games, they try, but it does not work there; it works above all in Japan. On the other hand they have the money, and they decided to expand into North America. Since our games do not work in North America, we will try buying the studios that will make games that do. That was the strategy.

NoRecess — And I had the chance to go to Japan and visit them once it had been bought. They took a handful of developers and sent them over to see how it could be married technically, to try to work out strategies. That trip was very striking for me, because I had a picture of Japan and it was not at all what I had in mind.

NoRecess — For instance, the first time a Japanese person handed me their business card. I hand over my card too, but I am like everyone else — I take his card and I file it in my wallet, which ends up under me when I sit down. I learned afterwards that I was supposed to look at the card, thank him, and so on.

Dr JVtek — You insulted him on arrival.

NoRecess — It is considered an insult, though they knew. And the Square Enix I visited is probably the one that remains in the imagination of everyone here who played a lot in the nineties — the same people, the same studio, and all those people were there.

NoRecess — The thing that genuinely shocked me: imagine an enormous Japanese open space, a thousand people on one floor. And brace yourself — not a sound. Silence. When people speak to each other they practically crouch down onto the desk and whisper. That was really a wow. Whereas I am used to being cheerful and having my noise-cancelling headphones on. For me at least, that was impressive.

NoRecess — What came out of it is that in North America and in Europe developers are often the valued ones, the ones with the big salaries, and even though the artists are very important, on the salary scale it is a little the other way round. In Japan it is completely the reverse. The superstars are the graphists, the ones who make the visuals, and the programmers are told: you make it work, I have made the thing, you sort it out. That is a real change of paradigm. And it is why everything is magnificent in their cinematics, more polished.

Dr JVtek — There are other radically different methods between Japan and the West. Preproduction, for instance. Here it is often a small team, the best in the company, working on it, and once preproduction is validated the bulk of the team arrives and people are hired. In Japan it is not like that: they do a preproduction as a kind of competition. They take everybody, in their teams, and everyone has to do a preproduction for that game, and it is a contest — whoever makes the best preproduction ends up directing the game.

NoRecess — And that costs more, but it has another advantage: it keeps a certain cohesion.

Dr JVtek — It is linked to what you said about Far Cry, the fact that everybody left for other teams. As soon as you finish a game, everybody has to be doing something, so even if you start a new game it is a small team and the others have to be occupied, so they leave for another project — and by the time you recruit a new team they are no longer available. Whereas in Japan it costs more, but you keep everybody, and when you restart you keep the same team.

NoRecess — That is what I felt too, a very strong hierarchy. It is completely vertical, and that is also why there is no noise: the ones who decide are at the top, and teams do not speak between themselves. The other thing that struck me is that out of those thousand people, only a handful were able to speak English. That has changed a little in Japan since, apparently, but at the time it was complicated.

NoRecess — As for the game itself, I will be honest: it had a very good reception from players, it really did well, but I personally did not click with it. It is the style of play — I am a bit too Quake-like, I want it to move, I want action. The principle of Deus Ex is that it adapts to your gameplay: if you have a soft playstyle, it is a soft playstyle. But if I am in front of Steam looking for a game, that is not the type of game I go for. I am more racing games, things where it charges ahead.

NoRecess — What I did there was again a lot of tools work, and a few months before I left I moved into a more central department, a shared technology group. That was interesting, and the team was pleasant.

11Warner, LEGO Chima, and learning web services

From 02:02 — watch this moment on YouTube

NoRecess — Then another studio opens in Montréal — WB Games Montréal — and I start at Warner in 2011, on a game called LEGO Legends of Chima Online.

NoRecess — I do the interview, it goes very well, and I am told I will be doing iPad programming for that game. So I sign my contract, I am happy, and I realise on the first day that my desk says web programmer. I have joined the online team, not the iPad programming I knew at all. But I had several good surprises: I genuinely knew nothing about it, and they knew that — they had asked me in the interview whether I knew any — and it did not matter. They said, you will train. So I had a great deal of training.

Dr JVtek — What year was that?

NoRecess — 2011. And I had the lovely surprise of finding people I had worked with on the first Far Cry — that summer-camp spirit I mentioned. Two colleagues I had been close to, and one of them turns out to be my boss. That was pure happiness. I was very happy socially, and that counts.

Dr JVtek — It counts enormously. When you feel good with a team it changes everything.

NoRecess — So I worked on the online infrastructure. Which is everything you see here: you could start a session on the iPad and finish it in a web browser on your PC.

Dr JVtek — You should present the game first, because I am not sure everyone knows it. It was an iPad game and a web game, or was there PC, or other consoles?

NoRecess — It is normal that there are questions, because it was a commercial failure. It was not in the shops for long. It was a PC and iOS game, based on LEGO — and at the time what worked very well with children was the Chima licence. LEGO renews them fairly often: three years of pirates, three years of dinosaurs, and so on. So we made a game where you had to wander through the worlds. I must apologise, I did not play it that much in the end.

Dr JVtek — That is something worth making people understand: when you develop a game you are often assigned to do a certain number of things in it. Depending on the size of the team it may be one thing or several, but you devote yourself to that thing. There are other people working on the graphics, on the story, on integrating the story scripts, and those people are obliged to play the game. But when you are assigned to tools, you are at the service of those people.

NoRecess — I will go further. The licence matters little to me — a game for children, a game for teenagers, a driving game, it is a detail. What counts for me is the technology behind it. I am a tech person. Developing a fine infrastructure, or a nice plugin, or a new feature, and carrying it all the way — that is what thrills me.

NoRecess — So I learned all the programming of web services. And if you are a programmer and you love tools and APIs, I insist: you absolutely must learn that. It may make some people smile — the ones who do web services all day long — but in the games industry it is astonishing how many people have eaten nothing but C++ for thirty years and have seen nothing beside it. That was a bit my case, incidentally. Everything I had done before was mainly C++, a little C#, and some assembly.

NoRecess — A story about why that game did not do as well as it might: I think they completely underestimated the iOS market. It is like a triple-A studio suddenly trying to make a game for iPad and iOS. The players are genuinely different. When we shipped it we very quickly had good scores — the game was good, it was played, it was appreciated — and then it very quickly came down from the top of the App Store. And we know exactly why, with hindsight.

NoRecess — What we should have done was push updates every week. If you update your game, even something tiny in the binary, your update is immediately pushed back to the top of the store, and it reminds the player who has the application installed on their iPad. They see a badge, a new update, they install it, and they go back to the game. Just having the notification is enough. The mistake we made was to plan a real, big update as if we were doing a triple-A — which takes time — and we shipped it six months later.

Dr JVtek — That broke the dynamic. People had completely forgotten the game.

NoRecess — It was a fairly exploratory period. Everybody wanted to make iOS games then. I think there is still interest, but the market has matured — today they make triple-A games on iOS, Resident Evils and so on, with a quality not quite equivalent to a console but not far off.

NoRecess — What I did in that game does not really show. I remember there was a customer support mode — the hidden parts of a game. Somebody might want a refund for something they bought, so I made an internal-use program: show me this player's entire inventory, assign them this object, give them that for free.

NoRecess — It was an interesting game because it really was aimed at children, and I think that is another of its problems. Children are not allowed to spend money in the eyes of the law. You always needed the agreement of a parent or guardian. The real point is that eight-year-olds are not allowed to make purchases, and that was well regulated.

NoRecess — Another amusing thing: at the beginning we had a chat system, but we were genuinely afraid that people would use it — that adults with bad intentions would look for children through it, or that it would simply be vulgar. So in the end there was only a system of emotes and icons, and the notion of a chat where I type disappeared. It is a shame, it was a real feature, but we removed it precisely because it was for children.

NoRecess — The development itself was very pleasant, it went well, I was working with former Ubisoft people, I liked the universe, and I had just become a father twice over, so it all fitted rather well.

NoRecess — After Chima there was an internal project that was launched, and I will say no more about it — but it did demotivate me a little, because at a certain point it was cancelled. That brings us to 2017.

Dr JVtek — Can you say which console, or PC, or not even that?

NoRecess — I really cannot say. I am sorry.

Dr JVtek — We know, and you are not the only one. Until now we have had a lot of people who are no longer in the industry and can let things go. You are still in the industry — I prefer to make that clear to everyone — so it is complicated to say everything, which is logical.

NoRecess — People do not realise: it is a matter of large sums, at the marketing level. There is a kind of management of the hype — when you communicate to your players, the first screenshots, it is all thought through, because you know you will have other things to show afterwards. Everything is planned up to the launch and even after it. And if you go and divulge something, it breaks that.

Dr JVtek — The fact that you say that is interesting for this live too, because it is part of the problem, and one of the reasons this programme exists. Today we no longer see the programmers, we no longer see the developers in general, because they are hidden by marketing and by the publishers. Having a testimony like yours allows that to be explained. And it is genuinely important, when you are inside, that these things are respected — because there are people who become completely idiotic on social media, who can insult or threaten people because such and such a thing they wanted did not happen. And it can go very far.

NoRecess — We have seen it in Montréal.

Dr JVtek — So that is why I say it is important, and it is entirely respectable, and thank you for the testimony.

12Autodesk, Stingray, and a breakpoint in a headset

From 02:24 — watch this moment on YouTube

NoRecess — In 2017 I left Warner to join Autodesk. I told myself: I have done a fair amount of tools work after many years in the context of game production, so why not cross the door and go to the people who make the programs I use every day.

NoRecess — What you see here is the Stingray engine, from Autodesk. It no longer exists. Before that it was called Bitsquid — that may speak to some people — and when it was bought by Autodesk they renamed it.

NoRecess — I was hired to do a VR experience, to do authoring in VR, a prototype. That was the first time I had done VR. Personally I saw it as a sort of bubble where there was a lot of interest, and now it has become more of a niche. My perception is that it is a little like 3D televisions at the start of the 2010s: there was interest and it fell back. That does not mean it is finished — perhaps they are missing the killer app, the thing that makes you say, I absolutely need this.

Dr JVtek — It is a shame we did not know each other at the time, because I showed you the 3dRudder. The 3dRudder was built to work with Autodesk — not necessarily in VR. Its story is that Valerio Bonora was an architect who was tired of moving around his architectural design with the mouse, and thought it would be wonderful to have something for the feet, so he could move about while modelling and turn around things. It became a VR product, even on PS4. We were trying to find contacts to work with at Autodesk, and we did not find them.

NoRecess — Two stories to share about VR. The first is a developer concept: the breakpoint. Anyone who has experienced that in VR will understand. You have the headset on your head, it is running at a hundred and twenty frames a second, you are navigating, and suddenly you have a programming error and the application pauses. And at that moment nothing is refreshed any more, nothing comes into the headset, so the headset flips very rapidly through the images it has. It is static, and you look at that, and I promise you it is nausea. Immediately. It is enough to make you vomit.

NoRecess — And that thing makes you think of Ghostbusters, the fellow who has not got the right card and takes the electric shock. I felt like that. Damn, I have programmed it wrong. And on top of it, why me? Because there were only two of us doing VR in the department. I genuinely felt punished every time there was a bug. It makes me smile now, and I am convinced it has evolved a great deal.

Dr JVtek — It has evolved a little, but I think the ultimate is what you have on the Vision Pro, because when you code on a Vision Pro you can code with the headset completely on. Not only is it transparent so you see the outside, but you can also put your Mac screen up as the screen you code on, and launch from it, which you cannot do on the Quest — there is no API for it.

NoRecess — The other thing with VR, for the serious applications we were doing, is holding your arm up in the air. You can do it for several minutes, but you cannot stay for hours and hours doing that. You are physically tired, it no longer works.

NoRecess — And a curious thing about that engine, and you will see why. In a single executable you had native C++ code, you had C#, and you had JavaScript — they had embedded V8 in it. And there was Lua for people who did not want to write C++.

Dr JVtek — And today you also have Python in all the Autodesk tools. That is another language on top. And if you do Maya it is worse still, because you have MEL as well, since Maya was originally written in it.

NoRecess — To be honest I am not a fan. Two layers is enough for me. So the call stacks were rather entertaining to decrypt.

NoRecess — What I observed for a long time is that you did your runtime in C++, your UI was done in C#, and you integrated the runtime directly into the viewport — your game view was your viewport, and you put your panels around it in C#. That is what I saw on quite a few engines.

Dr JVtek — I was ill — I did everything in MFC.

NoRecess — The business of the CPP generated with the block saying above all do not touch, that was an infernal source of errors.

Dr JVtek — You have that in Unreal today.

NoRecess — MFC wanted to be C++ with object programming and all that, but it was just a layer over the Win32 API, and it pretended to be object-oriented until suddenly it takes a structure as input — the same structure you were using anyway.

Dr JVtek — I agree, it was an extended version of Win32, and since Win32 has notions of classes that have nothing to do with classes, it becomes complicated. If you are not an expert you can drown very fast. But I liked it.

NoRecess — Unfortunately, Autodesk with Stingray had to face the evidence: it could not compete with Unity and Unreal. It was cancelled internally, and frankly I do not blame them, I understand.

13A year inside Unity

From 02:35 — watch this moment on YouTube

NoRecess — So I go and knock at the neighbours' door — and literally at the neighbours', because Unity was three buildings away. In 2018 I really wanted to stay on commercial engines, and it seemed a fine opportunity to join Unity. So I went through the whole recruitment process.

NoRecess — It is a very interesting company and they deserve their success, in the sense that their game core is genuinely very well made, very well implemented. I have nothing to say against that. But in my post I wanted to be at Unity and do something a bit different, and I remembered my online experiences at Warner. So I joined the licensing team — the team that manages the licences, the thing that tells you when you launch the editor that your licence is activated. We completely rewrote the licence system.

NoRecess — Unfortunately that is far too sensitive for me to give more detail.

NoRecess — The team was very competent, it was pleasant to work there, but I genuinely started to miss game production. It was good being on the other side, but at some point you are doing tooling and you only have small samples to play with. It is more fun to come back to the real thing, because I realise I am a person who — well, it is still the theme of what we are saying. My view is that a video game developer, in the broad sense, is the most passionate video game person there is. More passionate than any player.

NoRecess — I will admit something: I am sad to know too much about how games are made. As a teenager, when I looked at a game I did not think about all the technical business. Now when I look at a game I think, ah, they did that like this, or I guess how it is done.

Dr JVtek — I understand completely. When I play a game I do not really play, I analyse. I play in ultra-easy mode because I want to advance to see the game. I do not care about the fun part that others might enjoy. So in some ways it is professional deformation.

NoRecess — Unity had one quite fantastic peculiarity. Unity is spread across several studios around the world, and once a year they call all the developers together and put them in one place for a week, and you do more or less what you want. You invent a project for yourself, as long as it uses Unity. I do not know if you realise the scale — there are more than a thousand people at Unity.

Dr JVtek — Were they at three thousand?

NoRecess — I am talking about when I was there, between 2018 and 2019. So a great many people gathered in one place, in an idyllic setting — I am not joking, we were in Denmark, in an enormous hall.

Dr JVtek — Unity is a Nordic company, and that is not known well enough.

NoRecess — And I had met Unity's creators in 2008 at a Nintendo conference in Hollywood, in the ballroom of one of those hotels of the stars, where I stayed for a week. We had our table, we were presenting our own solution, and the table next door was Unity's creators. Something shocked me a little at the time. First, Unity was created on the Mac to begin with, it was not a PC thing at all. They were Nordic, from Denmark. And they were there at that Nintendo conference because they were presenting the Wii version — the Wii was the first console Unity was developed for. And they were in C#.

NoRecess — So already, for me, there was a problem: you were coding in C# on the Mac, C# being a Microsoft language. Mono, at the time, which is the open source version of a language filed by Microsoft. On the Mac, and it also ran on the Wii, which had nothing to do with any of that. As a developer who tries to optimise things and write optimised code, that was not in my logic of optimisation.

Dr JVtek — You have to see C# there as more of a scripting or execution engine, because C# is a very accessible language. You make your whole game with it and it is pleasant.

NoRecess — Except when you have to do the interfaces with what is underneath.

Dr JVtek — That is what I always did, and it is why I have a lot of trouble with Unity — it put me off. As soon as you have to interface with C++ it is badly done.

NoRecess — I did not do enough client code with Unity to really argue.

NoRecess — But gathering all the developers together — and this is fantastic — we actually managed to form a demoscene clan at that conference. And brace yourself, it was the atmosphere of a demo party but with a little glass of white wine. Something did not quite fit. I met all the demomakers at Unity then, genuinely talented people, and there are many of them. I keep a fantastic pleasure from that week. Imagine that much creativity: these are all the programmers who made the Unity technology, you put them all physically in one room and you say, do what you want, as long as it uses Unity.

Dr JVtek — Is that where you met Léonard?

NoRecess — Yes — Arnaud Carré, a demomaker for those who know, and a developer at Delphine in my day.

NoRecess — And it is an internal project incubator: there really were commercial outcomes from prototypes made in that setting. But everything ends, and with the COVID business it was no longer possible. From COVID on, those events were cancelled, so I was among the last to benefit from them.

14Gotham Knights, and ten years of remote work

From 02:44 — watch this moment on YouTube

NoRecess — So I question myself seriously. I am in Montréal, there are many studios and many opportunities, and I looked at my navel and asked where I preferred to be day to day. Because you should know that I had my daughter in 2009 and my son in 2011, and from that moment on family and quality of life really took over. I take fewer risks — even though I have changed jobs a lot — and I favour stability. And at Warner the people were genuinely a pleasure to work with.

NoRecess — So I said I would try Warner again. I talk to my old project lead, and I say, right, I will do a technical test. And my old lead says: no, we know who you are. You want to come back, you come back. Just that — a handshake, and I can return. For me that was the great return to the family, and it did not disappoint.

NoRecess — I worked on Gotham Knights from start to finish, as a systems programmer, and I had two big tasks on it. The game is made with Unreal Engine 4.

Dr JVtek — It is true that an open world is harder on 4. On 5 it is simpler, but at the time you had to adapt, because it is not designed for open worlds.

NoRecess — Indeed, there was work to do — a bit like on Far Cry, when we talk about subdivision.

NoRecess — My first task was a tool to visualise the budgets.

Dr JVtek — Explain that properly, because budget sounds like finance, and it is not that at all.

NoRecess — Not finance at all. You know that a game takes assets, animations, textures, a bit of everything, but we are limited by things — either by RAM or by CPU. My tool was concentrated above all on memory use: at any moment you could know what the scene graph is, what we have in memory, so you see all the objects. And it becomes subtle, because a lamp post in a game is always going to be the same lamp post, repeated. So the tool lets you see the reuse of an asset, and that is very interesting.

Dr JVtek — So your tool told you the memory during play — the final memory in the game as displayed. Not a prediction before.

NoRecess — You cannot do it in the editor, the editor cheats. You can make predictions but it is more complicated. And the point is you have to tell the artists. If you give no limit, if there is no budget, there is no limit and they do what they want. That does not work like that in life. It was not the magic sauce — it was simply an information tool for the technical artists — but having that under your nose is precious information.

NoRecess — The other thing was the online part. You can play multiplayer in that game, and I looked after the matchmaking side: joining a session, and if for some reason it can no longer be joined, presenting that to the user. I spent a great deal of time on that. There is a whole infrastructure behind it that had to be maintained, and still has to be maintained today — even though I have since moved to another project, I regularly have to put my nose into that game's servers to make sure everything works.

NoRecess — I liked that game a lot, for the atmosphere, the characters, who are genuinely endearing, there is a real story behind it, and the boss fights are very interesting. And it is beautiful visually. I have not finished it, unfortunately, because I have seen too many sequences. Games these days often model themselves on Hollywood, with the stories and so on, and you do not want to be spoiled.

NoRecess — And here is where it gets interesting. COVID arrived in March 2020, which will have escaped nobody, and I will always remember my team lead saying: right, we are going to start working from home, do not worry, it should be four, six, maybe eight weeks, but no more. So I take all my things, and I would never have believed it was the last time I would work physically in a studio.

NoRecess — Since then I have done nothing but remote work, to my great happiness. Remote work is not for everyone, but for me it has worked very, very well. I lived in Montréal, so an hour of transport in the morning and an hour in the evening — it is wonderful not to have that any more.

NoRecess — And I find there are interesting new opportunities in remote work in terms of communication. Just the headphones. I am — how to say — difficult when it comes to being bilingual.

Dr JVtek — You are in Montréal and you do not speak English?

NoRecess — Even though everyone speaks French there. Let me be clear: speaking English in a professional context, where people talk to me about computing and games, I have no problem, I am one hundred per cent competent. But ask me to comment on the last puncture I had on the motorway and it is sometimes harder — I lack the vocabulary. And the reason I mention it is that with headphones, in the remote context, it sometimes lets me concentrate better on a conversation, whereas when we were all together in a meeting it was not always the case.

Dr JVtek — I work far better remotely than in person. But you must not use remote work as if you were on holiday. And on the other hand, you do not see the hours, so sometimes you work more. There are people who realise they work far more hours remotely because they no longer know how to stop.

NoRecess — In remote work you could be more relaxed, but I impose rules on myself. I start every day at the same hour in the morning, and as soon as I start my teeth are brushed, I am dressed, and I present myself properly — as though I were at the office in person. That seems very important to me, and even my brain says: since you made the effort to dress properly, the next step is to start working. I have built up a certain discipline.

NoRecess — It has changed nothing about my working hours in reality. I am rather an early riser, I am in front of my computer at half past seven, and overtime is only if there is a need — otherwise I do not do overtime for the sake of it.

Dr JVtek — What did it change in working methods, notably with the consoles?

NoRecess — At the beginning I had my dev kits at home, but I had the feeling they were eating too much electricity. When you have several kits at home — and I was doing multiplayer, online, so it was not one kit, it was something like four kits if I wanted to test co-op with four players. So for the first while I was on a configuration like that, because we did not know, we adapted. And after that all the kits went back to the studio. There are still a few people who like having them.

NoRecess — The consoles adapted. There were already micro-features for that kind of remote working on the PlayStation before COVID, and they have simplified them further. The automation — being able to launch a console remotely — has existed for a very long time. I do not know if it was there on the 360, but it was very certainly there with the PS4 generation.

Dr JVtek — A question about remote work: you spoke earlier about the importance of the people you work with. Working remotely, do you not miss it?

NoRecess — Certainly not everything is one hundred per cent lovely in the remote context. But our team meetings, for example, we like to start about five minutes early, so we can say hello and ask how your weekend was. And I will be honest with you: it has happened that I set up a meeting with one person simply to talk, to pass on family news. It is anecdotal, more around the holidays.

NoRecess — I have the luck of having my children come home for lunch, and my partner too, and that is a bit what keeps me going socially. I imagine every employee more or less has their own arrangement. But it is certain that team building has taken a knock. It works very well for me because I have known my colleagues for a long time — we are a small team inside the big team. If I were starting a new job that was immediately one hundred per cent remote, there is a good chance it would be far more the business, professional aspect and less the person. But at Warner right now that is not what I feel.

NoRecess — And there are things — for instance the Christmas party, which is an institution in Québec. During the holidays every company brings all the employees together, either in a restaurant or in a hall.

Dr JVtek — That exists in France too, depending on the size of the company. At Delphine we had one after the company went under.

Dr JVtek — The thing you must miss, all the same, is the coffee-machine phenomenon — meeting someone you had not planned to meet, who then puts a problem to you or tells you about something.

NoRecess — It does happen often at the end of meetings: we have said what we had to say, and you end up with — and how are you otherwise?

NoRecess — One last thing about remote work, and it is very important: the working setting. When COVID arrived, in my old house, I was in the basement, badly lit, with a decor that simply did not work — it was not made for that. Since I now live far from Montréal, very far, out in the region, it was very important that in my new house I had my own office, with a door that closes, that is bright, and with the things I like around me, so I feel at ease. The setting is extremely important.

Dr JVtek — There is also a notion of trust.

NoRecess — Exactly. If a fellow with years of experience amuses himself playing the fool at home and cheating on his hours, robbing his employer, it will show sooner or later, and he will no longer be able to deliver. It is a matter of trust, that is all. And people who do nothing — that shows fairly fast.

15Signed posters, Québec and France

From 03:05 — watch this moment on YouTube

NoRecess — I have a strong attachment to the work I have done, and I have a peculiarity on each project I work on: I try to have a poster, a big print, which I have every one of the developers sign. And I have it laminated — set in resin — and I put it up in my office.

NoRecess — So this one is Far Cry, with everyone on the team who signed it. When I see that, just a glance at it, plenty of good memories come back, because there are people I worked with afterwards and I am still in contact with today. I did the same with Deus Ex — again, a poster I asked everyone to sign. And it is amusing to see that picture, because the main character has alcohol and he is smoking, and that was removed later. And a last one, Gotham Knights. It is a bit my trophy wall. It is important to me that every big project which had an impact has that.

NoRecess — In parallel, I keep all my original copies of the games I worked on, in their shrink wrap. They have never been opened. At one point my brother came into my office, and he made the gesture of opening the plastic — no, above all do not do that.

Dr JVtek — At worst you buy it twice and play it.

NoRecess — It is not the same, because the company gave me that one. When you are an employee at Warner you have free access to the games.

Dr JVtek — That is not everywhere. At Ubisoft it does not work like that.

NoRecess — You are limited to four Warner games a year.

NoRecess — Let us talk about Québec compared with France. It was a great Eldorado for a while, a way out for a lot of people in the French games industry, as you said, when there were crises. It can be a fine professional exit for French people who want to keep working in the industry.

NoRecess — A few interesting points from my notes. There is a very large pool of companies — indie, triple-A, whatever you want, it is all in Montréal, and I am not joking, that is genuinely a good thing.

Dr JVtek — You keep saying compagnie, and I am not sure everyone understands — it is the English word. In French it is société.

NoRecess — You talk about the crisis in France and I knew nothing of it. Here in Québec I have never experienced job insecurity — and I touch wood, because I know it is wobbling a little lately, with the tax credits being reduced and nobody quite knowing what will happen.

NoRecess — The companies I have worked for have often offered a certain stability, but you are never safe from bad luck. I lived through it twice, in fact. At xtranormal there was a round of redundancies at one point and things felt bad. And at Autodesk the company is doing very well, it is a very good company, but strategically they decided to stop the product. There was some internal replacement but the majority went out the door.

NoRecess — Sincerely, I have always been well treated, with competitive salaries. I do not drive a Ferrari, that is not the thing at all, but it is enough that I live well with my family. So, many opportunities in Montréal.

NoRecess — Something very different from France: in France it is always three months' notice when you leave a company.

Dr JVtek — It can be more, depending on your status.

NoRecess — In Québec it is two weeks maximum. When you hand in your resignation you have two weeks to actually leave, so you had better have a good plan. What might frighten French people, hearing that it is insecure — it is also because it is that easy to pick up another job. The labour market is far more active. People are much more mobile in their experience. There are people who are very stable, ten years in the same place, and that is fine, but there is greater volatility, and it is quite easy to jump from opportunity to opportunity.

NoRecess — In a radius of three kilometres in Montréal you cannot count the number of companies, there are so many. And I include companies doing software development, not just video games.

Dr JVtek — Historically Montréal has a very big history in computer graphics. Almost all the graphics companies were there. Autodesk originates from Montréal, and Alias, and Matrox.

Dr JVtek — But be careful, because from what I hear, as they reduce the tax credit it could still make a lot of companies leave at once.

NoRecess — Put it in perspective. Look at the studios in the United States, do the conversion from Canadian dollars, or in euros, and you will see we are still very competitive. If a company with a worldwide dimension is looking to open a studio, Québec is very, very competitive, even without the tax credit.

Dr JVtek — You may be completely right, but I say you never know, these things can change. And the crisis we had in France, especially with what is happening now — publishers sometimes overreaching on budgets, budgets almost too big for the market, and a bit of padding in some games — that can have an impact, because a game that cost a great deal and is not made profitable can hurt.

NoRecess — I will not comment.

Dr JVtek — You do not comment, but I give you the point. What I mean is that it must have left a big hole, and if you have two or three of those it can hurt.

NoRecess — As for my own experience as a Frenchman — I did work three years at In-Fusio, genuinely in France with French colleagues — the difference from working here in Québec with Québécois is enormous day to day.

Dr JVtek — You have the advantages of both worlds: the Anglo-Saxon advantage and the francophone advantage, in the philosophy of the people.

NoRecess — That is exactly right, but there is also the fact that a French person will sometimes be more head-on. Whereas a Québécois will perhaps be more considered. I will give an example: only a Frenchman would ask a whole group of programmers who wrote this monstrosity, with a copy-paste of a piece of code. You would never see a Québécois do that. There is a respect.

Dr JVtek — I am French, I have not moved, I am French.

NoRecess — It also comes from the way I reason. I am a bit of an introvert, and it goes well with my way of thinking.

Dr JVtek — Let us talk about the cold, because Montréal means cold. The first time I went, one of the things that shocked me was coming out of the airport into a temperature difference so enormous it cuts your breath. I had gone in winter, of course, and I was going to Ubisoft. So I arrive from France thinking it will be freezing, and I take the big coat I had almost bought for the occasion — the full thing. I arrive at Ubisoft, in the offices, and I go from minus thirty to plus thirty. So I died of heat all day.

NoRecess — You slightly overestimated. I think you dressed as if to go skiing all day. If you go from the bus to the metro, a light jacket is enough.

Dr JVtek — But nobody told me. And Montréal, when it is cold, you live underground — the metro is underground, the surface life is underground.

NoRecess — Wait, we are not all ants.

Dr JVtek — There is an underground life, all the same. You have shops connected together.

Dr JVtek — And let me add a fun end to my story: that time I had come with a suitcase of nothing but very warm things, and they tell me you are not going home next week, you have an appointment in San Diego. So I went from minus thirty to plus thirty and I had nothing else, and I had to buy clothes.

NoRecess — As for my own path: I was in Montréal a great deal at the start, and there is genuinely a French quarter — the Mont-Royal quarter — with a lot of French people in it. And then, when COVID happened and Warner authorised full-time remote work, that is when I decided to go out to the region, for a better quality of life. It is even a little colder here, technically — I am really in the east, the east of Québec, let us say. But it is another quality of life, and the people are genuinely different. Personally I like it.

NoRecess — And that is why it is important for me to keep a bit of an attachment to France, and to have my own little garden, as it were.

16What I would tell someone starting out

From 03:24 — watch this moment on YouTube

NoRecess — Over the years I have spotted things to do and not to do in this industry.

Dr JVtek — You are essentially talking to yourself at twenty.

NoRecess — Absolutely. So, broadly: when you join a new games company, try if possible to find yourself a mentor, or at least a person of reference. In each of my companies I grew by concentrating a little more on one person who gave me workflows, practices, tips. These are not self-interested relationships, they are friendly. But if you can absorb certain things from certain people, you will take giant steps.

Dr JVtek — I would add a layer on top of that: put it on LinkedIn.

NoRecess — Yes — in fact, that is what I would say to all students, even those not yet in work: make yourself a LinkedIn profile. I have had the same one since the beginning and it has genuinely served me. Colleagues I was able to contact again later, who had become very senior. And at the moment you think, who do I know at such and such a place — it tells you that person is now at that company. What is that company? Ah, they are new. Sometimes it is important to stay a little awake.

NoRecess — Stay humble at all times. That is extremely important. Do not crush your neighbour. Give the same importance to everybody — do not address a senior person differently from an intern. Everyone is equal.

Dr JVtek — On that I agree two hundred per cent.

NoRecess — Take an interest in things that are not necessarily your first interest. I had a phase where there were web tools to be made, and I did not know any — so I took the thing on. It is interesting to make connections a little to the side. Do not be only games, games, games. Sooner or later you will have tasks that need something off to the side, and it is important to stay open.

Dr JVtek — And even to other trades. I worked a lot with artists, with graphists — it is interesting, or with musicians, to understand what they do and why. Especially when you make tools, because you learn from them what they really need and where they struggle because the tool is not adapted. And on the other side, they may teach you how to use Photoshop, or the 3D program, which simplifies your life, because at a certain point you will not go and see a graphist every time you need some small thing. You will need to do it yourself.

NoRecess — Exactly, you have to be curious. Then: try to aim your knowledge at things that are more or less timeless. I made the mistake of learning AngularJS 1, which was a web framework, and when 2 came out everything I had learned about 1 was lost, because it had all changed. That is exactly what not to do. The same for Entity Framework at Microsoft. Those are things that became legacy very quickly.

Dr JVtek — Microsoft is historically very good at that, and it is linked to the way Microsoft works: every year they let go and hire a third of their staff, so the new arrivals — a bit like the phenomenon you described earlier — say, I have not understood this, so I want to redo it. And that has an impact on the tools and the APIs.

NoRecess — Another piece of advice: knowing how to say no is extremely important. When you do not know, say so. When you do not understand, say so. Never lie, be honest, own your mistakes. It is all common sense. Communicate.

NoRecess — I have seen juniors put themselves in situations I would really not have liked to be in, where they say, yes, it works, and in fact you scratch a little and it will not work, because there are bugs you had not foreseen. Except that the team lead has understood it is done and moves on to the next task, and then the junior has blown himself up, and it creates conflict everywhere. So give the real truth, the real status. And it is entirely correct to say I do not know, or I have never experienced that. People will appreciate that far more than trying to say I know it without the knowledge behind, which will only produce disappointment.

NoRecess — No finger-pointing. The example I gave earlier — who wrote this monstrosity — sent to thirty people. You must not do that. Try to be what is called a team player. Never try to crush the other person, do not run them down.

NoRecess — Personally, I have a thing: a company is like a society. There are people you do not like, and that is entirely normal, we are human beings and we have affinities with some people and not others. What I have developed is that with people I do not care for, I keep to the professional contact needed to do the work, but I will not necessarily go to them to talk about my weekend. And that is quite all right. I would never go and talk behind their back. It happens naturally: I talk about my weekend with people I have affinities with, and with the others I stay within the frame of the work. For me at any rate, that has worked well.

NoRecess — Punctuality is extremely important. When it is nine o'clock it is nine o'clock, not five past — obviously depending on your post, it is not always possible.

NoRecess — When you are in a remote-work context, it is not compulsory, but try if you can to always have your camera on, so your colleagues see you. Because even remotely, on a video call, you will still be inclined to look your colleague in the eye, even if he does not know you are looking him in the eye. I think that is simply important.

NoRecess — And, as I said earlier in the remote context, still dress well as though you were going to the office physically, keep good hygiene, and respect the hours — not nine o'clock one day and half past seven the next and whenever after that, because that sends a bad message.

Dr JVtek — And you kept to ten minutes.

NoRecess — As for ChatGPT — it is a technology I am starting to integrate very gently. My use case is really: tell me how to load an asset asynchronously, and it gives you the API it uses, and it is brilliant. I see it as a good tool for that, and it genuinely saves time, because before I would spend an age looking in source code, or looking in docs — and docs often only expose the API, they are not docs that take you by the hand and show you how to do things.

Dr JVtek — There is another aspect: in terms of time, it types much faster than you. Sometimes there are pieces of code that are easy, or very simple, and even for that I use it — because it goes much faster than you. But you have to check afterwards, you must not use it blindly without thinking. I argue with it: hang on, you got that wrong, you did that any old how.

NoRecess — I think it is important not to forget it is an online service. You cannot allow yourself to copy company code to a service when you do not know where it will end up. That already limits its use.

Dr JVtek — Of course, but there are LLMs that are private now, so you can do it. That has not necessarily arrived in every company yet, but it is feasible.

NoRecess — For me it is genuinely a new phenomenon, a phenomenon of society. Is it here to stay?

Dr JVtek — I think so too.

NoRecess — My colleagues are starting to use it too. I think there are opportunities, and if we look ahead five or ten years I think it could potentially change enormously how a video game is made. Why? I think the artists will always be there, it will be important to have the artist's hand on it, but for prototyping, for instance: you are building an open world, so generate me seventeen different car meshes — it is just for dressing, to give an idea of what it could be. That side, generation, in my view genuinely has something.

Dr JVtek — And even for an artist. I saw a live from an artist who said: before, I did my things to order, and I spent my time doing work I did not like. Now that there is ChatGPT, that kind of commission has gone, so I manage to do things I love, and I even manage to earn money from it. My conclusion in a long video I made on this is exactly that: it is a tool, and like every tool it has its good and its bad, and it is better to make it your own now than to wait and be overtaken.

17phX, Revision, and what a demo is

From 03:40 — watch this moment on YouTube

NoRecess — So yes, I am a professional developer in the video game field, but in the evening I have a terrible secret that I indulge at home: I adore programming on very old machines. One in particular, which shaped my childhood and which I spoke about at the start — the Amstrad CPC, the CPC Plus, and the GX4000.

NoRecess — It is a hobby, and what I like is to program within those constraints, on those small machines, with the optimisation effort that goes with it. I got into the games industry partly thanks to demos, and I picked that up again around 2008 to 2010, but this time not at all on the same platforms, because I wanted things that were different from my work. So it is the computer of my childhood, the one I have a genuine nostalgic link with.

NoRecess — I have made several demos, and each time it was always a little better, always more time invested. What we are about to see is my best demo. It placed second at Revision 2018. I travelled from Québec to Germany to present it, and there were nine hundred and fifty people in the hall.

NoRecess — For me that was a real achievement. There are more than five years of development in that demo, two of them purely learning how to program the Amstrad CPC's graphics chip, and doing plenty of other things — the audio player and a great many more.

NoRecess — It is an achievement because it is an eight-bit machine. The Amstrad runs its Z80 at three point three megahertz, and we are starting to approach things —

Dr JVtek — It is not an Amiga, but you can see the eight-bit is well into its limits.

NoRecess — I genuinely enjoyed myself with it.

The two of them watch phX in full, without commentary, before picking the conversation back up.

NoRecess — Seeing it again always gives me pleasure.

Dr JVtek — It is not bad at all on the technology side, there are good things in there, because doing that on a Z80 is hot. Did you use the tricks with the graphics chip, to do rasters and things like that?

NoRecess — Absolutely, all of it, on every one of them.

Dr JVtek — And the YM player, is that Léonard's, or nothing to do with it? It is the same chip, which is why I ask.

NoRecess — It is a little similar, in the sense of the YM format Arnaud Carré introduced on the ST. But broadly I made my own. To put it very simply, what Arnaud Carré did with his format: on each frame you give a list of registers, a list of values, to the sound processor. What he did was a dump of that — so you have fifty lines of data for one second — and what he added was compression on top.

NoRecess — I did something similar but the other way round. Rather than a dump, I put it in the form of a player. The big challenge is that when an effect takes the whole screen, in full screen, there is very little machine time left to do everything. So fighting to have the smallest audio player in machine time is genuinely interesting. I loved that, I really got a thrill from it.

Dr JVtek — And it is all assembly.

NoRecess — Certainly. And there is a genuinely amusing side in relation to my trade: you work during the day on big, big systems, and in the evening you polish, you spend half an hour on ten assembly instructions. And it does not matter, because you know you are making the progress, scraping out the cycles.

A viewer asks what a demo actually is.

NoRecess — Broadly it is what you have just seen: a succession of graphical effects, as interesting as possible, so that people genuinely want to see it and see it again. You try to make the graphical effects synchronised to the music, and the programmers try to expose the most astonishing things possible — to push the machine technically to places some games were not able to reach. The context of a demo sometimes allows that.

Dr JVtek — I will add a layer of explanation. At the base it was linked to the disks we shared — on the Amstrad at the time, but above all later on the Amiga and the Atari ST, which is where it exploded. As soon as somebody found the protection of a game and cracked it, to show off he started doing more and more things before the game, to say: I have put my mark here, I am the one who cracked it. And that is where programmers attached themselves to that kind of person and created a sort of screen before the games, more and more impressive, to say we are capable of doing as well as the game. And step by step it became a sort of competition, and at the same time a work of art. Most people doing it at the time were Nordic — perhaps because of the difference in daylight, their way of working. And step by step it became an art form in its own right, with all sorts of people competing to push machines as far as they would go.

Dr JVtek — And what we have just seen really is the typical demo of the period, in the sense that it arrives at something that does not have to blush in front of an Amiga demo — not really.

Dr JVtek — I know the Amstrad well, and I know how the other machines work. There are things I do not know how you did, even if I have my suspicions. I saw a lot of dithering, so I suspect there are tricks with the dithering.

NoRecess — For example, yes.

Dr JVtek — I think there is a lot of fiddling with the synchronisation of the graphics chip, to be able to do certain effects, or to reproduce several times something you have only put on screen once.

NoRecess — You suspect correctly. But there are things you really have to know — you have to know the architecture of the Amstrad, the architecture of the hardware.

NoRecess — I loved it. But as I say, I have the feeling deep down that a page has turned. I am satisfied with myself. I have to be a little unkind and say that lately I have lost interest in the traditional demo as we see it. It is pleasant, but sometimes I wonder whether it is not a little futile — after all I spent five years on it. On the other hand it is true I learned a great deal from that experience, I genuinely raised myself.

Dr JVtek — I smiled at the end, because you have all the greetings to the same people of the period, the pirate groups of the era. It is good, but you would have to reinvent it a bit.

NoRecess — It is really the demomaker principle of always going further.

Dr JVtek — And what is wonderful with the Amstrad is that the machine is known. Everyone knows what an Amstrad can do — and then every time somebody produces a new thing. That is where the challenge is, that is where you are forced to rise to it.

NoRecess — What I have preferred to do more recently is to apply demomaker techniques to games. There is genuinely a great deal of pleasure to be had there, and it is really under-exploited. We know which games were the most technical, the ones made by demomakers, and every time the difference is striking.

18Sonic on the GX4000

From 03:58 — watch this moment on YouTube

NoRecess — What we are seeing now is a remake I am making with friends. I look after the programming side, and it really is Sonic, on the GX4000.

Dr JVtek — Can you tell us what the GX4000 is? I am not certain everyone knows.

NoRecess — Broadly it is an Amstrad CPC in a console box, with improved graphics features. It is not the big, big machine — but those features, when they are exploited, allow things the classic Amstrad CPC cannot manage, such as a horizontal scroll at the pixel, with the CPU free the whole time.

NoRecess — That said, technically the GX4000 is a genuinely poor console compared with what existed alongside it. The Master System and the NES are old consoles, released well before the GX4000, and they had tile handling in hardware. The GX4000 is an enormous frame buffer, and get on with it. Which is to say you have to move the pixels yourself. When there is a scroll left, right, up or down, I have to complete all the visual data myself, on the CPU. That is complicated to do.

NoRecess — This preview is a real achievement for me. I know perfectly well that if a game like this had shipped at the time it would have had enormous potential. Then again, I have less merit in one sense: the technical documentation is available, we have excellent tools, and I develop with an emulator.

Dr JVtek — Show us your tools a little, at least to show how you work.

NoRecess — I work on Linux for this, not because I particularly like Linux, but simply to do something different from the OS I use at work all day. I use git, obviously, for source control, and I have data that I compile entirely on the command line. I made myself a plain converter in C++ — there is really no graphical interface, it is C++ as standard as possible. It reads my textures, my files and so on, and what my program does is convert everything: it takes all the data and generates it in the right format for the console.

NoRecess — So there, I launch it, it will take about ten seconds — thirteen — and now I have recompiled all the data. This here is the sprite sheet, the animation for the whole game, and my C++ program converts what we have just seen into binary files.

Dr JVtek — Greg asks whether what you are doing would have been feasible at the time.

NoRecess — Sincerely, no, not with the tools of the time. There was no emulator like the one I use — and I would say that is the beauty of the thing. There might have been things that came close. There was Prehistorik 2, which technically has a hardware scroll and so on. But with as much of this rearranging of the data in every direction as I do, I have serious doubts we would have had that at the time. Already, at the time, to work on an Amstrad game you worked on an Amstrad.

Dr JVtek — Cross-development existed as early as 1988.

NoRecess — I agree it existed, but they were not PCs as powerful as this, with screens as large. You could work on an Atari ST, or an Amiga, and send it to the Amstrad, why not — but that was the maximum. You did not have PCs with big screens, and that changes a great deal.

Dr JVtek — A story, sorry: I did my student BTS placement at Loriciel, and they had just started making a GX4000 game — I do not remember which one — and those poor fellows were in pain. They insulted that machine from every side, particularly the sound chip, which was sold as being able to play waves on a machine with 64 kilobytes. A wave and you have filled the memory.

NoRecess — That is it. In Sonic GX I use 512 kilobytes of storage for the cartridge, and we have 64 kilobytes of RAM, knowing that the video buffer is included in that and takes 32 kilobytes.

Dr JVtek — But you have programmer strategies. There is banking, so you have to switch banks and go and fetch things. That must be sporting.

NoRecess — It is very, very sporting.

NoRecess — This is what my code looks like, roughly. It really is assembly, and I enjoy myself with it. And on the creation side I use an editor — one that is usable for all the other consoles, not just for what I am doing. So here, I do control-S, and I will launch it just for fun.

Dr JVtek — You have just broken your game.

NoRecess — Well, yes. As bad luck would have it I got an assert at exactly the moment where I am exploiting my engine to the limit — just doing that, I blew the RAM budget, because I am already at full stretch.

NoRecess — Here we have the data that is generated, we have the source code, and I have a little script that lets me take the assembly code, take the generated data, and send it into the emulator. So what you see is exactly what you saw on YouTube. I have genuinely broken the data for the occasion with the script, but never mind, we will see it anyway — I will go into the bonus stage.

Dr JVtek — Oh, you did that as well. That is too good.

NoRecess — I enjoyed myself, yes.

Dr JVtek — That is horizontal scanline work. Very nice.

NoRecess — And at any moment I can pause here, and then I can inspect my hardware sprites, I can see the state of the registers, I can see the palette, I can interrupt myself in the middle of the frame if I want, and above all I have the assembly code here to disassemble.

Dr JVtek — What you see there is a small dream for a developer, because you do not only have text data, assembly, memory and so on — the palette alone, and I think you have the registers, the sprite banks as well, directly visible and accessible in the debugger. There are not many debuggers that do that, between ourselves, even modern ones.

NoRecess — What I did was take an existing emulator, called CPCEC, which is just an SDL window, a 2D window and that is all, and add all this to it.

NoRecess — It is a hugely amusing project, but it eats an infinite amount of time. When I started I thought it was a two or three year project and then it would be folded. The problem is that every time I advanced in the implementation, every time I realised: in fact I can do this as a new feature; hang on, with that optimisation we can actually fit far more map, more things; and by the way a bonus stage would be interesting. And every time, it grows.

NoRecess — So at some point I have to put an end to that project. It is a personal project, so I can take as long as I want, but it is true it is starting to add up — I have been on it since 2018 and we are in 2024, and I am still far from delivering. In my head I would ideally like it available by the end of next year.

Dr JVtek — Is what you have done open source?

NoRecess — Not for the moment. But I do have a practice of releasing the sources of all my demos.

Dr JVtek — That almost shocked me, what you said earlier about sending your CD with the sources at the start. That was cheeky.

NoRecess — Wait — I really do this for pleasure. I have my job, which brings me money. My hobby time is genuinely for working on things that make me vibrate and that amuse me. I am not saying what I do at work does not make me vibrate, but it is something different. Here it is the challenge of doing this on the old machine of my childhood. It is my own little challenge, and there is no financial objective. And there are a great many people who think as I do.

19The office, the archive and the machines

From 04:12 — watch this moment on YouTube

NoRecess — Let me show you a little tour of what I have at home. Here, for instance, I amused myself printing all of Amstrad 100%, which we talked about. I printed it, as you can see, from issue one to issue forty-nine. And if you knew the happiness that reading these gives me — often in the morning when I have my coffee outside on the deck at the moment.

NoRecess — That was a press we will never see again. Look at the title of that article — the writer calls his piece Frankfurt sausages, and it is completely daft, and that is exactly what is brilliant about it. There was a style of writing in that magazine that you will never find anywhere else. It made an enormous impression on me. So yes, I do that, I have a little library at home.

Dr JVtek — For me it was Hebdogiciel. I am sad, because I had kept almost all of them and I put them in the attic at my parents' house because I did not have the space, and the rats ate the lot.

NoRecess — That is rather the challenge of preservation now.

NoRecess — So this is my office, my bookshelf. The left-hand part is my retro, old school part — these are my machines, the ones that are still plugged in. I wanted to make my office in my own image, genuinely, with the things that make me vibrate. So there is the Amstrad CPC, the Amstrad Plus, the GX4000 of course, and the Amiga next to it, an Amiga 600, which I adore. The Amiga is a machine I love. I am not productive with it — I am a consumer, I watch every demo that comes out, every game. But for me it is a reference machine, and the Sonic I have made comes closer to the Amiga.

Dr JVtek — There is someone here who says: if you look carefully there is a photo of me in one of the Amstrad 100%.

NoRecess — That is Ced — the graphist I have been collaborating with for many years. He is my great friend.

NoRecess — The photo I took is of the Amstrad CPC 6128, and if you are a bit curious and look at the disk drive, you will see there is a USB stick. So you really can load everything from it. That is the great happiness of it: I switch on my CPC and I can directly browse the file system on the USB stick, launch games, demos, whatever you want, and navigate through the file system. It is much faster than a disk of the period, and it is incredible what it makes possible.

Dr JVtek — That goes on the expansion port.

NoRecess — The normal expansion port, which receives a card. And it multiplies the Amstrad tenfold, I promise you.

Dr JVtek — There cannot be many Amstrads in Québec.

NoRecess — There really cannot be many of us.

Dr JVtek — Careful, though — there was the Amstrad CPC 6128 distributed in the United States. Few people know it, and it flopped completely, and Amstrad immediately withdrew from the market.

NoRecess — It is practically unfindable, but there was an effort made.

Dr JVtek — What do the cards give you? More memory, more software in ROM?

NoRecess — Broadly, it is much faster for a lot of things. You have more RAM in the banks — instead of 128 kilobytes I have 512. And what is brilliant is that it survives a reset. If you switch the machine off you can start it again and it is still there, because it is not RAM, it is flash, and it is as fast as the RAM of the period.

Dr JVtek — Were there enough registers to change banks in the Amstrad?

NoRecess — There are even people who push it much further. You would see projects being made, it is quite interesting. For my part, the decision I take is this: the cards you see in front of you are more or less what you could have had at the time if you had bought all the expansions, so it stays close to the original configuration — apart from the USB stick, that is clearly flash you did not have.

NoRecess — But there are extensions where I do not follow. Some people have used an MSX video card connected to the Amstrad, and it gives you a fantastic resolution with plenty of colours, but for me it is no longer an Amstrad. You have cards for radio, you can listen to MP3.

Dr JVtek — A radio card, why not.

NoRecess — For me, this is extremely fun. Yes, I could watch Netflix, but for me looking at this is pure happiness. I am in a rather nostalgic phase these last few years. I like having possessions — I showed you my books earlier. When you see that, the CPC bible, machine language.

Dr JVtek — I have all that in the cellar. It is just that I do not have the space, that is all.

NoRecess — These are reference works. Just a glance at them gives me great happiness. I am very happy with this one, for instance — the originals of Maxam. And this is the original paper, the French translation, how to use the assembler. It is brilliant.

NoRecess — Here it is hidden, it is sober, but inside — the left-hand drawer.

Dr JVtek — That is your Warner Bros. figurine.

NoRecess — A Gotham Knights figurine, that is it, decoration. And here, for example, I have four Amstrads. They are all different: they all have different video chips, because when I made my demo it was important to test on every type of Amstrad CPC. People do not know it, but from one CPC to another there could be incompatibilities, because they amused themselves changing the video chip from time to time. It was the same chip, but with variances on one per cent — and it is precisely that one per cent we exploit in demos.

NoRecess — My goal was not to own every Amstrad. My goal is that if I can reach my retirement with a working Amstrad, I will be very happy. Eventually there is hardware backup too: if the sound processor fails, I would be able to take one from another machine and put it in, and it will work.

Dr JVtek — If you want Z80s, hurry, because I believe they stopped manufacturing them this month or thereabouts.

NoRecess — Indeed — but you are not going to make me believe there is no stock of Z80 in the world. There is no reason to rush. Even an Amstrad CPC you can still get fairly easily these days. I do not believe in these false shortages, especially for machines distributed in millions upon millions of units.

NoRecess — And here is my right-hand drawer, and this time it is genuinely reference works, docs, fanzines. I amused myself printing everything and filing it all.

Dr JVtek — You are doing archiving. That would please Laurent, because he is at the national video game conservatory, one of the members, and he is trying to catalogue exactly these kinds of resources.

NoRecess — For me it is a source of infinite comfort. The Internet could explode and I have enough to amuse myself until I die.

NoRecess — And here, in the same way as I had printed the video game posters with the signatures — I had the chance to present Sonic in person at a demo party, and there was the community, a lot of members of the Amstrad community present, and again I asked them to sign. And this one, still the same, is from when I went to Revision to present phX. I got all the Amstrad demomakers to come and sign, and again, that is genuinely important to me.

Dr JVtek — Can you explain what I mean by a Canadian cellar? It is not necessarily well known.

NoRecess — A great many Canadian houses have a very substantial basement, because in winter it is easier to heat one room than to heat the entire house.

Dr JVtek — It is almost the reverse of what you have in some houses in the south. My grandmothers and aunts all lived in the same house, and in summer they went downstairs, and upstairs they lived in winter, because it was cooler below. In Canada it is the other way round — a house that is set into the ground heats more easily and holds better. And very often it is the games rooms they put downstairs, because when there is a lot of snow you do not go out much, so the basement is practically a gymnasium, you have room to let off steam.

NoRecess — It is true that all the houses here in Québec are more set into the ground.

20NoRecess464, and a last word

From 04:27 — watch this moment on YouTube

Dr JVtek — Someone asks me whether I recommend playing Fade to Black. I worked on the PS1 version. I think you should — it has a certain history. It is complicated, because there are a lot of keys, and the playability evolved, and the graphics evolved a little. It has aged a bit, the walls are completely square, but there is a very interesting story behind it. It is a try-and-retry: you lose, you start again.

NoRecess — May I allow myself one last story? I have been asked before about the origin of the handle I use, NoRecess, so let me present it for those who do not know. I listened to a great deal of Nirvana as a teenager, like a lot of people, and one of the lyrics repeats the words no recess over and over. That was exactly the song I was listening to when I was looking for a handle, and I thought, there, that sounds good. I did not know what it meant. I learned later, looking in the dictionary, that it means without pause, without a break — and in the end I find it suits me remarkably well as far as my hobby activity is concerned.

Dr JVtek — And the 464 you see is the CPC 464, which will not have escaped anyone. So that is the one you had — you did not have the 6128?

NoRecess — Absolutely not, and let me explain, because this is new to a good many people. No, I did not have the 464 at the time, I only had the 6128. I have been adding 464 to my handle on the forums for about five years, and the story is a little less funny, but you will see there is something beautiful in it.

NoRecess — There was MAF, a musician well known on the Amiga and later on the PC, very active in the demoscene, whom I had the chance to meet several times. A very, very kind person, and unfortunately a person who has since died. His website was maf464.com, and he liked using 464 at the end of his things. So I said to myself: I will use it, and every time people read NoRecess464, without knowing it, there will be a little of him in it.

Dr JVtek — That is beautiful.

A viewer asks how many of his projects have been cancelled.

NoRecess — I will not talk about that. I understand the question is relevant, but even if it is a few years old it could be strategic.

Dr JVtek — If I put the question differently — I am trying to help you, not trap you. My question was much broader. It could even include personal projects. In your life globally: how many projects you worked on were cancelled, including personal Amstrad projects? That lets you smooth the whole thing out.

NoRecess — A fair number. A lot, in fact. It is a little disappointing sometimes, because you put a great deal of effort into it. But you must not see it a hundred per cent as a failure, because sometimes you develop technologies on projects that can be reused on other projects which do reach the end.

Dr JVtek — And if you had to estimate, in the case where you consider it a loss, how many years would it have cost you?

NoRecess — I will concentrate on my professional career. In lost time, on projects that never reached maturity, perhaps four years, something like that.

Dr JVtek — You build teams, you build the technology — it is not a hundred per cent a loss.

NoRecess — Absolutely.

Dr JVtek — But it does demotivate.

NoRecess — To conclude on all this: we have been talking for four and a half hours and I did not see the time pass. Thank you enormously for the opportunity. It has been very pleasant for me, the work of introspection, remembering certain stories and projects. I genuinely enjoyed it. I prepared myself, and it was interesting. So again, thank you very much.

Dr JVtek — There are some last questions. Will you come back to France for the Sonic release?

NoRecess — I loved coming to France to present that game — it was near Lyon, and it was genuinely pleasant. If I possibly can, it would make a fine loop: we presented the beginning, presenting the end would be really amusing and interesting. Now I will see, because from where I live it is an enormous financial investment. Unless I manage to be invited — which has happened, someone paid my plane ticket to come to France.

Dr JVtek — Michel says Arnaud did not talk about his demo on GBA.

NoRecess — I did make demos on PS2, on GBA. I discovered little platforms on the side, but it never went far, there was never any deep expertise. That is also what I like. Mind you, when I was doing the GBA and the PS2 I was still in a mode where I had everything to prove, and I was proud to be on a popular platform to show my things.

Dr JVtek — You have got older.

NoRecess — That is it.

Dr JVtek — We have started a group with Cyril 2.0, who did not come tonight, for the PS1. There is even one of the devs in the group who has made a small card like yours to develop and debug on the PS1, and that will be practical. When I have a little time I will set up everything I need here to do small things. It is amusing — you have to do it for yourself.

Dr JVtek — The PS1 is my machine, a bit like yours is yours. I started on the ZX80, I had a ZX Spectrum, I had the Amstrad for a very long time. I even went, at the very beginning of Ubisoft, into their offices — it was a big warehouse with just a tiny office and two chaps coding. Then I had the Atari ST, I had the Falcon, I did a lot of things on the Falcon. I am the fellow who wants to be different, so purely to annoy everyone I did not take an Amiga, I took a Falcon.

NoRecess — I have the impression you paid a great deal for that machine and perhaps did not get the return.

Dr JVtek — But it made me dream, and I am still happy to have it, and I will never sell it. Then the PCs, and on the console side I have had just about every console in dev kit form. Professionally, the one I worked on most is the PS1.

Dr JVtek — Fade to Black, for me, is a bit what you did with Far Cry. It is my first project, but above all it is the project where I put everything I knew how to do at the time. There are tricks in Fade to Black to make it run — I did relocation when you cannot do relocation, I did a system of automatic placement of textures in VRAM with a compressed texture cache and all sorts of madness. And we shipped the game.

Dr JVtek — So when people ask what I think of it, I think Fade to Black has an interest because it tells the continuation of Flashback, but at my level it is a challenge, a technological demo, with things that even the last games on the PS1 were not doing.

Dr JVtek — And then Motoracer — there is a whole story there. One day I will have to write a book about Motoracer 1, 2, World Tour. I will have to interview myself.

Dr JVtek — Motoracer 3 and World Tour are my other baby, because I did the entire production chain for that game. It is all based on LightWave, everything we did.

NoRecess — You are going to please me — you are raising my interest in that game even further. I already adore it, and now I adore it more.

Dr JVtek — We had graphists who were very, very good, and I guarantee you we could have run modelling competitions and beaten everybody. When you were good at LightWave, you went at the speed of light.

Dr JVtek — Right, I think we have arrived at the end. It is nearly two in the morning in France. Well done, you must be working tomorrow, you will have to get up. Here the sun is going down, it is still a little light.

NoRecess — A live of four hours and forty-eight minutes. You did not sell me that by email.

Dr JVtek — It is you who did it. I told you: you manage the time, there is no problem.

NoRecess — I will not do that again in the next decade, that is certain. But I have done it.

Dr JVtek — You can show it to your children.

NoRecess — They are fans of live streaming, so — Dad is modern. I am not on TikTok, but Dad is a YouTuber.

Dr JVtek — Right, goodnight everyone.