A Talk With Derek Adams

angry.png

A few of us dream about creating our very own video game, fewer of us actually work towards it.  I was very lucky to have the opportunity to take some of Derek Adams time away from developing his first public release game to ask a few questions regarding game creation, copyright issues, engine building and the indie game scene.

Pixel Response:  What is it you currently do for a living?

Derek Adams:  I am actually a student right now at Iowa State University.  I graduate at the end of the semester.

PR:  What are you majoring in?

DA:  I’m actually an English major.  I have a Computer Science minor, so I went through most of the classes involved in that but at one point decided that the higher levels of Computer Science just hold no interest for me, mostly theoretical and very complex math, so I decided to switch over to English.

PR:  Would you say what you have learned in Computer Science has helped you with what you have accomplished so far?

DA:  The things I learned in Computer Science is probably the most useful stuff I learned in college but I didn’t want to continue down that path because I knew that the course later on wouldn’t be as useful to me.  I learned a lot of the more complex stuff about programming in those first couple of semesters and decided that was enough.  The majority of what I learned is on the foundation of those early courses but the experience is all self-taught, especially in relation specifically to game programming.

PR:  You began after high school with your friend on a project called Ardor of Shadow

DA:  Holy crap, you found that too, huh?

PR:  Of course.

DA:  Yeah, that project is about 10 years old now and that is long-term.  That is the game that he and I always WANTED to make and it’s supposed to be our magnum opus, really.  When I’m comfortable with my skills, it is what I would like to do.

PR:  It’s rather ambitious to want to create an RPG as your stepping-stone into game development.

DA:  I haven’t even really considered starting on it, at least as an actual “game” programming project, but I did some engine mock-ups, enemy AI, general stuff.  The amount of work that goes into an RPG is… staggering.  I think it is probably the most complex kind of game there is to program.  Modern games like Batman: Arkham Asylum are immensely complex, obviously, but a lot of that goes to physics and graphics and effects, but in terms of just raw engine programming, I think RPGs have it beat.

PR:  Does it give you a new appreciation of RPGs you’ve played in your lifetime, knowing what goes into it?

DA:  I think it has the opposite effect.  I find myself critical of other games, so Ardor represents the game I would REALLY want to play.  I just bought the new Vandal Hearts game on Xbox Live Arcade and there are so many things wrong with it and I am trying to figure out why I’m still playing it, because it’s still enjoyable, but all the things I don’t like stand right out to me.

PR:  What are you going into Ardor with so far, besides the idea that you are making the game you want to play?

DA:  That’s a back-burner thing because right now the amount of work that’s going into Six-Chamber is immense.  I really wanted something done and playable for when I graduated, which I don’t think is going to happen now but all my efforts have been going into that and if I allowed myself to work on Ardor nothing else would get done.

PR:  Would you hope Ardor to be your final masterpiece someday, then?

DA:  Yeah, it’s something I’m always thinking about, I mean when you have something that is 10 years old you don’t stop thinking about it, but I’m not actively working on it in any programming capacity right now

PR:  Your second game was Metroid Lightspeed, correct?

DA:  Yeah, and I think that represented a pretty good starting point, because if RPGs are the most complex then shmups are probably the easiest.

PR:  What would you say you got out of Lightspeed?

DA:  I learned a lot about programming techniques, how to deal with different levels of things going on in the game.  You have your particles and you have your enemies, keeping their behaviour separate, trying to learn how to load stages when stages are stationary but with swarms of enemies.  I think that game probably had my first attempt at a particle engine and it wasn’t very good.  Graphically it turned out alright and I got the desired effect but, in terms of efficiency, it wasn’t that great.

PR:  So you would consider Lightspeed to be your first real victory in game creation?

DA:  Absolutely.  It was the first thing I ever produced that I could just sit down and play with.  I don’t do it anymore because when I upgraded to the new version of XNA the project importer didn’t copy things over correctly so I don’t actually have a working code-base for it but if I wanted to, I could recreate that game within a month with improvements.

PR:  Megaman HD.  This is the one I started following before I knew about the previous games obviously, since you didn’t release Metroid Lightspeed

DA:  No, I didn’t release it because I never ended it.  There was an endless mode, but at that point XNA didn’t have Xbox Live distribution so it would have been released for PC if it had gone that far and I was also pretty afraid of copyright issues so I kept it to myself.

PR:  Right.  With Megaman HD I remember reading that to start it you used source code?

