Fish: My name is Phil Fish and I am designer and artist on Fez.
Renaud: My name is Renaud Bédard and I'm the programmer.
What sparked your game development flame?
Fish: growing up playing and making games on my black and white Macintosh, becoming a game designer was pretty much my version of becoming a rockstar.
Then I started working in games, and the flame nearly died. That’s when I discovered the indie scene, and fell in love all over again.
Renaud: I learned how to program before making games. In fact I haven't made a serious game project before Fez, I was more involved in graphical/3D programming. But of course making something interactive and fun to play with makes everything more exciting.
What set you on the indie path?
Fish: a very strong desire to do whatever I want. A yearning for total creative control over something I care deeply about. It’s all about the love.
In this day and age, how would you define an independent game developer?
Fish: I wouldn’t. Finding out who's indie and who's not really isn't something I’m interested in. It’s certainly a label I associate myself with. I consider myself an independent game developer. But I’m not interested to know where that label ends or begins.
Every year the difficulty bar lowers on making small games. How do you view the landscape of game development when everyone can make a game?
Fish: I think the medium is going to benefit a LOT from that. Right now, only a "certain type" of person can make games. And those are the people with the knowledge and skills. And, well, it seems that a vast majority of these people are only interested in making the same crap over and over again. The day my mom can make a game she enjoys without having to know C#, it will be a great day for games.
I think the moment games open up to the masses like that, we're gonna start seeing a whole lot of new kinds of games we hadn’t thought of yet.
Renaud: I don't think it's really close to this state now. People have the illusion that XNA or other SDKs will allow just about anyone to create their dream game in a short timeline... but it clearly still requires solid programming knowledge. Even scripting or modding needs a LOT of time, focus, and structure.
And artists. Most programmers starting with simple engines lack the art to make their project come alive, and that shows in the product more often than not. So I'm lucky. :)
What’s one thing you value most about this industry as opposed to other forms of entertainment?
Fish: interesting that you used the word industry. That’s certainly one aspect of games that I don’t like. What I do like is that I’m in this very special position, at this very special point in time where games are just starting to mature and become something respectable. I’m convinced videogames is the next big dominant medium. I think I’m lucky to be making them right now.
Where and when did the concept for Fez originate?
Fish: the original idea to make a 2D/3D game came from Shawn McGarth, who I was working with on a game that would later become Fez. Then, the whole 3D pixel aesthetic just kind of happened one night. It was a flash. From there on, it was just iteration and a slow but steady evolution of the concept and aesthetic. That’s one thing that's nice about indie dev, is that we had time to let a lot of stuff just ferment and get better.
Over the course of development, what was Fez's most serious issue and how was it resolved?
Renaud: I don't think one issue stood out as "the" major issue.
Collision was a big issue, because it's not as intuitive when you work in a hybrid 2D/3D world! And I had never really worked with sliding box-to-box collision before, so there was a steep learning curve for me.
Performance was a big issue with trixels, just so because it was necessary to have some polygon reduction algorithm. And it took me about 2 weeks and many cries of help fellow co-workers and friends over MSN to figure something decent out.
And shader model 2.0 compatibility was a big issue as well, since I decided to go with hardware geometry instancing from the beginning without realizing it's a SM3.0-specific technique. Unfortunately about 75% of the world still has a SM2.0 card, it would seem. So the last couple of weeks were engine-rewrite hell.
For all those issues, the XNA forums were of invaluable help. That, Wikipedia and pen/paper.
What’s one thing you did wrong that you feel could have been avoided?
Renaud: We should have focused on the content pipeline earlier on. I should have, in fact.
The way things worked in the editor, Fish had to have a copy of Visual C# installed on his laptop to compile content that the editor exported, to something that the game can load. I view this as a problem with XNA; you can't compile XNB content files without the C# IDE!
But I could've made an application to simplify the process, just didn't take the time. And leaving Fish inside a C# editor and having to explain how it all works and debug the code remotely by email when it goes wrong (a couple of times a week) was stressful and unnecessary.
What’s something you do as a team that helps you to remain focused and productive?
Fish: since the team is pretty much just me and Renaud on production, we'd meet every other week or so at a bar or something, bring our laptops, show each other what we had been doing, and decide what we'd do next. Pretty simple, really.
Renaud: Also, we had no real deadlines in first few months, so this allowed us to let go for a couple of days or weeks, then come back to the project with fresh ideas and renewed optimism!
How long was Fez in development? How much development time remains?
Fish: it was in development for exactly 101 days before the IGF entry deadline. We made a demo, a kind of prototype proof of concept, and that was it. I’d say we prolly have around a year to go before the game's all finished and sexy.
What was used to make the game and what tools aided in development?
Fish: on my side of things, for all the art I used Photoshop to create all the textures, which I exported into Fezzer, our homebrew game editor.
Renaud: I used Visual C# Express 2005 with XNA 1.0 Refresh for all the coding. I made most content pipeline tools with XNA as well, like a cubemap assembler (for the trile textures), a volume map assembler (for the sprite animations) and the level editor (Fezzer) like Fish mentioned.
Is there anything about Fez that you would like to reveal to other developers?
Fish: I’m very proud of the fact that Fez is being made (mostly) by 2 guys, in their spare time, for and with absolutely no money.
Renaud: With the huge intro screen images and sound/music removed, the game weighs 848kb! And I blame that on my poor use of XML, because it should be closer to 500kb. It's that small because the textures are microscopic of course, but also there is no external geometric content. Everything is generated procedurally!