Wednesday, May 9, 2012

Interview with Alessandro Ghignola (aka 'Alex')

Some people say Braid, Dear Ester, Amnesia, Planescape: Torment, even Doom 3 (seriously what were you smoking?).  But when the tired old "games as art" discussion comes up, I always think of Noctis IV.  For those who haven't read my review of the game, Noctis IV is a freeware space exploration simulator that focuses on creating a unique atmosphere of awe-inspiring loneliness.  Since I recently did a email Q/A with Ken Silverman, I decided to take advantage of my interviewing momentum and see if Noctis's creator, Alessandro Ghignola (known to the internet simply as 'Alex'), would be willing to talk a little about his games, his philosophy, and the creative process that produced such a uniquely effecting game.  If you'd like to see more of what Alex has produced, visit his website here. 

Jefequeso: Your games exhibit a noticeable amount of artistic thought, yet you also seem to be a very technical programmer.  Do you have any thoughts about the relationship between the sort of mathematical logic of programming and the abstraction of artistic expression?

 Alex: I'm a bit surprised to see that my personality had already managed to surface that much out of what I consider, today, to be early works. It seems I've always been a sort of two-sided kind of person: one side likes to be creative, walk new roads, reject all suggestions; the other side likes it much more schematic, likes to plan, admires the technical aspects of a project, longs for order and strives to achieve its own idea of perfection. Talking of the relationship between logic and artistic expression, I already heard that question and I remember how I answered it. It was in 1996, part of the final exam for my high school diploma: it involved writing an essay on the relationship between mathematics and poetry. I think they might still have a copy of that. Anyway, I ended up talking of artificial landscapes, praising procedural generation where a pseudo-random number generator could manage to extract a complete natural landscape from a single number, its "seed", therefore demonstrating the possibility of having algorithms to teach computers how to be "creative". I have no idea how much of that was understood, but it made a good impression. Later, the relationship between the artist and the programmer I seem to bundle together, became less clear and more turbulent. Through the years following 2000, I can sincerely describe it as an open war, and so far, this state of war didn't do much good to my productivity. The "perfectionist" poured out its idea for his "perfect" language to work with, through years attempting to improve it and always finding it less than perfect. The "artist", on the other hand, wished he could just move on. Both pulled their same rope with equal strength, leaving me with no clear idea on what to do and how, and as a result, many later works remained incomplete, or underwent extensive refactoring as I kept changing my mind (which has been quite troublesome in the case of 

J: Do you yourself play Noctis IV anymore? 

ANo, I don't play it anymore since many years. When the time comes to update its internal archives to reflect players' contributions, I just unzip its package, replace the files with their newer versions, re-zip it back and upload it to the server. That's really all I kept doing since at least eight years ago. 

J: I'm not sure how closely you keep tabs on the videogame industry.  Are there any recent games you've been particularly impressed with, or that you feel reflect your own philosophy of game design?  Do you consider yourself a gamer? 

A: The first part is easily answered: not at all close. So I'm not surprised that I didn't spot recent games which impressed me because of their innovative gameplay: I just didn't look for them thoroughly enough to eventually find some. To the last question, I'd answer no. I can have fun sometimes, but it seems to be mostly incidental and never lasts much. 

J: Someone on the forums recently described you as being one of the few "true expressionist programmers," in that your coding is as much a form of self expression as it is problem solving.  Do you agree?  If so, could you talk a little about this? 

A: I totally agree. In my case, programming has always been a form of self-expression, before everything else. I've always been telling, to myself and to others around, that the final goal of all my work, from self-made development tools, middleware and libraries, to the final applications, and in particular to games and simulators, is that of "telling my dreams to the computer". This form of expression is pretty abstract, or so I see it: it isn't the equivalent of creating a highly detailed painting, it's more similar to a wish to teach someone else (the computer) how to paint, and then have fun watching the results. So, I tend to set up the atmosphere, the concept behind the portrait of an imaginary reality, and then let the machine take care of the details. In terms of personal motivation, perhaps it all boils down to this: if I had to design a game with well-defined sceneries, modeling and placing every object in the game's territory, and outlining a detailed storyboard, I would end up with a more conventional game, but then I'd never have fun playing it myself. 