DA:  I found it online.  Yeah, I was looking at the original code just to get a sense of how things work.  I didn’t actually translate the code into a useable language but seeing how things were handled with 8-bits was interesting.

PR:  So, from that you learned how to create your own engine to help yourself create Megaman HD?

DA:  Sort of.  I learned some things specific to Megaman about how to deal with enemies and enemy health and weapons energy but most of the engine programming came from a tutorial I found on Ziggyware, which was a really good site for XNA tutorials.  The basics of the engine were very simple, maybe two pages of code.  It didn’t do much, it basically was about handling collision between non-rotated rectangles, but it formed the foundation.

PR:  With fan projects, like Megaman HD, copyrights and trademarks are at risk of violation. Thinking specifically about Square Enix and the Chrono Resurrection fan remake, studios usually aren’t in favour of this so were there any specific fears relating to this as you worked on it?

DA:  Nah, no one actually contacted me and told me “Stop doing this” but I was a certain distance into Megaman HD when Xbox Live support was added to XNA and I realized once I actually had the option of releasing the game on Xbox Live and maybe making money on it, that was the catalyst for me to think of doing something of my own because I certainly can’t make money off of Megaman and Metroid.

PR: …This brings us to Six-Chamber Quicksilver.

DA:  Yep.

PR:  Why don’t you tell us a little bit about it?

DA:  Initially it started out as a change of the game assets to a platformer.  I was actually on a road trip with my wife and asked her what setting I should have.  “You should make it a western, because there aren’t a lot of western games”, she replied and she’s right.  It has evolved past that point since, for reasons I may come back to later, but it started off as a cowboy gunslinger in the desert and that’s all I had.  I started doing up some really simple art up for it and plugging it into the engine.

PR: The engine you created for yourself for Megaman HD?

DA:  Yeah.  If you look at the very basic entity class and walls and the world class it is almost identical.  I completely rewrote it a few times, the core elements are identical but it’s very much the same.

PR: How does it feel working with an engine you created for yourself?  Do you ever wish you could have used a pre-existing engine or template and plugged you own art into it and gone from there?

DA:  When I started at the beginning, even before Metroid Lightspeed, I thought about using some pre-existing engines.  I tried using torque game builder, some 3d engines like ogre, but the problems with that is you go into it and there this huge amount of code that belongs to someone else that you don’t know very well.  I really liked the ability to look at the code tutorial and look at it line-by-line and know what everything meant in there, especially by the time I had rewritten it three or four times.  I realized it was the way I wanted to work.

PR: Yeah, so that way you could have complete control over what you did.

DA:  Yeah, because when you’re trying to work with an existing codebase and you don’t really know what you’re doing at the time, it’s very difficult.  Also, C# is an object-oriented language and a lot of the engines I found were more scripting, which to this day I’m not a huge fan of.

raysevolution.png

PR: What is the future of Six-Chamber Quicksilver?

DA:  I’m working on it every day and am currently trying to get the gun working.  I have the melee attacks integrated for a standing combo and crouching but I have to do a jumping attack, which has been difficult because for most actions you can act it out yourself and see how the body moves for the 3D skeletal animation which is difficult for a jumping-swing.  I just wrote some code that will figure out if a ray intersects with a rectangle, so when the gun fires, it’s not the matter of a projectile actually travelling, it’s just instantaneous.

PR: Not many people who plan to release a project into the public eye feel comfortable showing an unfinished product; you however have posted your progress almost step-by-step.  What has the reaction been like?

DA:  I don’t get messages to often, just occasionally when people want to say “cool” or “hey, nice game”.  I post my progress on the Penny Arcade forums with some regularity because that’s the biggest online community that I am apart of and they have an XNA thread there that I have dominated with questions for other programmers and videos of my stuff.  I know that a lot of people are very protective of their ideas but it is my opinion that, especially in indie game development, it’s more about execution than ideas.  If you were to tell someone else make a steam punk, “Metroid­­vania” game with a female lead that uses a gun and stun-baton, it’s not going to necessarily help them make a good game knowing my ideas.  I’m not worried about people trying to take my ideas.  I’ve always been a fan of open-source projects, which Quicksilver won’t be of course, but I don’t believe there is anything to be gained by secrecy by the developers.

PR: I agree.   A game like Flower is simple in concept, and you could tell someone to make a game where you play as the wind, but it’s the execution that makes it such a wonderful experience.  The thing that makes good indie games great isn’t so much the story or ideas but how it’s executed by the individuals who have a love of games and want to try something new.

