Friday, May 5, 2017

Game Developer Interview - Noah Kellem - Modeler

Today, the developer team interview is with Noah Kellem, the main 3D modeler on the VRoom project. There's an audio version posted, and a transcript posted below it.
As usual, it's just Robert Bailey and the developer.


[RB] Hi, this is Robert Bailey, the producer and creative director on VRoom, a car combat game from Falling Tricycle Games. Here today with Noah Kellem -

[NK] Hi!

[RB] the lead modeller on the project.

[NK] Hi!

[RB] Do you want to introduce yourself?

[NK] Uh, yeah, my name's Noah Kellem, I'm the lead modeller on the project.

[RB] Fair. So what got you into games?

[NK] I got my Xbox 360. It wasn't my first game console. I grew up on Playstation and Playstation 2. But I got my Xbox 360 a long time ago, I was 13. I played Halo 3 at my friend's house, one night, and I decided I needed to start playing this game. So I bought an Xbox 360, and then I had my bar mitzvah, and you get gifts for your bar mitzvah, and one of my friends got me Bioshock! And so, that was a game that I didn't think I wanted to play. It was rated M, and I was 13.

[RB] So is Halo.

[NK] Exactly, but Halo wasn't scary. At least to me. Bioshock seemed scary, so I didn't want to play. I think I had it on hold for six months. And then I finally, I heard really good things about this game, I should play it, I should get into it, and then I got completely immersed. I love the story, and I love the character development, and everything about the entire game was amazing to me. And that's what made me decide to really want to be a game developer.

[RB] Does Bioshock stand out as a favorite game?

[NK] Yeah, it's up there, for sure, in the top five. If I had to make a top five, I'd put the Mass Effect franchise, as a whole, up there. In no particular order, but uh...Mass Effect franchise up there, The Last of Us, as Rob knows I absolutely love that game, then Bioshock, Bioshock Infinite, I could probably say the Bioshock franchise. Besides 2. 2 was fun, but not great, story wise.

[RB] To me, Bioshock 2 had the best gameplay of the series, but like -

[NK] Yeah.

[RB] the story is...present. It's funny with the Bioshock story, that's funny. My friends were always like "You should play Left 4 Dead," and I was like "I don't want to play a horror game!"

[NK] Yeah!

[RB] I played it in high school, and was like what?

[NK] That's it?

[RB] Yeah, it's just running through and killing everything. This is great!

[NK] It was good. I wasted so many hours on that game. Loved it.

[RB] What type of projects have you done in the past? Game or otherwise?

[NK] That's a good question. I've made a lot of games I think, uh no, I haven't, I haven't made a lot of games [laughs]. Let's be honest here. Worked on things for class projects, mostly. My favorite were the analogue games that I made. Rob was on my team for a lot of those. So he can personally witness my level of involvement with those things. I loved them. Just this past year did a lot of web projects that I really, really enjoyed.

[RB] What type of web projects?

[NK] Yeah, did a web audio visualizer, like everybody else in this major. Tried to spruce mine up a little bit. Made it look like a radio instead, er...yeah, a radio. Old timey stereo kind of system. Had speakers on the side, displayed who, what was playing, who the artist was, and then various options you can do. That was a lot of fun. Right now I'm working on a speech-to-gif searcher. I'm just calling it speech to gif, it's not speech to text. Yeah, that's fun.

[RB] Do they have to pronounce gif the proper way?

[NK] No, they don't. Actually I wonder? I've never actually tried to say gif (ed: soft g) into the speech API, so maybe it'll recognize it as gif (ed: hard g), since it is the internet. And people on the internet made it.

[RB] Let the code decide.

[NK] Let the code decide, that's not for me to say.

[RB] So, what do you do on VRoom? You're the lead modeler, but what's that mean?

[NK] That means that I am mostly in charge of making all of the 3D assets that are present in the game. So everything the player will see, essentially, and interact with, is modeled and created by me. The steering wheel, the car, all that's got to come from somewhere. So you use software like Maya or Blender, I personally use Maya because it's what I know. You take either a cube or cylinder and essentially keep adding vertices to it until you make it into what you want. 

[RB] Cool.

[NK] Cool!

[RB] Everything's just rectangles right.

[NK] Yeah, I just make boxes. Just varying levels of boxes.

[RB] Boxes all the way down. What got you interested in the VRoom project?

[NK] I bought a Vive. [Laughs] I had debated back and forth with buying one for a very long time. At one point, I was like "that's too much money, I really shouldn't, that'd be extremely irresponsible of me." And then one day, I was looking, and I was wondering what they were selling for on eBay. And I found one that was selling for $750, which, still extremely expensive, but it was $750 flat rate, and I didn't have to pay for shipping, and there was no tax on it, so I was saving at least $250, and I bought bullet. I'm basically a spoiled child when it comes to me and my spending habits. So I bought that, and I fell in love with VR. I thought for a little while that I wanted to just make VR games for the rest of my life, so when I heard VR project, I hopped on that. Real fast.

[RB] Yeah, funny enough, knowing you had a Vive was one of the reasons I went through with the paperwork. Worst case, I know one person.

[NK] Know one person that can test it!

[RB] So what are you looking forward to with VRoom in general?

[NK] Hmmm.

[RB] I know we're coming up on the final hours of the project type stuff.

[NK] I really just hope people find it enjoyable. I mean, you make a game, and that's really what you want it to be. You want it to be fun, and you want people to like it. Because you also spend a lot of hours putting into it. And it's not necessarily a representation of who you are, but you gain a slight emotional attachment to it. And you want people to like it because you think that means they like you. Because art and artists sometimes don't get separated as much as they should. But I understand those are different.