J: How do you approach your game design?  Do you think in terms of mechanics, scenarios, feelings that you want to capture, or technical goals?

 A: I guess this was in part answered above: it's essential, to me, that a game might be fun for its creator(s) as well as for players to play. So that's definitely my first thought: asking me whether I'd find a given game concept as interesting or fun enough to pass time with. And in fact, even though I don't play Noctis IV since such a long time, I'm the first to admit that I passed quite a lot of time playing it, other than developing it. At which point, the fact that I'd consider something "interesting" to play relies mostly on subconscious stuff. It really is a matter of inspiration, there is no planning of the original idea. Noctis itself was born out of a short and simple stellar field simulation, where stars were just dots on the screen, and from the subsequent desire to give them procedurally-generated planets and their surfaces, on itself leading to the massive curiosity to explore the results. Another one I could mention is "Dust". Dust was coded in the same couple years I coded Crystal Pixels: it simulated a cubic box full of water, where grains of dust floated free, when not disturbed by small devices installed in the box, among which a small fan and an electromagnet. You could even turn the box upside down. However, what was most interesting for me there, is that you were meant to play as one of those grains. A small, insignificant entity in a world completely out of its control. Dust was very probably a picture of my way to see existence, but did I plan it to be so from the beginning? Not that I know. In a nutshell, they way I approach game design is completely automatic: something thinks about it, somewhere behind my eyes, but I only get to interpret the result once I have the full picture. It's just like with dreams: first you dream them (in my case, looks like I've been recording some of them in the form of source code), you find them initially cryptic but strangely attractive, then you may try and see what they wanted to tell you, and why you found them interesting. 

J: Crystal Pixels is, by all accounts, a highly unique game...or perhaps it's more accurate to call it an "experience."  What was your goal with it?  What sort of thought process did you have going on while you were creating it? 

A: Crystal Pixels was different from both Noctis and Dust, but still, as usual, mostly unplanned, or at least not rationally planned: it was likely meant to be a hiding place, a microcosm working as a safe haven where I could build a very quiet and solitary world to hide in. I can really only guess the thought process, but other than a quest for solitude, it probably reflected a mildly depressed state I had found myself in, which guided a selection of uniquely cold colors. It probably succeeds in communicating a feeling of detachment from reality, emptiness, and sadness. And still, I was liking the places I could reach in there, since they were "in sync" with my feelings. There's a follow-up to both Crystal Pixels and Noctis IV, that may be interesting to note: while those works were dominated by loneliness, more recent works concentrated on establishing communication. The first product following Noctis IV was something completely unexpected (I was expected to code Noctis V), and surprised me before everyone else: it was a browser-based, massively-multiplayer role playing game. "What?" - I kept telling myself - "That's not what I was meant to do, and it's nothing I ever did before! Why?". It was never brought to a finished state, but it did suggest me something: that I didn't like to focus on lonesome realities anymore. 

J: I've always kind of felt that Noctis IV's low resolution, while sometimes irritating, contributed a great deal to the game's sense of mystery and wonder.  Do you agree?  Was this the intention, or was the low resolution simply a performance/technical decision? 

A: I really have no idea whether it contributed or not to its atmosphere, all I can think of is that, today, there's something I don't quite like of the video game industry: the graphics, it seems to me, looks the same everywhere. For what I remember seeing, you still stumble into polygons, into choppy shapes covered in smooth textures stretching beyond their  physical resolution. I bet they improved with time, but rarely dared to turn the tables around and show me something new. And perhaps the limited resources (the good old 640 KB that should have been enough for everything, apparently including entire galaxies)  and its handcrafted software engine, to today's audience, translate into a feeling of facing something which looks and feels in fact different, maybe even more mysterious than it would be if it used today's standards for its graphics. But yes, the low resolution of the famous MCGA, with its 64,000-byte memory window mapped at real-mode segment 0xA000, was all Noctis IV could reasonably hope to use, giving the 16-bit MS-DOS environment it's always been living in: my C compiler of that time wasn't supporting 32-bit platforms, so protected-mode extenders weren't really an option. Even just using 32-bit registers to hold data (not memory addresses) was tricky enough to require machine-language snippets within assembly listings, on themselves packed within the rest of the C code. Those were... fun times. 

J: On a similar note, can you talk a little about Noctis IV's graphical engine?  It exhibits a surprising number of impressive visual effects, especially in its lighting.  I'm not even sure what the appropriate questions would be to ask about this subject, but I'm interested in hearing anything about it. 

