Interview with Cyril “Cgg” Gantin, Defrag’s grampa

Published at

With more than 10,000 maps and thousands of authors, all listed and available at Wolrdspawn, an archive for Quake 3 Arena content made by and for the community, the Quake III: Defrag mod appears as an exception in the world of FPS.

Coded by [flag_fr] Cyril “Cgg” Gantin and distributed since 2000, the recent release of the latest version of Defrag, is an opportunity for a spotlight on this project and his author.

Note: I tried my best to not betray Cyril’s words and meanings and in the same time to provide a not so bad translation; feel free to read the original french interview.


Can you introduce yourself to our readers and tell us more about your past, current and future projects?

I’m 32 years old. I’ve taken a strong interest in programming when I was very young. By delivering their SDK, Id Software brought to me the stuff I was lacking of, sadly later than I would have wanted. It was a huge source of inspiration. I spent most of my student years to follow my aspirations (instead of effectively studying). Since then, I’m working in a startup like conditions. I am a “low-level” developper, which overlaps with Unix oriented system administration and Internet. My work is appealing and boring, at the same time. I have a recurrent interest for molecular/evolutionary biology and artificial intelligence, which I’d like to explore.

I’m currently living in Mauritius, among the population, which has been the way to an acculturation I was already feeling and wishing for. Paris is my main french attach. I’m a generally technical and little chatty person. I’ve learned to compose with time, not necessarily to my advantage.

Did you already coded before Defrag or Wise In Death or Akimbo are anteriors to this project? How did you start modding Quake3?

Quake allows me a lot, these three projects you’re mentioning are the essential of what have been publicly released. I found in Quake2 a way to invest myself at a time where the Internet usage wasn’t as developped as it has been since. It’s for me a significative time of enthousiasm and passion, of possibilities. I’ve made progress and learned enormously. The transition to Quake3 was then quite natural.

We already know that you played at Q3A but are there some games that impress you more than others?

It’s kind of hard to tell. I played when I was young, what I remember the most are impressions in context. Maybe Sid Meier’s Pirates which emerges in a fairly marginal way, for that time of home computing (80’s). Duke Nukem 3D and Warcraft 2 marked me for the freedom of action they offered in comparison. This was the time of the “multimedia PC”, where the adjective seems redundant and grotesque. Doom, Wolfenstein, Syndicate, Sim City which predate. Later Quake3 and Warcraft III for the online gaming. RTCW:ET for a while, more sophisticated after DM/FFA. Dark Age of Camelot, Starcraft

I have an attraction for autonomous worlds such as those created or that can be created in Peter Molyneux kind of games and MMORPG, although these games always leave me unsatisfied.

Beetween us, what did you liked the most in Quake3, code or gameplay? ^^

The code 🙂 I am a programmer. Quake3 was a polished and modern game, actually more mainstream than its predecessors. Maybe not the ultimate gameplay. What hooked me besides the code was the deepness of the community and all it had to offer. It was real good times. I keep a sentimental link.

Les Défis de Fragdome aka DeFRaG

The Defrag’s genesis: can you sum us up by who and how all started?

The guy was called [flag_fr] Belzel, didn’t last long because of internal dissensions. He was the one who had the first idea and gave its name to Defrag. The concept spawned at Fragdome, it was a french news site about Quake3, generalist and accessible, mostly beginner. A “bot challenge” (recording yourself against a bot under certain conditions – and without timescale of course :p) was proposed. The challenge mutated into a trickjumping competiton in a way I actually don’t know. The first challenges were juste one trick: rj, sj, cj. The runs came shortly after.

There was a maper on board, who went by the name of [flag_fr] El-Nionio, and I also participated to the website out of curiosity, after having released my first Quake3 mod (Wise In Death). I naturally came to provide a piece of code to go with the maps. The mod was (exactly) one chronometer and two map-objects (start/stop).

So here it is, yes: Defrag has been a bot-challenge. Ehe.

And do you remember of the first version number and date of release of Defrag?

It was around Sept. 2000. Maps were the first concretisation of Defrag, independantly from the code which then came later. Four or five maps preceded it and were timed using a speaker at the end of the run, thus by hand, yep. The mod was released as 1.0 with obvious flaws because of the lack of distance from the original Quake3 code, particulary with items dropping beetween two runs. But it was essentialy a physical judgement of each submission.

We migrated to PlanetQuake a few months later, suddenly exposing Defrag to the international scene. The code started to get deeper, especially with the addition of checkpoints and the first rudimentary anti-cheat solutions. Then it was about the CPM physics and the programming has become more and more important and took precedence while in the same time the community was growning and came with its own custgom scoreboards, its own custom maps.

Can you tell why 91 in the version number and not 42?

Maybe because I’m too young to really know Douglas Adams. I’ve been liberal in the way I dispensed the first version numbers, going from 1.0 to 1.4 without intermediaries for minor modifications, in just a few weeks. As the mod and the development was becoming more complex, we settled more advanced conventions; until today those 3 numbers versions, and months of delays needed to get from 1.8 to 1.9, or now years for going from 1.91 to 1.92. :p