[RB] Says the man with the mixtape.

[NK] What's up?

[RB] Says the man with th-

[NK] Says the man with the mixtape, yeah I get really offended when people don't like my mixtape. I remember I recorded some songs for a couple of students last semester that were taking an audio course that was all about that. And one of them, afterwards, says "I don't really like his singing!" And I was real offended. I was like dude, find yourself someone else to find songs for you. "I think he could ha- he couldn't have done much better, he's got a bad voice." I was like, "dude, hm, okay."

[RB] So looking forward, not just this project, but long term - I don't know why, that's an awful segue.

[NK] Whatever. I just want to work on websites. Or web experiences, mostly. They don't necessarily have to be games. I'm kind of over games. I thought I liked them at first, but they are a lot of work, and that's not necessarily what deters me from them, but I lose motivation to work on them quickly, at least in terms of the coding aspects. I really don't have the drive for it. At least in web projects, I really, really have the drive for it - I like the fact that I can at least see what I'm doing immediately, there's that immediate feedback of what you're doing, having it impact the overall state of the project. A lot of what gaming is is back end coding, at least when you're making your own game engine which is the standard thing to do. A lot of it isn't necessarily immediately reflected, and it's very behind the scenes, and I really cannot stand backend coding. I can't do it, my brain is not wired that way. I do not like those kind of problem-solving skills, er those kind of problem-solving,...those kind of problems! [Laughs] Front end to me is where it's at, and I think web provides the best platform for me to be able to really contribute and reflect my passion for front end coding.

[RB] I want to say cool, but I feel like you'd just yell it back at me again.

[NK] Cool!

[RB] I need new words.

[NK] Awesome, um...yeah.

[RB] I was gonna say, you're just gonna go straight into dead air!

[NK] Cool. Cool!

[RB] So with the web stuff, you're not into back-end type stuff. So are you interested in server architecture and those types of things? Or more just making that front facing user experience?

[NK] Servers are interesting to me. I definitely don't want to shy away from server programming, purely because it can allow you to do a lot of things with your service that you wouldn't necessarily be allowed to do otherwise, if you're working purely on the client side. So I am sort of interested in it. I'd like to learn more about it before I make a firm commitment on my level of endearment for server programming. But what we've been doing, at least in class, has been interesting to me. Albeit, I don't really understand a lot of what's going on. Like headers and putting things out to make things work somehow, magic. Server magic makes no sense to me so far.

[RB] I feel it's one of those things in our previous course - "here's JQuery, we'll learn about it later. And here's Javascript, we'll learn about it later." And then the next class is "and here's everything you need to know."

[NK] That's definitely what it is. I want to take it.

[RB] Turning it back onto VRoom, anything standing out to you on the project?

[NK] Ummm....

[RB] Good engine noise.

[NK] [Loud engine noise] The sound design. Because it was done by me and you. No, honestly I think it's really cool with what the code team's been able to accomplish at least for learning a new engine and at the same time implementing a new technology when only one member has experience on it.

[RB] And he (John F.) was on the Oculus, not even the Vive.

[NK] And he was on the Oculus, not even the Vive. A whole different kind of API and framework. That's really cool, watching people grow, adapt to newer challenges. And whatever their speed, it's cool. We have a car. You can drive it. It's cool.

[RB] What are you anticipating to be a problem? Granted, it's final days, but the next couple days and final week of rounding up and polish, anything you think will be a problem with your stuff?

[NK] Being able to rapidly produce the assets we need. Being the sole modeler is a little brutal. I dunno, I have other commitments at the same time. My turnaround rate, albeit it could be a little bit faster, is about one a week. Which is kind of rough, especially for a game that requires a little bit more than that. You look at other projects, that's comparable to what other groups have been able to accomplish. You look at this project called, Quintessence, which was done by a grad student, that I kind of worked on last semester a little bit, contributed a few environment art things that have since been scraped since someone else came in and did them way better, they're working on it for their third consecutive semester, maybe even fourth, and then they'll level of their art implementation is way higher having been able to work on for this long than it was on their first pass. The lead modeler on that, told me that they basically scraped all their original assets, and there weren't nearly as much of them as there are now. And that seems to be a general theme for first iteration projects, at least so far.

[RB] You get the stuff out there, and then replace it eventually.

[NK] Yeah, precisely.

[RB] I don't know if VRoom will come back next semester or whatnot, depends on what people's interest is. Quintessence was a huge group, is now a very tiny group to slowly develop . Something similar might happen. It might not. It's been a great learning experience, seeing people go from "I can't get a box to move, Unreal's garbage, we should go to Unity" and now we've got a stick shift -

[NK] To be fair Unreal is garbage.

[RB] Why does everyone hate Unreal? I like Unreal

[NK] Unreal is garbage because they have so many bugs. Too many bugs!

[RB] To be fair, if we had waited a week longer before putting in the code, it would have been fixed in 4.15!

[NK] Yeah...

[RB] Aw well.

[NK] Anyway...

[RB] Any parting thoughts besides a dislike of Unreal?

[NK] I will say the project has definitely tired me out. It's been a lot of work so far. It's still a lot of work. I don't imagine slowing down at all. At least, it's slowing down a little bit now that the semester's winding down and we're kind of meeting the end. But I'm kinda - I hate to say it, but I'm kind of looking forward to at least taking a break from it.

[RB] Yeah, same.

[NK] It's constant.

[RB] We've been speeding into crunch right now. I can't wait till Sunday. I don't want anyone to work on Sunday on this. Everyone relax. We do have some final polish and placing assets and tweaks.