A: Well, then I'm not sure about any specific answer, but I can describe it in general. Its "engine" is a mixture of sparse libraries. Planets and stars, for example are textured as pre-projected spherical maps. I don't know how many remember Quicktime VR, but I guess wikipedia might have an article on that for those who never heard of it. QTVR worked by projecting a scene (a composite photograph) over a virtual, spherical screen, splashed on the physical flat screen. Well, Noctis planets work the other way around: they get a rectangular raster image and wrap it around a sphere. This is convenient in terms of speed because, if you can tolerate losing realistic, perspective aberrations when the sphere is significantly off the center of the viewport, the spherical map can be entirely precalculated, resulting in a rendering that was very fast even on my 486 of those times. The reverse (projection of the inside of a sphere) was used for skies on the surfaces of planets. Then there was a polygon engine taking care of drawing the heightmap constituting the surface itself. The polygon engine was pretty simple, but again pretty fast: it didn't even perform depth buffering (I doubt I could find enough memory for the buffer anyway), it just relied on the painter's algorithm and minimal hidden surface removal of one-sided surfaces. It was optimized enough that it could afford texture mapping of arbitrary-angled polygons, at about 1 division every 16 pixels. Where more detail was a good idea, such as to simulate grass on terrains, an additional texture layer was overlaid to the "ground" texture, in a sort of very simple kind of bump mapping. The 256-color palette was split into four gradients having 64 brightness levels each, which finally enabled blur effects; in particular, the "vimana drive" effect seen while traveling through interstellar medium was obtained by using an off-center blur filter over a persistent canvas. In practice, the effect was repeated each frame without clearing the previous frame, leaving trails whenever an element moved through the screen. I don't sincerely remember much about the shading of polygon surfaces, but I guess it was plain-color shading, driven by the angle of incidence of light sources. What more? One nice addition was the use of concentric, semitransparent lines to create halos around the light of stars, in such a way that - in my idea of that time - would mimic more the effect of light passing through an organic eye, rather than a camera's lens flare. 

J: Have you ever considered selling your games? 

A: Not really. I suppose once you get paid, you begin to be supposed to bring a given game to include a given set of features. So long to freedom? But I suspect there's more to this: in general, I've never been sure of what I'd like to do in life, so I kept tending to avoid getting stuck in "big" roles. Exactly because I fear they'd trap me. Turns out, I'm not even sure I'd like to be a programmer for life, let alone developing a specific product. In the last couple years I've been installing content management systems, not at all an enthralling activity, but quick and anonymous enough to let me slip out of it without facing too many consequences. Now I have some rough plan for the future, whereas I think I could make a point of my roaming interests and simply mix whatever comes to mind in a single, massive application. But it's all still pretty vague. 

J: Do you have a favorite game (not your own)? 

A: Of course I do. It's Damocles. Also known as Mercenary II, by Paul Woakes of Novagen Software. I used to play it on the Amiga 500 when I was 14. It featured a complete stellar system you could explore in search of clues helping you through your mission (saving planet Eris from colliding with Damocles, a comet). But most of the fun wasn't in blowing Damocles to save Eris (or even the other way around: blowing Eris to save Damocles, which was awarded anyway for reasons that I don't actually remember, or even finding a magic wishing crystal to wish that both were saved by altering the comet's course). And it wasn't even in all those alternate ways to end the story. It was in exploration, definitely. Surprisingly, also, without even making use of procedural generation, the authors managed to strip the entire territory down to a single 1.6 MB diskette. Reminds you something, doesn't it? 