You probably didn’t imagine at that time the success and longevity of this mod, how do you see Defrag in 10 years?

No. It was the case for no one. Defrag has been marked by an obvious lack of foresight. It followed a natural evolution. I’ve often been impressed by the degrees the mod took, the community’s degree of sophistication to occupy and to fulfill all the niches we were failing at. Defrag addresses a much wider concept than it is. It appeared at the right time, at the right place. We had nothing planned.

Discovering thousand of maps or finding highly advanced custom servers. I see Defrag as a movement more readily than the limits of its instance, which are the mod and the development we provided. Basically, I felt amazed and overwhelmed.

I’ve a kind of reverence for the culture of modification and remix, as it exists on Internet. Not being involved as a player, I don’t know the future of Defrag.

Besides yourself, was there any “long-time” contributors to Defrag?

I’m the older developper, the one who was present at the emergence, the one who has also one day written a first line of code in Visual Studio. Defrag has been a collective work, with its famous people, its critics and its proponents. People came and went, the ideas weren’t static. Because of my unique position of seniority, and in the same time, of my distance from players, I put myself more like a referent – I am the keeper, I have nine heads. I was kidding, during a restart in 2009, to declare myself like the “Defrag’s grampa” – the feeling is real.

For the “core”of Defrag itself, [flag_us] Ozone-Junkie has been instrumental as a programmer, both for his contributions to the code and for his ability to drive the development. [flag_uk] Moomin brought his contributions a bit later, more general ones, and allowed us to polish our habits and to make the link with the online community.


Defrag introduced a lot of functionnalities (PIP, cams, ghosts, …), what is the nicest part for you?

Defrag’s value resides in its community to me. During development I liked to invest myself into the cheat prevention problem, and in various kinds of elements which finally make Defrag a coherent experience of development. I put my hands in a lot of things. The real “programming feat” to me is the cameras manipulation and the replay system, written by my co-programmer Ozone-Junkie.

Defrag has also been an inspiration for other games, like the “race” modes of Xonotic (ex-Nexuiz) or Warsow, have you been sollicited by those projects or others?

Not really. On the other hand, I’m usually not very present. I was briefly in contact with Warsow, for which I wanted to bring a contribution – further the legacy that Defrag could represent for the racing mode. I could provide some solutions to problems we encountered with Defrag. This is quite anecdotal.

A whole lot of Quake Live players would like to get a Defrag mode, this has been briefly mentionned by SyncError in 2010, have you been contacted about this topic? What do you think of this idea?

I barely follow QL. My only straight contact with Id was with TTimo and was rather hasty. This is quite insignificant. As a developper I’m totally favorable.

How is and who is participating to the development today? Does the closed-source choice remain pertinent?

The development had cycles that lack of consistency, with big depressive stages. There is an unexploited code base (1.92) and recently an active contributor, [flag_us] Marky, who brings fixes and backports some elements from 1.92. I position myself more as of a technical reference, support.

There was revival in 2009 which coincided with a desire (and ability) on my part to allocate time to Defrag, and take back what had been let fallow. I was then considerably prone to open the source. To me, Defrag belongs to its community. It’s ultimately the mistrust of the players themselves who decided upon the code’s base fate, which stayed closed. The main reluctances were related to cheat and to the fear of seeing a multitude of forks.

I often considered putting Defrag in other hands, so that the development carries on. It never worked. I am less confident nowadays. The project has a whole lot of inertia. The blunders potential and the need for precision are considerable.

The future… Can you tell us more about the development’s roadmap? Will the 1.92 branch become the main one soon? By the way, what are the differences beetween 1.91 and 1.92?

1.92 was a renewal and offered to enhance multiplayer, playing on server. Defrag was originally intended to demos and has long kept this lineage. 1.92 brought a new sight on some basic logics, in particular a new vote system, servers scoreboards, a reintroduction of timelimits, etc. A programmer ([flag_de] Berserker) contributed on his turn to a whole lot of new elements for mappers. The development then slowed down and stayed in a notorious unachieved state, hard to take back.

There is an observation, a bit sad but empirical, which is that those projects need a huge and sustained investment. The two big code contributors are Ozone-Junkie and myself, this is obvious within the sources, which are too clearly separated between our respective contributions. I programmed for Defrag when I was busy (not) being a student. Ozone had a sabbatical year when he provided the code base. It’s harder to spend time on it in a casual way and it comes with frustrations. There is another classical and recurrent flaw in this kind of context, where I’m also guilty, which is the excess of enthusiasm, and the lack of concretisation which often follows it.

There is some stuff I’d like to do with Defrag, but they’re not on the agenda. For now, I have a benevolent eye on the last contributions.

I have difficulties to imagine Quake3 in (again) 10 years. It will probably be always more hardcore.

The last word

Thanks for the interview and all, a last word before leaving?

Freestyle question? There is a huge potential among the community and the free spirit of the Internet, which doesn’t exempt it from perverse effects. But I can actually ally myself with this culture. This is probably what’s most meaningful to me. Defrag was a significant experience, and I wish that the concept keeps on evolving and benefiting to others the same way.

Comments are closed.

Comments (2)

  1. sOuSiX

    Excellent !