[NK] I get to play a show on Sunday. I get no breaks.

[RB] But you won't be working on VRoom. And most of the model assets are done as well. I'm not gonna ask "let's do that second semester pass NOW."

[NK] [Grumbles]. Ways to make your art team hate you.

[RB] They're just artists they're just working for exposure.

[NK] [Chuckles]

[RB] We'll working for exposure. It's college.

[NK] Precisely.

[RB] Sad face. On that surprisingly dour note, I think we're both still excited for it, just tired.

[NK] It's tired. We've hit the burnout.

[RB] Yeah.

[NK] That's all it.

[RB] Everything's coming together. But hey, we don't have a final in this class so that's good.

[NK] YES! Yas, queen.

[RB] Okay, so on that note. So any parting tho- I already asked the any parting thoughts. Oh god. It's been a long semester.

[NK] It's been a long semester.

[RB] That concludes the interview with Noah, Noah Kellem.

[NK] Bye.

[RB] The lead modeler on VRoom.

[NK] Bye!

[RB] So that concludes the interviews with the entire dev team. I don't have a stand alone one because it'd just be kind of awkward to interview myself, and everyone's been busy. So, yeah, that concludes that whole arc. There will be some post mortem content coming up soon on the blog. So, thank you for listening!

As stated above, these will pop up about once a week, as the developers are available.

Game Developer Interview - Aidan Markham - Texturer

Today, the developer team interview is with Aidan Markham, the main texturer on the VRoom project. There's an audio version posted, and a transcript posted below it.
As usual, it's just Robert Bailey and the developer.


[RB] Hi, my name is Robert Bailey, and I'm the producer and creative lead on VRoom. Today, I'm with Aidan Markham, one of our artists.

[AM] Hi, I'm Aidan Markham, one of the texturers on VRoom.

[RB] Cool. So, this is one of the dev interviews where we just kind of go over, kind of introduce, what got you into games, what got you into making games, and what he's been doing on VRoom.

[AM] Well, I guess my first introduction to video games was playing Mario Kart 64 at my aunt's house on the Nintendo 64. That was really my big introduction, as well as educational PC games. But then eventually I branched out and got my own PC. Started playing stuff like Mass Effect, was one of the first games I played on that. A lot of other stuff. These days I'm more into indie games and that kind of stuff. It's good.

[RB] Cool. Any games that stand out as a favorite?

[AM] The Beginner's Guide. Davey Wreden. That's probably my favorite game of all time. It's really interesting. He does a lot of really cool artistic stuff with it. A lot of stuff by Davey Wreden, what is it - The Stanley Parable, I liked that. Looking forward to Manifold Garden by William Chyr. That seems like it's going to be really cool. That's mostly what I'm looking forward to these days.

[RB] Cool. So what type of projects have you done in the past, game related or otherwise?

[AM] Well, I am a long time game jam enthusiast. One of the ways I got my start in games was doing Ludam Dare game jams. So I've done a lot of those. Started out with 2D games, starting out with Python and the pygame game engine. Then I moved on to Java and Slick2D a little bit. These days I'm a Unity developer, making mostly 3D games.

[RB] What do you want to do after getting your degree?

[AM] After getting my degree, I'd like to go and work for a pretty small studio. My ideal studio size I see as being roughly 30 people or less. I like that that allows you to sort of have your finger in the different pies. Because, primarily as a developer, but also someone with a passion for 3D art, being locked into one side, not being able to have any aesthetic choices or not being able to write any code, that sounds like not a great time for me. So really small studio is a good fit for me.

[RB] So what do you do on VRoom?

[AM] I'm the texturer and occasional unwrapper. So what I'll do is I can use Maya to unwrap 3D models, and then I use Gimp to texture them. I can go back and forth between the two of them and see the updates on my textures as they happen.

[RB] Sorry about not letting you do code and stuff.

[AM] It's fine, people have to have their roles. It's been really educational for me, because I've never considered my myself the most amazing texturer in the world, but doing this project has really given me a chance to focus on the texturing workflow and develop my skills.

[RB] Cool. What got you interested in VRoom and working on the project.

[AM] I first heard about it from a friend of mine, Noah Ratcliff, who said they were looking for someone. When I first heard about the concept, I just, I thought it was really cool because I'm a huge fan of the Mad Max movies, and I think VR is really interesting future technology.

[RB] That was like when I was (thinking of what I wanted to make) - I like Mad Max and I like VR! Pretty similar avenues. What are you looking forward to? With the project. I know it's coming close to the end, but...

[AM] Right now I'm looking forward to ImagineRIT. It's going to be cool to see other people's reaction to the game. As of right now, a lot of the art I've done hasn't quite been implemented into the engine yet, so I'm looking forward to seeing a lot of  that stuff coming together and seeing the game in it's final graphical style. I'm also excited to play it beyond just basic testing, and trying out the steering. That'll be cool.

[RB] Cool. Yeah, it's funny because we had that stand alone blue and green card for the longest time. But we needed screenshots, so I said toss the texture on, and we were all "holy crap, the chairs!" because none of us had thought about that, because everything was red blocks, and (the response of) "oh, that looks great." Just seeing those assets come in, even piecemeal between models and textures coming in has been great. But from art team's perspective, "well, we handed it in and occasionally we see it all put together."

[AM] Yeah. It's interesting. There's sort of a disconnect as the art team, because we have all these models we've been making, and then there's the game which as of last time, didn't have a ton of the models. So it's almost like they're two separate things at this point, so I'm excited to see those two halves come together.