J: Do you have any hobbies outside of programming (you've probably answered this question somewhere else, I realize)? 

A: Several, most of which are uncommon. Their common factor seems to be creativity. I tried to write novels (as of yet never published anywhere), I like drawing in free hand with a pen on paper (sometimes digitally coloring the result), and then, although much more rarely, there's those absurd inspirations driving the assembly of unusual modes of personal transportation featuring electric motors, but... to play it safe, so far I wouldn't mention anything more than my trivial e-bike. That's fun to ride, however. 

J: Do you see yourself primarily as a game designer, a programmer, or something else? 

A: When people ask me what I do in life, I answer that I'm a programmer, but that's only to make a long story short. That sure is the activity I passed more time with. The real answer is that I don't know yet, how I see myself. On certain occasions I described myself as the product of a macroscopic, quantum superposition of states. Like a not-yet-measured property of a subatomic particle, I seem to exist in a variety of roles and unchosen, undetermined futures. And the worst of it is that I seem to have strongly feared the measurement that could fix my reality, ending up in crippling regrets comprising all things that could have been. I just hope the feeling can grow to a point where it beats the fear and finally starts my engine for good. But as I learned, it needs to be a hope, not an order.

J: What program are you most proud of?

A: Oh, sure! It's... wait, perhaps... you know? Looks like I'm not sure. There seems to be none. But I don't mean that I'm not proud of any of them. It's just that they're so different from each other, and each of them brings with it a concept that I equally wished to express, that the sole thing I could think of being proud of would be their sum.

J: As you know, I reviewed Noctis IV recently.  I'd be interested to know if there are any points I made that you disagree with, or things you feel I missed (and please, don't be afraid of offending me.  I really would like to know).

Believe me when I say that I could only praise your review. I just can't find anything missing in there. Instead, I'm surprised you managed to pinpoint the same in-game circumstances that used to make me proud of how it came out. I refer to your list of those moments where you feel "vulnerable wonder". I'm glad to see you noticed that the possibility to turn on and off the stardrifter's internal light was something more than just a way to fill a menu option.

J: Within the last week, you mentioned that you've gotten back into programming.  Now, I don't want this to sound like pressure, and I don't expect a definitive answer, but... what do you think about the future of Noctis V?

A: That it will be back, before or later. It keeps living in a corner of my mind, on a sort of unwritten post-it note. But it's there, ready to strike as soon as it gets an opportunity to incarnate. So far, it just didn't find that opportunity. While ideally coming back at work, what I have today looks to me like a wreckage of half-done things, consequence of my wildly shifting interest. Ultimately, after one side of me spent several years attempting to "tame the beast" on the other side, it seems I'm just letting things be. It's early to say if that will finally yield results in the form of finished products, but let's just not give up hopes yet.


  1. There aren't any comments on this yet? Wow.

    Uh anyway this is awesome. I love Noctis more than anything, ever. Not as eloquently as you, but it's just great awesome amazing auuugh.

    Anyway, thanks for doing this interview! I really enjoyed it.

    Alex: I think you've created something beautiful with Noctis IV, and if Noctis V ever becomes something you want to create then I'd probably the most excited person in the world. But if not, I'm just glad to know you're still around :D

    1. I'm really glad I got to do this interview. Alex has some very interesting and thought-provoking things to say about games, and it was heartening that he reappeared on his site around the same time. I think that we need his work to remind us that games can indeed be very personal artistic statements, without resorting to the concrete.

  2. Had tried Noctis long long time back and after many years today I thought of searching for the status of it and any news about it after getting back to emulation and starflight. Nice to know that Alex is still thinking of Noctis V.

  3. Alex seem to be a polymath, a genius. It is a bit sad that he doesn't put more time in making games since what he do make are brilliant. I have been waiting for Noctis V for 10 years now, and I have given up all hopes. Instead, I am looking forward to Notch's game 0x10c, and I really hope that game will be what Noctis V never became.

  4. It was really interesting topic and it seems to informative details. Pretty amazing published article.
    wholesale incense

  5. I messed around in Noctis IV for many hours years ago. It was strange, yet captivating, and kept checking for Noctis V, which of course never came. Which saddened me, as Noctis IV remains one of my most memorable computer experiences to this day. Really happy to see that Alex has not given up hope on Noctis V. Neither will I.

    Oh, and really a great interview! I enjoyed it immensely.

    1. Whenever Noctis V is released, I'll be among the first to play it :)

  6. I discovered Noctis less than a week ago(through TVtropes)
    and it looked like it was dead at the time.

    It's a relief to know that Alex might still make Noctis V.

  7. Alex, you need to start a kick starter page and get machinima to do a story on it. I bet steam would pick it up as well even if you just wanted to give it away you need to be able to live and pay the bills. It has enough of a following just waiting to support you in this I bet you could do this with no fear of losing your home if you quit your day job for this. Even just take a leave of absence... But please do something

  8. This comment has been removed by a blog administrator.