Since you’re the only one working on your projects you fulfill the role of art director, artist, writer, production and programming.  What role do you find most enjoyable?

DA:  It depends on the project.  For Ardor, the joy I get out of that is creation, building the world and characters, coming up with the plot and places.  I think that’s largely because I haven’t done the programming on that yet.  With Six-Chamber, a lot of the fun has been taking it from a concept to a playable game.  I really like the programming.  I hadn’t done much with 3D modelling until I started recently the 3d videos for Six-Chamber and it’s been a lot of fun to learn modelling in 3D.  I think the programming and modelling for Six-Chamber were the most fun for that… there isn’t a lot of story to the platforming genre overall and that’s not really the approach I’m taking.

PR: What was the move to 3D like?

DA:  I was a nightmare, honestly.  I knew the benefits going into it and that’s why I made the decision.  When I was doing the sprite work for the 2D version, it was mind-numbing because you have to redraw every frame of animation.  I would post my animations to the Artists Corner on Penny- Arcade, they’re a pretty merciless bunch and it seems even with very simple animations there was something to critique and I realized that creating them and having someone saying “It would look better if you did this a little different” and then having to start all over was taking too much time I could spend programming.  I knew that with 3D I could animate a model and move it around without having to redraw it every time, but getting it to actually work was terrible because all the game play was still 2D so you have all these 2D hit boxes that would not line up.  Matching up two systems of visual representation… ugh, I’m glad I’m done with that.

PR: Would you ever bring other people in on a project, such as Ardor, with specialties for the game?

DA:  At this point I haven’t contemplated it a lot.  It’s a matter of me being in the job market soon and if I got into the game industry I would love to make [Ardor] professionally and to have professionals working on it but when it comes to commissioning people as an indie game, I don’t think I could afford it.  I have a great deal of respect for talented artists, know what their time is worth and couldn’t afford to pay them for the level of quality I would want for it.

PR: To wrap up, what have you been playing lately?

DA:  Well, game development has eaten up most of my time so I haven’t played many “Triple A” titles recently but I play a lot of downloadable games and demos.  Like I said I just got the new Vandal Hearts game and I don’t know how I feel about that.  The last game I got before that is an indie game called VVVVVV released by Terry Cavanagh.  It’s really simple, like Commodore 64-era graphics and the idea is you don’t jump, you just reverse gravity and can only do so while on the ground which makes it a well done gravitational puzzle you must navigate.  I also got Scribblenauts which I thought I would have more fun with that I actually did.

PR: The problem I’ve heard about that game is that it doesn’t always work the way you want it to which hurts the game play experience.

DA: Yeah and there is a certain point where you realize every problem can be solved with a Unicorn and a Black hole and it’s not fun anymore.

PR: What is your favourite RPG?

valkyrie_profile_2__silmeria.jpg

DA: The one that comes to mind is Valkyrie Profile 2.  I love that game so much.  It’s the first that comes to mind but I don’t know if it’s my favourite.  There is the safe answer of Final Fantasy 6 or Chrono Trigger but I would have to say, if you take nostalgia into account, Xenogears was my best RPG experience I ever had.  I couldn’t go back to it and have the same experience because I know it hasn’t aged well but it was the RPG I enjoyed most while playing it.  I enjoyed Final Fantasy XII too, not so much the individual characters or story, but I like the way they made ally AI part of the game almost like a mini programming engine.

PR: Have you played Mass Effect or Mass Effect 2?

DA: I played the first Knights of the Old Republic, but that was it from BioWare.  I think it’s because the games I enjoyed most as a teenager were all JRPGs and that’s the type of game I want to make.  The difference between JRPGs and Western RPGs has always been stark in my mind and there is something about the aesthetics of Western RPGs that doesn’t appeal to me as much, even though I have grown weary of the anime art-style.

PR: If you’re really into narrative, you would really dig Mass Effect.  They created a whole universe and the games just take play in the universe, the universe wasn’t created in the game.

DA: Yeah, and that’s the approach we took with Ardor.  All the material on it is all about the characters and places and events and there is very little about the actual game itself.  There is just something nice about being able to imagine a game that stretches out and before the first hour of game play.  It feels more immersive.

PR: I think we’ll end there.  Thank you for taking time to talk to me and I look forward to more Six-Shooter Quicksilver.

For more information on Derek’s work, check out his site at http://www.delzhand.com
For video progress, subscribe to Derek on YouTube