[RB] Yeah, especially with all the props that have come in, they're now making sure we have physics on everything, and making sure those elements in. And there's been so much work on the car and whatnot. It's like "We have these supplies" and I'm like "that's great, those will be fast, we need to make sure the gun drops when you drop it."

[AM] Totally.

[RB] But yeah, definitely. Because when I was grayboxing out the level, I was like "okay, that'll be a rock, that'll be something, and I know I have these coming through." Anything that you anticipate to be a problem coming up before Imagine and wrapping up afterwards.

[AM] Well right now, art team's doing pretty well, I think we decided not to do the shotgun for ImagineRIT, and that's allowed us to focus on the models we are trying to get in for ImagineRIT. As far as problems, I can imagine that it could be difficult bringing people who've never tried anything in VR into our game.  I haven't demoed it in a while, but I think a lot of the things code team has tried to implement to onboard people a little easier has been helpful, but it's still a slight concern that it'll be difficult for people to start using it.

[RB] Yeah, I'm going to be writing up a script for demoing it, but that's a definite concern of "so, have you ever done this before?"

[AM] Exactly.

[RB] Did you go to GDC this year?

[AM] I did not.

[RB] There were a lot of VR things where "have you ever tried VR before?" and going over every aspect of that because it's even new for people in industry.

[AM] It's new to everybody really.

[RB] There was a space game that was "you'll going to end with flying away. It's going to be disorienting. But it's the end, so you can just can rip it off at the end, it'll be fine." So yeah, any parting thoughts about VRoom?

[AM] I'm really excited about the project, really excited to see it finally put together, and I look forward to see where it goes in the future.

[RB] Cool. So that was the interview with Aidan Markham, the texturer on VRoom and yeah, so there's a couple more of the interviews to get the entire dev team in here to talk about what they've done on the project. And we present at ImagineRIT this Friday on May 6th. So yeah, thanks for listening!

[AM] Awesome!

We've got one more developer left, so trying to squeeze that interview in at the end!

Game Developer Interview - John Palermo - Gameplay Programmer

Today, the developer team interview is with John Palermo, one of the gameplay programmers on the VRoom project. There's an audio version posted, and a transcript posted below it.
As usual, it's just Robert Bailey and the developer.


[RB] Hi, my name is Robert Bailey and I am the producer and creative lead on VRoom, a VR Car Combat game from Falling Tricycle Games. I'm here today with John Palermo, one of our programmers. Hey John!

[JP] Hello!

[RB] So do you want to introduce yourself and what you do on this project?

[JP] Sure! I'm John Palermo, and I'm a gameplay programmer on this project. So I focus heavily on the interactions between the car and the world around it, such as the collision boxes on the cars and handling of guns and shooting and all that stuff.

[RB] Cool. So we're just going to run through a couple questions like a lot of the other dev interviews, just so we get to know John a little better and kind of know what he does on the project. So, in general, what got you into games?

[JP] I just really enjoyed playing games a lot as a kid. For a while, I wanted to be a forensic scientist
so it took quiet a turn when I went into high school and took my first programming class, and thought "hey, this is pretty fun!" And I found it there was a game design major, that it existed, and I was like "that sounds pretty cool!"

[RB] That is quite the turn.

[JP] Yeah. [laughs]

[RB] That also explains all your gamertags.

[Both laugh]

[RB] Do any games stand out as your favorite?

[JP] Phew. Oh boy. So I have a lot of favorites. Thinking back to nostalgia reasons, like old school games are my favorite, like the Sly Cooper series, those are the ones that really got me into gaming in general. That along with the Ratchet and Clank series. Pretty solid. Nowadays, a lot of Pokemon, Dark Souls, Persona, which is a new favorite. Trying to think...oh, Fire Emblem.

[RB] More in the line of working with games, what type of projects have you done in the past?

[JP] So, a lot of projects. Most of the things I've worked on have been C# games, mostly, because that's what we've been taught here up until last year. So we did the projects in GDAPS1 and 2(ed: Game Development and Algorithmic Problem Solving), and the game in that. Not exactly a good rendition or example. But then there's ColorCoded, which we've been working on that. Then also, I like board games too. Board games are fun to work on. I've been doing one on the side, individually, Bombs Away, which is pretty fun. But in terms of C++, er, well not really using C++ because Blueprints, but this is the first time I've been using that. So most of them have not been in Unreal.

[RB] Cool. You mentioned ColorCoded and Bomb's Away. Do you want to go into more detail on either of those?

[JP] Sure. So ColorCoded is a mobile puzzle game that Rob (ed: Robert Bailey) and I have been working on as well as VRoom, with Kenny Probeck (ed: not on the VRoom team). And that one, I already said it's a mobile puzzle game, so never mind. Bomb's Away was my pitch idea for a class we were doing where we were making a board game, only I was absent the day of pitches so I didn't get to pitches. So instead I worked on another thing for that class, and decided to keep going with Bomb's Away on the side. You play as a pirate and blow up other pirates, try and get supplies, and leave safely. Haven't really worked on that lately because of everything else, but yeah.

[RB] Yeah, stuff gets busy around here.

[JP] A little bit. [Laughs]

[RB] What do you want to do after you get your degree?

[JP] So my plan for after graduation is I want to go to a big company. The big one I'm looking at is From Software, just cause it's a lot of fun, er, it seems like a lot of fun, and Souls games. And they focus really heavily in their games on the narrative, which is a big part of what I want to do. And I want to get a couple years or so of experience there, and then considering branching off and making my own studio, was the ultimate goal.

[RB] The long term...

[JP] Yeah.

[RB] So, what do you do on VRoom?

[JP] Like I mentioned before, I do gameplay programming. So I worked on the guns and getting them shooting and dealing damage to cars. The collisions between the cars in general. [Pauses] I had something right after that, and then I forgot it.

[RB] It's okay, you'll probably remember it later.

[JP] Yeah. I'm probably going to go "OH" in the middle of something else, so wait for that.

[Both laugh]

[RB] What got you interested in working on VRoom?

[JP] It just sounded like a really neat idea when you brought it up. It was like hey, VR games, that sounds neat. Car games, haven't done a car game yet, you know. Broaden my horizons a bit. Dunno, VR just seems like a whole new element of game development that I haven't actually gone to in depth with yet, and figured it would be a good opportunity to.

[RB] Fun. Anything standing out to-ugh, jumped ahead there. What are you looking forward to? I know it's kind of wrapping up the project, but I guess what have been enjoying and are looking forward to in the closing weeks with VRoom?

[JP] Yeah. Getting all the gun stuff working has been really fun. 'Cause raycasting and line tracing and what not, like, it has a lot of applications outside of just guns, so getting that working has been really fun. I keep saying fun, but it has been really fun. I just like the system. I know we had a bunch of issues with Unreal over the project, but [laughs] it's not as bad as I originally thought it was. And it's very nice in regards to certain things. So that's fun, learning more about that.

[RB] Cool. So in addition to learning about raycasting and those types of behaviors in Unreal, anything standing out to you on the project, either good or bad?

[JP] I have to say I do like the models for the cars. Noah's done a good job with that. And then...I had something else again. I'm a very forgetful person. I'm sure you're aware of this.

[RB] I mean, both Johns on the code team. Your meetings are every Monday, Wednesday, Friday. And it's like - I walk up to Fediaczko at the start of level design, and go "hey, have you sent out a reminder message about your meeting today?" "Oh yeah, I should remember that." Maybe it's a John thing. As we go into these 5 days before the presentation and at ImagineCup, I mean ImagineRIT, and the wrap up afterwards, what are you anticipating to be a problem?

[JP] [Pauses] I think the biggest - it's not really much of a problem, it's just more of something that would be somewhat challenging. It's the audio stuff, because I've never really worked with that before. So getting the audio in might be a bit difficult, and that would be either other John or I, depending on which one of us finishes everything else first, so I might not even have to deal with that. But, on the other hand, actually no, never mind. That won't be much of an issue.

[RB] What are you thinking about?

[JP] Getting the terrain damage, so maybe just dictate bounds, if they're in certain bounds, take damage.

[RB] Any parting thoughts as we wrap up the interview?

[JP] I'm really trying to remember that thing I forgot earlier. [Laughs] It's just not coming to me. Oh, there it is. I've also been working closely with art team to get models from them into Unreal, and that, yeah.

[RB] That's been an odyssey.

[JP] That was fun. I'm sure you can I understand why I wanted to forget that.

[RB] Yeah, that was a couple weeks, yeah. [Both laugh] So that was John Palermo, one of the gameplay programmers on VRoom. Only a couple more developer interviews to go, so if you missed any they'll all be up on the blog. Then we'll be presenting at ImagineRIT this Saturday, and then there will be post-mortem type content after that. So hope you enjoyed this interview. Thanks for talking to us, John!

[JP] No problem, thank you all for listening!

As stated above, these will pop up about once a week, as the developers are available.

Wednesday, April 12, 2017

Game Developer Interview - Jay Forbes - AI Programmer

Today, the developer team interview is with Jeanette Forbes, the AI programmer on the VRoom project. There's an audio version posted, and a transcript posted below it.
As usual, it's hosted by the producer, Robert.


[RB] Hi, my name is Robert Bailey and I'm the producer and lead designer on the VRoom Project. Here with me is Jeanette Forbes, one of the programmers on the project. Hey Jeanette.

[JF] Hey Rob!

[RB] So I've just got a couple questions for you, and then this will just go up on the website. What got you into games?

[JF] I've been into games since I started playing them around four years old. So I've never really gotten into games so much as I've slowly tumbled into making games.

[RB] Cool. Any particular game stand out as a favorite?

[JF] I always have to go back to Blizzard's Warcraft 3, It was the first time I actually started getting into making my own games. I really got into using their world editor to edit values, set up cut-scenes, and make cool things happen in a game that was more about RTS, but you could turn into anything.

[RB] Out of curiosity, did you try out those early DOTA versions on Warcraft 3?

[JF] Yes I did [laughs]. I played the original DOTA. I haven't actually played DOTA 2 or anything like that afterwards, but it was a lot of fun at the time.

[RB] Cool. So what type of stuff did you make in the Warcraft 3 engine?

[JF] The Warcraft 3 "engine" [laughs].

[RB] I guess world editor.

[JF] I would make sort of open world games. I got into a little bit of how to do procedural generation, but considering the world editor wasn't a full blown engine, it was difficult. But it did eventually got me into things like Alice and python, where you could do real, actual programming. It was a lot of fun.

[RB] Cool. So, besides that, with Warcraft 3, what other projects have you done in the past? More high school or college level projects.

[JF] I started out in python, and then moved onto Java. My very first game was actually in Java, using Java IFrames. It's been a long time since then. That was a huge mess. It taught me a lot - I learned how to program. I didn't necessarily learn how to program well from it. It got me into it, and then I moved on to make bigger and hopefully better things since then.

[RB] So what do you want to after getting your degree in Game Design. I forgot to mention at the start, we are both Game Design and Development students at RIT,

[JF] That we are.

[RB] What do you want to do after leaving school.

[JF] I'd love to get a job [laughs]. Specifically, I'd really like to get a job in web development, or alternatively in artificial intelligence development. I know the two aren't well related at the moment, but I think there's a lot of potential to do very simple AI and use the potential of neural nets to leverage browser technology. So not necessarily the two happening at once, but the two working together could be a potential field, a potential growing field for game development.

[RB] Almost like a Siri type thing for a browser to walk you through things.

[JF] Yeah, exactly.

[RB] Cool, one of my classes we're talking about how to use Alexa in all sorts of different things.

[JF] That sounds awesome.

[RB] Yeah. So with VRoom, what do you do specifically on the VR project?

[JF] I'm very specifically developing the AI for VRoom. I started out using very simple, not even AI at this point, but behavior to guide vehicles towards targets and make them behave in ways that seem intelligence, even if there wasn't necessarily any intelligence behind it beyond simple driving mechanics. Now I'm getting into Unreal's AI backbone using Blackboard, the AI controller, and a couple simple scripts to get things moving, essentially. [laughs].

[RB] Okay. So do you work with C++ at all, or is it primarily in that Blueprints and Blackboard environment?

[JF]  I've been using a combination of both C++ and Unreal's Blueprints. It's a little difficult getting the two to work together, as we're using a slightly outdated version with some bugs in Unreal's AI, that they haven't necessarily fixed, and aren't necessarily going to.

[RB] Yeah I remember a month into development 4.15 came out. "Now there's a button to go from Blueprints to code!"

[JF] Yeah, that was a little bit irritating.

[RB] I think I was in the same room as Fediaczko, the code lead, at the time. And we were like, "oh it came out. God dangit!"

[JF] [Laughs] What can you do though?

[RB]  Yeah, you gotta start working at some point. What are you looking, well, what got you interested in working on the project?

[JF] I think it was...towards the end of last semester. You came up to me and said you were working on this game. And I think we'd also had a couple of conversations about AI leading up to that. So it was sort of a natural lead into "Would you like to do the AI for this cool car game I'm making?" And I jumped on it, because absolutely. I enjoy working with you, I enjoy working on AI, so why not?

[RB] Cool. What are you looking forward to most on the project moving forward into these last couple weeks?

[JF] I'm looking forward to actually getting the Blackboard hooked up properly. Basically, the way a Blackboard works in Unreal is it stores a whole bunch of state information for each individual script to use and for the AI controller to keep track of so it can send the right commands out to scripts. Right now, it's not doing that, so I'm really looking forward to figuring out why, and implementing it properly in the game.

[RB] Okay, just getting that Blackboard to talk to everything else?

[JF] Yeah, basically.

[RB] Cool. Is anything standing out to you on the project? Positively or negatively?

[JF] I like the fact that we're using the Vive for this, rather than any other VR headgear, headwear, hardware, whatever you want to call it. Because the Vive has the smoothest controls, I think, in comparison to things like the Oculus or Sony's hardware for it. I like the people we're working with, so helpfully we come up with something good. We're a little too early into development I think to tell whether or not it's going to be good. We still have to add in a lot of the seamless intuitive UI and we still need to tweak the parts of the vehicle that make it feel really good. So we can't really tell if it's going to be good until we get there. But I think it will be.

[RB] Luckily, we're getting to this point where I can start playtesting, I can just grab anyone-

[JF] Yeah, exactly.

[RB] And be like, "No, I need you to put on this hunk of plastic and sit down in an imaginary car."

[JF] Start grabbing more professors and taking them down there.

[RB] Yeah, I think Jesse - he's like "Can I play?"Every time Jesse's come by asking "Oh, can I try it out?" it's "No, everything's on fire right now."

[JF] "We just broke it, gosh darn it Jesse."

[RB] I think the last time he asked, the car, when you first started the game the car would just launch into the air. We have a great plane game.

[JF] [laughs]

[RB] So what are you anticipating being a problem moving forward?

[JF] Right now, the problem I'm dealing with, with the Blackboard, is an issue. The other problem, is we're just running out of time. There's more I want to do with AI, and right now I'm taking it in incremental steps to make sure we have something working before I progress to the next one, and we're just running out of time. So I don't think I'll have the time to actually use the data we should start collecting from the behavior tree to start training a neural net. We don't have months. That's not a bad problem to have though.

[RB] Yeah [stutters]. That's gonna sound terrible. But it is always disappointing when you have to start cutting things. And that's always, I know Weeze has the "make sure you kill your darlings" type stuff, but it's not fun doing that.

[JF] We have discussed taking it into a bigger project over the summer, and that'd definitely be interesting.

[RB] And I'm definitely open to that, but everyone's going different places. But we can look at those proposals to work with Magic center to possibly continue it. So any parting thoughts on the project or interview?

[JF] Again, I wish I could do more, I wish there was more time. It's been difficult trying to balance this project, which wants to consume your whole life, with the rest of the semester, which wants to consume your whole life. But that's kind of what college is, so I think overall it's a pretty good experience. I've learned a lot. It's been nice working with Unreal - I'd actually never worked with Unreal before, so using the engine has been great.

[RB] So that wraps up the interview with Jeannette Forbes, the AI programmer on the VR VRoom project, and there will be more of these coming up for the rest of the semester for the last couple people.

[JF] Make sure you slow my voice down by at least like, twenty five percent, because I tend to ramble very quickly. Sorry about that guys.

[RB] It'll come out fine. So look forward to those things coming in the next few weeks.

As stated above, these will pop up about once a week, as the developers are available.

Tuesday, February 28, 2017

Development Update 2 - 2/28/17

Over the past week, code team has been working to put the player in their car and get an enemy behaving.

The enemy ended up being incredibly aggressive, and ignored many of the laws of physics in order to chase the player more actively. Jay's been working on slowing down the enemy, and bringing it more in line with the speed of the player's car.

Speaking of the car, the player's now inside of it, steering through using the in-game steering wheel. Test here:

Noah finished off the car's 3D model, and it's been passed along to Aidan for texturing and Luke for animating. Due to the nature of the vehicle class in Unreal, John P. needs nodes for the wheels on the animation skeleton before it can be integrated into the code.

This week, Jay and I are going to be away from development for the Game Developer Conference in San Francisco. With improvements in documentation made over the past week, however, the Johns of code team are still on target for the minimum viable product by Friday, and art team's started planning their next model - a human character.

We've also started planning for stretch goals, figuring out what the team is most interested in and how to use the remaining time on the project. The next block of content contains: ranged combat, car destruction/damage, and a scoring system.

As a note: due to my absence for GDC, the updates might come a bit later in the week next week.

Sunday, February 26, 2017

Game Developer Interview - Luke Hedrick - Animator and Rigger

Today, the developer team interview is with Luke Hedrick, the animator and rigger on the VRoom project. There's an audio version posted, and a transcript posted below it.

Robert Bailey, the producer. is holding the interview as usual. New interviews should go up roughly once a week, cycling through the different members. Next week's will be slightly delayed due to GDC, probably showing up on Monday or Tuesday.


As stated above, these will pop up about once a week, as the developers are available.

[RB] My name is Robert Bailey, and I'm the head producer-slash-designer of the VRoom Project from Falling Tricycle Games, and I'm here today with one of the people from the art team, the animator. Do you want to introduce yourself?

[LH] I'm Luke Hedrick. I do all the animation and rigging for the project. Right now I'm working with the car to get the doors rigged and animated. 

[RB] Cool, so what got you into games?

[LH] Uh...what technically got me into games was probably around 1999, when my sister had her little handheld Game Boy, and then my Grandmother got her one of the smaller ones - not the color!
But the one that was just smaller than the brick - so I got the brick! And then I got all of her games that she didn't play, and I was like "this is pretty great"!

[RB] So of all the games you've played, do any stand out as your favorite?

[LH] Any of the Pokemon games, Assassin's Creed Brotherhood, umm... [laughs[

[RB] So bringing it back to work-type elements, what type of projects have you done in the past?

[LH] I'm currently working on a whole bunch of rigs for some side projects. I've worked on - the very first project I've worked on was a DoodleJump-type game, called SparkleGore. It's not fun, but it looks cute. I've worked on Captain of the Stars with you and...

[RB] That was a fun board game.

[LH] Yeah, best part was slowly learning how to take advantage of some of the rules.

[RB] Yeah, well analogue board game rules. They're obnoxious. What about other projects?

[LH] Uh, mostly I'm doing a whole bunch of rigging. Technically I did work on trying to make my own game engine - it's not great, and I don't like it. But it was pretty decent at letting me do animation on the fly.

[RB] That's fun, was that part of Data Structures and Algorithms?

[LH] Yeah, it was that one. I had some other stuff I worked on past of DSA.

[RB] Cool. So what do you want to do after getting your degree?

[LH] Get a job in the game industry, and you know, be able to get paid. Personally, I would really like to get a job as an animator or rigger. Obviously, I'd rather be an animator than a rigger, because I like the whole "playing with the model," and getting it to be more personable. But at the same time, a lot of people can animate. If I get a job as a rigger, that's good to. A lot of people don't really like rigging which, it's tedious, you have to do it two or three times before you have a correct rig, but I like it.

[RB] What about it do you like?

[LH] It's the idea that you're taking a random action figure and making it so that it has joints and be able to move, and take something static and turn it into something dynamic. And have it be able to become something with personality.

[RB] So a "bringing it to life" element?

[LH] I like the idea of taking something dead and bringing it back to where you can do stuff with it.

[RB] That explains the Undead team choice in the Blood Bowl League.

[LH] Hey [both laugh] that's a solid choice!

[RB] so you mentioned you're working on rigging car doors and stuff, have you done other things on the VRoom project?

[LH] I helped the code team a little bit a while back for thinking how to handle different stuff. I've been working on making small little assets, like a gas canister. I'm currently working on - outside of getting the car done, the rig for that done - I've been working on making a water cooler type thing. Kind of, if you were a scavenger and had a giant jug that you'd fill with water to bring back.

[RB] Okay, for the player character to bring that back in the game and have it in the car.

[LH] Yeah, that was something you wanted in there.

[RB] How are you creating those?

[LH] Maya, 2016.

[RB] Okay, so it's not just the rigging and animating, but also the 3D modelling that you can do.

[LH] I can model, but I wouldn't say I model well. But I do understand everything about modelling. I'ts just a talent I have not currently acquired.

[RB] Okay, what got you interested in the project?

[LH] Mostly it was just you came up to me and were like "I have this idea for a game - remember the opening part of Mad Max?" And I'm like, yeah that was pretty cool. And you were like "We're going to make that a game!" And I go, oh that sounds great, it's going to be great. And then you go "In VR!" And I was like this is going to be hard, but it'll look really good. [Both laugh] So basically, the elevator pitch got me hooked into it.

[RB] It was a solid elevator pitch.

[LH] Yeah [laughs]

[RB] So...I'm trying to cut down on the word so, and half of them start with the word so. so...

[LH] You just added another one!

[RB] I know, it's awful! [Pauses]

[LH] [Laughs]

[RB] What are you looking forward to with the project, moving forward?

[LH] Moving forward...I'm looking forward to seeing how basically the entirety comes together. But I really want to see when I get a hold of the AI character's model and get all that rigged up and get that animated and everything. I really want to see how Jay gets that setup and gets that able to fight you and how it looks when moving around trying to move it's car and all that stuff.

[RB] Yeah. That would essentially be a driver model right?

[LH] I mean if you want it to not to be human, give me concept art.

[RB] That's Alia's job. Do you really want to try and rig up a quadrapod with like six arms?

[LH] You should see one of the models I'm having to do. It's half human, half spider.

[RB] That would also give Jay an aneurysm, or whatever word. "Okay, now you have to write AI that drives the car and moves it, but also looks decent while doing it. And it only has 2 hands and can only do so many things.  And now it has 12." I don't really feel like doing that, so we're going to probably stick with the human if that's okay with you. [Luke laughs]. Anything standing out to you on the project, in a positive or negative light?

[LH] Positive light: definitely that we're a lot further along than I thought we would be at this point. There is a car, you can sit in the car, and you can drive around in circles and everything. The only thing I'm concerned about is Jay's light-speed abomination of an enemy.

[RB] It's moving so fast that it's teleporting around. We [Correction: Jay and John F] patched that actually this weekend. So that should be stable - it shouldn't teleport around the car faster than the framerate.

[LH] You'd end up looking and just seeing a car going in circles faster than you can believe.

[RB] I think you left, but after the big team meeting on Friday, I was sitting - I put on the VR and I was sitting in the car. And we turned on the enemy. And we rebooted it, turned on the enemy. I'm like "where is it?" "Look behind you." And it's in a 30 degree angle in my trunk.

[LH] I saw that

[RB] But yeah, that actually is just getting refined. Jay pushed that patch on Friday, so that's much more stable, the car is no longer speed racer.

[LH] Huh.

[RB] What are you anticipating to be a problem on the project? Beyond the light-speed enemy car - beyond what we have now, moving into the rest of the project.

[LH] On a personal part - if the AI enemy has a gun, and they point at your car - getting it to point at your car correctly so it looks like it's aiming will probably be a little difficult.

[RB] Oh

[LH] Considering the fact that we might have to have the shooting arm be separate from everything else and all that stuff, because it will have to dynamically find where your car is. So...

[RB] So that would be a model on it's own separate component being manipulated code to effectively animate between two states - so we'd need a Maya animation [to raise it] and then code to get the angle [to aim].

[LH] Yep.

[RB] Well there's a bridge. We'll cross it when we get to it - but that's why we have 10 more weeks of work to plan that out and make sure it behaves. Technically, we should be hitting MVP this Friday.

[LH] Yeah, but those chairs mess you up.When you hit the chairs and it rolls you immediately, and you go "help! help!"

[RB] As a form of context, we're using the basic chairs from the Unreal scene in stage for rocks or stuff right now to make sure we can test object collision, and you just go spiraling off into space.

[LH] It's like Astroneers. [Pauses] I love that game.

[RB] Just add in a skybox to make it more disorienting. So any other thoughts with the VRoom project?

[LH] It looks like we're heading down the right path, and that we should have everything to be a nice portfolio piece and a good project.

[RB] Yeah! So that wraps up the interview with Luke Hedrick, the animator on the VRoom project from Falling Tricycle Games. So yeah, there will be one of these - it'll probably be a couple days later next week, because myself and another dev member are going to GDC [Game Developers Conference]. And that delays a couple of the interviews. But there should be a post coming up over the next few days with another development post. and another one by the end of this week about the next state of the game. So with that being the state of the interview, any parting thoughts Luke?

[LH] I really like Astroneers [laughs].

[RB] I guess that's a recommendation. Okay, thanks for your time.

Tuesday, February 21, 2017

Development Update 1 - Week of 2/20/17

Aha! This page is more than dev interviews!

In addition to the interviews, which will continue being a weekly element, there will be periodic development updates, where the progress of the game gets posted and briefly talked about. To avoid excessive posting, this will rely on meaningful, in-game, viewable elements. The posts might not all be positive, but they'll try to remain informative.

Without further delay, the first update:

While we always knew we wanted a car combat game, the reasoning behind why the cars were fighting got ignored. After a few meetings, we have a more solid motivation - the player's escaping a ruined city with supplies, attempting to bring them back to a larger, safe settlement. However, bandits on the road mean that the gates are closed until the player deals with the threat.

With the groundwork for the theme and reasoning laid out, Alia has a stronger idea of what to try and invoke with the concept art, which by extension helps influence the available gameplay options and affordances.

After some setbacks with getting code implemented and making Unreal behave, the code team is now moving past framework and structure into gameplay elements. The car can now be controlled using a steering wheel and gear shift created by the art team, and the demo car features collisions and basic physics.

Video of test 1:

 Video of test 2:

There's still work to be done in terms of tuning those controls, but it's nice to see the VR interactions, like starting the car by grabbing the steering wheel, getting formed and demoable.

Currently, Noah Kellem is working on creating a preliminary car model, so that Jay can begin tweaking her AI code based off of the given dimensions, to make the opponents move more realistically. Palermo's going to continue refining the car's movement, while Fediaczko keeps developing the player's VR interactions.

Alia's working on continued concept art to help refine the themeing and aesthetic, while Aidan's constructing different skins for the steering wheel. Lastly, Luke's had limited things to animate, so he's pitching in on creating various small props, like water bottles or medical crates, to give a library of assets.

We hope to have a playable interaction with AI by Friday, 2/24. Currently, it's a matter of integrating Jay's existing codebase in C++ with Blueprints, which is proving it's own interesting challenge.