 Hello, Internet. Hey, Internet. What up? How y'all doing out there? I guess we're just going to get this thing started. My name is Darius Kazemi. I work at Boku. Well, I'm director of community development here, but I also work on HTML5 game development stuff. And mostly I teach a course with, I teach a class with Greg over here. And, again, I've worked in the game industry for about 10 years, but have been doing the HTML5 stuff for the last two or three. And, yeah, Greg. Yeah, I'm Greg. I work at Boku also. My official title is Internet Programmer. And I do a course with Darius that he just mentioned. I also do HTML5, kind of a general HTML5 crash course for people wanting to pick up those technologies. I do consulting, which is about some non-game stuff and some reporting mobile games, HTML5 platform stuff. And right now my primary task is to build the game stuff which is maintained by Boku and sponsored by Microsoft. And so let's start this out with the very important question. Darius, what are you playing right now? Oh, what am I playing? Well, for starters, I'm playing a lot of FTL. It's awesome. I didn't actually back the Kickstarter when it happened, but I'm such a jerk. But as Greg is, I'm also a fan of roguelikes or games with randomly generated content and that sort of thing. And FTL is just great. Basically it's a Star Trek simulator, but not like the, oh, I've seen some Star Trek simulators that are pretty technical, they're pretty abstract. And this one's much more like send this person to the bridge, send that person to the engine room because it's on fire, that sort of thing. And I really love that. I'm also playing Tokyo Jungle right now. Have you heard of Tokyo Jungle, Greg? I don't know. It's on PSN and it's a game where they don't explain why, at least at first, all the humans just disappeared and the game takes place five years later. Tokyo has turned into a jungle and you're playing animals, like zoo animals and pets and stuff like that, that have gone feral. And you start as a Pomeranian and then you unlock other animals. And you're basically like, it's the only game where I've ever been like a Pomeranian and tried to like eat a giraffe, a live giraffe. I wouldn't feel like, I would be, I don't think I'd feel insensitive to be anything but a Pomeranian. There's beagles and chimps and you can be a baby chick. That's like the hard mode. Little baby chick. Yeah, it's really hard. The other thing I'm playing right now is a game called Mercury by James Lance. Actually, it's on my list of things that I really want to play. I haven't had time, but it's a cool concept where basically it's like a roguelike, but players contribute. They design their own monsters and then you play against monsters that other players have designed. And there's a whole cool like metastructure to it that makes it like really engaging. So it happens in basically like episodes or cycles and every cycle brings in like, is sort of co-designed by everyone who played the last one. Cool. Yeah, how about you? I'm playing Resonance of Fate on the Xbox 360. Basically, I saw a video of the combat and said, that looks nifty. And I didn't realize I would actually like it because I use Gamefly, which if you're not familiar, is like Netflix for games. They send you DVDs for $15 a month. And so I play a lot of games for like an hour and then it's in the back. And I kept playing it. I think I put like 12 hours into it. It's like this setting is this gorgeous, like industrial steampunk futuristic thing and it's all like gun battles and the title screen. The map screen is like hexagonal grids that you unlock. Yeah, it's turn-based combat, right? Yeah. Yeah, I played that for like a few hours. It was pretty awesome. Yeah, the combat is turn-based and also it's like while you're walking enemies can walk too. But if you stand still, nothing's happening around you. Right, so it's turn-based but simultaneous. Yes, that is exactly it. And I'll also be playing Harvest Moon, whatever the 3DS generation of that is. I haven't played any of them since the SNES one. It's got Harvest and Moons in it. Well, it's the SNES one that my sister and I were obsessed with. And I was kind of like, oh, this is super cute. I'll buy it for a minute. And I really enjoy it. What it really boils down to, for explaining it to somebody who thinks that sounds like a fun game, it's kind of like a scheduling problem plus a crafting system. But also you pet cute cows. So it kind of comes, it meets in the middle there. It's kind of the main games I'm playing at the moment, yep. Oh, cool. Okay, what about, hold on. You mentioned one more game to me. You were showing me Final Fantasy. Oh yeah, that's right. Dimensions. I haven't played at Munch. I haven't played at Munch. But on the iPhone they released a Final Fantasy game called Final Fantasy Dimensions and as I understand it was a bunch of smartphone Final Fantasy like episodic games that they released in Japan for a while. It looks like this and sounds like this. And I think they basically just really stood in the US translated and it's kind of, it uses the, you can buy at each episode separately or as a quantity discount. And it's kind of cool. And it's nice to see that people making classic console games on touch devices are starting to figure out how to do the controls. Because at first it was just that static gamepad and that was all. And now what it kind of has is like when you touch the screen a gamepad appears where you happen to touch it and then you slide in the direction you want to go. So there's no missing because you, the center is just wherever you touched it. So people are kind of working on that idea and getting it right which is kind of nice to see because even because it's an RPG I can play with one hand on the subway and I like that. Yeah, while you're holding on for dear life with the other hand. Yeah, on the good night. Cool. I actually did want to talk briefly about another game that I've been playing recently. Hold on. Let me, I'm going to pull it up and show it to people. If, I think it's, well hold on. So it's made by Mary Rose Cook. It's called Empty Black. Empty like not full black like the color. And I'm going to see if I can pull this up on my screen share here. Screen share. Share. Yeah, so it's at emptyblack.com. Greg are we, are we seeing that again? Yeah, it's good. Sweet. So, yeah it's pretty cool. You can, I'll select later level. It's running a little slowly on my machine right now because I'm trying to, you know, I'm screen casting at the same time on the Google Hangout, but it's a really minimalist shooter game with like a sort of grappling hook type of mechanic. There's shooting and stabbing. I just stabbed someone. And then shooting. And it's all, it's an HTML5 game. There we go, cool. What I love about it is the level design is really simple. I love it that there's no HUD. I don't know if you noticed, but your health and the enemy's health is actually just how filled in your square is. So that square that I'm controlling is like nine little squares inside it and they kind of go away slowly as you get hit. And I just love what Mary's done with the level design here. It's obviously very minimalistic, but I think it's super effective. It's one of those games that introduces a new element but like forces you to learn how to deal with that new element and then never, it will present that element to you again in interesting ways, but it's never going to bore you by giving you the same challenge twice. That's what I like best about this game. I never do the same thing twice. It's pretty short. I think it's eight or nine levels and it took me maybe half an hour to beat. Pretty much just a perfect bite-sized game to play. And Mary's a great developer and I think it was made in impact, although I'm not 100% sure. That's just me guessing from the loading bar. I haven't actually looked at the source code yet. So yeah, that's empty black. I definitely recommend checking that out as an awesome HTML5 game. Yeah, I like games that you were saying it doesn't repeat in gameplay elements and accept to show them in a unique way and that's kind of the games don't... We don't tolerate filler like we used to. Yeah, exactly. I don't think I ever tolerate... No, that's not true. I tolerate it when I was a kid. I had nothing better to do. If you played one SNES RPG. Yeah, but I was a kid. I had nothing better to do with my time. I would just sit there and grind all summer. It was like, well, I'm going to go outside and play with the other kids or play Earthbound in the... I'm going to play Earthbound in the attic. That's how spending my summer. And it's a summer well spent, I might add. Yeah. So in terms of other games I've been playing, especially HTML5 games, I actually just was a judge in this JS13K games competition. It was a competition run just so that people could make games in HTML5 and JavaScript in less than 13K of code. So there were a bunch of different themes and rules around it and so forth. But I think I'll turn on my screen share and show off a few of the winning games that I thought were pretty neat. I always enjoy walking around the office and my glance over and Jarius is judging some game that I get to be a secret early observer of. Yeah, so if you go to JS13Kgames.com, you can see any of these. Let me see, is the screen share working? Yeah, the screen share is working. So the first place one I thought was just really cool, it's called Space Pie. And what I like best about it and why it got, I think, I definitely gave it a lot of points. What I like best about it is that it's a complete game. There's a whole upgrade chain and a menu system and a lot of the other games were kind of demos of games. So you would get the idea of the core mechanic, but this was like a full thing. There were 13 different levels and I can't buy anything right now, but I can play the first level here. And it's a pretty simple game where you're just trying to defend this central planet from incoming lasers and I'm just sitting here blowing them up and as I blow them up, they release coins and stuff that I can mouse over to collect. And it's just the kind of thing where, yeah, it's in 13K, but the game's done. That's it. This is everything that it needs to be to be a full game. So the level's over, I completed it and now I have 20 bucks and if I had enough money, I could upgrade some of this stuff. So that was the first place winner. And then I got to show, I'll show the first three. The winner is just incredible. I love this game. It's a really, it's like an abstract pixel-y game, but it's also really, really bloody. So two, two, here we go. If you have a weak stomach, just look away from the hangout for a minute. Yeah, I guess so. So here I am. There we go. Yeah, so I'm just kind of like sucking their blood until they explode. Yeah, it's pretty, whoa. All right, I just jumped. But yeah, I just loved its sense of style and once you get enough enemies on the screen, the combination of like the old-school sound effects and just all the blood going on, you can get these ridiculous multipliers and it's just a fun, fun game to play. It's a great time waster for maybe, you know, 10 minutes in the office while you're waiting for something to, waiting for a meeting to start or something. So yeah, that's the sucker. And then... Let me close that. And then hopefully this one will run on my laptop. I haven't tried it yet. This one's a WebGL game made by Shanda Prawl, who is a friend of Boku. Click to start. Yeah, so this uses WebGL and it's a fricking like full 3D game where you're walking around and there's a whole story you can see down here. It tells you about all the infected zombies in this lab and like zooms in on these people with the camera. Like it's almost like a PlayStation 1-era 3D game. This is the point. Yeah, and it's really clever. The whole plot is clever. And I just, I really liked it a lot and it's incredibly impressive for what it does with the JS-13K of JavaScript and WebGL and HTML5 stuff. So yeah, those are the top three picks from the JS-13K game competition and all the winners, and in fact, even the ones that didn't win, like a lot of them are really, really worth playing and there's a great one called At-Sea. It's a fishing sim that I love. It's just so relaxing to play. Anyhow, yeah, so that's the JS-13K games combo. So I actually wanted to, because you made this cool demo earlier today, so recently iOS 6 was released and with iOS 6 comes Web Audio for the built-in Safari, right, you know, iOS 6, right? So for those of you who don't know, Web Audio API has been traditionally just in Google Chrome for desktop, not even the mobile version. And it's essentially a better Web Audio implementation than the audio tag. The audio tag for HTML5 is meant for streaming audio, which is great for playing background music for games or streaming podcasts or that kind of stuff. But if you've ever used the audio tag before, you'll know that it has really bad latency issues. You'll play an animation and then try and synchronize the audio with it and the audio might not ever trigger or it might trigger a second later or something. And Web Audio actually buffers the audio in memory so it can access it very quickly and play it back like you might expect from Fmod or something else if you were developing on a more traditional platform. Can you give you wave-level synthesis and filtering and modification of sounds? Yeah, yeah, exactly. It's got support for DSP and that sort of stuff, which is also great. And so Greg, yeah, you built something today, right? Yeah, I'll tell a little bit more of the story first. So basically Web Audio API was in Chrome for a while and Firefox had their own different API that did some of the same stuff. And this appearing in iOS 6 as the second browser that has one of these APIs is really exciting because one, it's the first time we've seen that we're kind of moving in the direction of choosing one of these APIs for the other, which we kind of made. The Web just needs to unify around one of them. And also the fact that it's mobile is really interesting. It means that sound is a huge part of your experience playing games and so it's great for HTML5 games in general and it's great for mobile games using iOS. Right, because the mobile Safari prior to iOS 6 would only support one sound at a time, right? So you couldn't even have background music and sound effects. Yeah, yeah. So this is the URL. So I just made, I couldn't find a bite size demo just to prove that it worked, proved to myself and to other people. So I made this, if you go to, actually I'm going to put the URL up on the screen real quick. I have to type it. I have to remember what it is and then type it. Web, IDO, but in the compol.com. So if you go to that URL on your iPhone you'll get this guy and there's five different, four different notes that you can just turn on separately from each other. I don't know if you can hear this. Hooray. Keep bowing. I can't really see it all. And so it works, hooray. And we're really excited about this, especially since making each mobile HTML5 games is something I wanted to more of. So, oh, Darius' name is still there. Yeah, actually give me one second. I need to plug into power here because I forgot to charge my laptop. Whoa, where's Darius? Darius. Darius, honey. You're leaving Greg alone with the scary internet. So the library I used, I'm just going to talk about Darius. The library I used to do this thing is called TimberJS and it's basically a wrapper on top of the Web Auto API. So I actually just used it for the first time this morning to make this demo and it's really nice because what the API kind of looks like is you create an object that is your sound and then you say add a sine wave at 523.35 hertz, which you look up on the internet and you're like, oh, that's C. That's the mode of C. And then, you know, in my demo, I basically just looked up on Wikipedia what's a G major chord and I looked up on another slate, what frequencies are those. And the API was quite simple and it was really nice. I could totally see making a game with that library. Oh, John back and actually Chandler Peral who made the mindless demo, the 3D zombie game, has informed me on IRC that it's actually a full, it's a 2D canvas game. So it's not WebGL, it's rendered on Canvas, which is pretty cool. That is really cool. That sounds hard. Yeah, he says he stole the mathlib from 3JS but the rest is all new code that he did, so pretty awesome. Yeah, that's really impressive actually. Cool, so I want to hear what you're working on there. What am I working on right now? Okay, I haven't done any game stuff in the last couple of weeks, but the last major thing that I did was Spelunky HTML5. So I guess I'll put the URL in my little bar here if it fits, because it's a pretty long URL. I should have just done a, I really should have just done a bitly link thing, but does that, no, that doesn't fit. No, it doesn't. Hold on, maybe that works, okay. So, yeah, I've been meaning to port Spelunky to HTML5 for a long time, a little bit of history with this is that when Spelunky, so Spelunky was originally written in GameMaker, and when Spelunky came out, I got way into it and wanted to mod it, so I actually started to learn GameMaker. You can pretty easily decompile and execute in GameMaker and import it into GameMaker itself and start to play with it. You don't know GameMaker is, it's kind of an all-in-one game development environment that has its own scripting language and its own asset management and lets you set up rooms and scenes and that kind of thing. I like it, especially for prototyping, because I can work really fast in GameMaker, but also as Spelunky showed, GameMaker is a perfectly reasonable thing to make a production quality game in as well. And in September of 2010? 2011? I forget. September 2011, I think. No. Jeez. Yeah, 2011. Okay. God, I'm all over the place. What year is it? It's 2012 right now. So yeah, this was September 2011. Oh god, I've traveled backwards. I know, right? Yo-Yo Games released GameMaker HTML5, which was basically just a way to take a GameMaker game and compile it to JavaScript and Canvas and all that good stuff. And what I did, the first thing that I tried when it came out was to just put Spelunky in there and see if I could import it and just export it to HTML5 with one button press. And it just crashed and burned horribly, but that's because that was like the beta. It was their first private release. So I just let a bunch of time pass and once GameMaker HTML5 got stable, I tried again. And this time it kind of worked in that it didn't immediately crash. And so then it was just a long process of because I knew the Spelunky source code really well from modding it, I was able to sort of, and because I'm HTML5 dev, I was able to use a combination of the GameMaker debugger and Chrome Inspector and figure out where it was crashing and burning and then either removing that feature from the game temporarily. Like for example, audio just totally trapped out because Spelunky relied on an external VLL for audio. And so I had to go and, I ripped out all the audio calls and that really helped. And then from there it was just an unsexy process of fixing bugs, but it only took like probably four or five hours total, I think. And I got Spelunky working in HTML5, so that was really cool. And then I sent it to the YoYoGames guys who make GameMaker and they polished it up and made it look really nice. So half of what you see when you go here is not my work. It's the YoYoGames guys. I just did the initial get the game working stuff. So yeah. Awesome. Oh, and then I also have a mod that I wanted to start working on. Well, I love that HTML5 games, you can just send a link to someone and it's there and they'll just open it up in their browser and see it happening right there. I think the most interesting part of Spelunky and most people is how the level generation works because it has these randomly generated platformer levels. Excuse me. And what I want to do is take Spelunky and mod it to just expose the level generation algorithms. So you could basically step it through rendering an entire level and tweak different variables and that sort of thing. Oh, what would happen if I increased the spider spawn chance this to twice as much? Oh, there's a lot more spiders or whatever. So that's the idea for the Spelunky mod that hopefully I can get around to doing sometime in the next six months. How about you, Greg? What have you been working on? Well, one thing that reminded me of that I just wanted to say real quick is that there, I heard you talk about Spelunky but I've heard it a little differently every time. I think Spelunkle. Many times you always raved about it and I am a Mac person so I was never able to play it until a few months ago I think the Xbox Levercade version came out that was kind of a port I guess that was kind of kind of different but I've only got to play it and I loved it. I was really excited that they came out with that part so if you haven't played Spelunky and that's what's going to get you to do it, you should do that. So in terms of your actual question what have I been working on? Well, I've got this game down here called 91 that I've been working on for maybe about three years or so. It's like up and on in my spare time so that three years probably doesn't mean a whole lot at all. It's almost a coincidence. And right now I'm writing the ending and that's really kind of amazing to be working on. It's an RPG so you play it, start to finish. It's a rogue-like in the sense that it's Ascii art and it's turn-based and it's a dungeon crawler but at the same time it has there's no random generation at all it's preset dungeons that have more environmental puzzles akin to something like Zelda and it's also in a modern setting so it's got a little bit of Earthbound in there and a little bit of occasional surreal oddness also a lot of Earthbound. I guess the second time Earthbound has come up, right? We both really love that game. Well it's the most important game ever made. Yeah. So I'm excited for writing the end of that. I'm going to there's a demo you can play at the CRL but I haven't, it's not real time, I'm kind of pushing updates every now and then. As soon as I write the ending I'm going to push an update that will basically be the beta. You can play this game and start to finish but there's a lot of stuff that needs more work. And that's really exciting. So besides that a little while ago I muted my phone and then I wasn't that long ago I admit. I made I made this little I kind of had this idea in my dreams once I woke up one morning and I said I need to make an interactive fiction game that only accepts one word commands and I got a bed and got my laptop and made it and in a couple of hours I had what I was called Dream which was the slow and proof of concept for doing that and then I said I kind of need to do a murder mystery or something with this and then fast forward a few months I came back to it and made what I called Dusk which is an interactive fiction murder mystery that only accepts one word commands. It takes about an hour to play you either when or you lose it actually did you play Mists, Therias? Sorry I was on mute Yeah I played Mists. Yeah yeah so I don't remember the basically the end game of that is you either do the correct thing or you don't do the correct thing. Oh yeah end game not so much. It takes you hours and hours to play and you win or lose and if you lose and you load your game and go back and you figure out what your sister will win that's not quite the same as getting it right the first time and so that's a kind of experience that games don't usually have and that's something I put into this it's not quite as much of an investment but I think that's actually an interesting game design concept that's a lot of. It's usually just you die trying a million times eventually you've made it. So there's that. What else am I working on? I have some ideas for a mobile game I'd like to do and it's no surprise that this is Rogue inspired but I guess it's probably at this point far enough away from Rogue likes to say maybe it's just a mobile dungeon crawler what I have is a like completely lazy one hand I'm on the subway holding onto the bar and I'm so tired I stayed up to three programming and I couldn't get out of bed and I wanted to play a dungeon crawler on my phone while I go to work with maybe one to two percent of my brain but I still want it to be good I want that one to two percent of my brain to get really stimulated for something that's kind of like like the whole room it's room based so your screen on your phone is a room and you tap on things to interact with them and some of the things you might interact with are doors so I'm talking about an idea like that I hope it comes to fruition and what else? I also made a so my library box box actually let me put the URL for that and I have to remember what that URL is that's the first Google results so I made a library called box box which is just a a framework for a wrapper for using box2d web which is a part of a C++ business engine that eventually made its way to JavaScript and basically this makes a lot easier to use it makes it more object oriented and gives you some sugar and all that stuff so I was making a platform game with box box and adding the kinds of features it would need to use it as a game framework rather than just a physics library so kind of a little bit of object model stuff a little bit of event handling stuff and I kind of worked on that for a while and realized I don't want to make this whole game because it's budding off more than I can chew as another long term side product project but I am going to release it as a proof of concept of luck if you're ready to make a big game of box box this is probably how you would organize your code and this shows that it would work you could totally do it and yeah that's that's everything I've been working on sweet I want to give a little shout out to my friend Kirk because we were talking about this in the Boku IRC channel he made a library called well it's not a library it's mostly just a little wrapper thing called low lag I'm going to put that up on my little banner here lowlag.alienbill.com and what it does is it's basically just it looks at what browser you're in and it Kirk did a whole bunch of testing to see how audio solutions performed in terms of latency on different browsers and it just looks at what browser you're in and what platform you're on and then it says oh okay you're in Chrome so on desktop so we're going to use Web Audio to play sound effects and oh you're in Internet Explorer so we're going to use Sound Manager 2 and let Sound Manager 2 handle that and so on and so forth you'd think that Sound Manager 2 itself would handle this but actually it has pretty bad latency issues on certain combinations of certain browsers I guess so anyway it's a really simple wrapper you can grab it at the website that I have up here and the API is very simple once you've actually installed it it's pretty much just like load sound play sound and there's a bunch of demos on there and there's even a sandbox page where you can force different audio solutions so if you're in whatever browser you can go to the sandbox and you can say okay first use low lag and just let low lag aside and you can play around and go oh that's really responsive and then you can force HTML5 audio tag and maybe that one's not as good so it lets you test the browser for yourself just in case you weren't convinced that Audio Tag was enough or something so yeah Kirk Israel low lag at JS definitely worth I'm definitely going to put it in the next HTML5 game that I make and then we got about 10 minutes left here so I wanted to ask you Greg a little bit about the project you've been working on here at Boku called build new games what's that all about what is it all about build new games.com there it is so basically it's a site where we're running we're approaching authors who are good with making HTML5 games what we want to do is teach people who are already web designers or web developers how to make games because making a website and making a high performance game there's a lot of difference in the skill sets there and oh there it is it's very purple and also we want to teach maybe game designers who are maybe making games in C++ a little bit about how the web works and so basically what I've been doing is tick reviewing and talking to these authors and keeping things coming and we've got some really good content lately recently Eric Lee did this article about optimizing WebSock it's found with which is really hardcore basically one of the things that you have to realize if you're using say socket.io all of the data is in JSON and although it's no XML JSON is still a little verbose and you can you can send if not binary much tighter representations of your data and he goes into doing that and then talking about encoding optimizations and compression stuff so that's really good if you're making a very network intensive game another article that we did recently was about a comparison of JavaScript's physics engines that one is this great it goes through box2d and it goes through just scroll down a little bit it is box2d web and for each one there's a working demo in the article that shows a scene that will have balls dropping from the top actually can you press play on that Darius? I'm trying to press play I think it maybe didn't load the fiddle all the way I'm just going to reload the page let's try that again for whatever reason it's crafting out on my machine right now oops I'll try one of the other ones here we go oh that was just a scene right that's good that was user error on my part so this one's box2d and it's just a cool little demo not only does it talk about these physics engines it shows the same scene implemented in each one so you can see how they look working and also look at all the first I think that's really useful so we've also got a couple really cool articles coming up soon I'm not going to talk too much about them you'll have to wait but one of them is we've got kind of more physics stuff coming up we've got something about physics concepts ooh snap yeah physics concepts you need to know which is a little bit of a little bit of academic nostalgia for maybe some people and another one that's about implementation of so those are going to be some really good ones especially for people like me who might all of the areas to see if in the game industry I've really been a web developer making games in the spare time most of my programming days so this piece of art is great for me to understand what is collision detection all about it's good to know how it works if you're going to be using these libraries to do it so building games like I said it's about HTML5 games but it's also about browser agnostic HTML5 games don't be scared that there's a certain browser's logo on your page or anything like that this is about the open one this is about stuff that will this is about the HTML5 cross platform stuff that's really exciting to be able to help people make more so help myself make games in the process it is always nice when someone asks me a question about some aspect of HTML5 game day I'm just like oh just go to buildinggames.com here's a link that'll explain it I don't have to anymore because I'm lazy that's why I'm a developer so yeah that's all we have on our little schedule here and pretty much all the time that we have I guess I'll ask the IRC folks does anybody have any particular questions that you want us to answer if they look like it so Greg any final thoughts before we sign off my final thoughts are thank you for watching I'm glad we get to do this just do what we do all the time just talk about HTML5 games my final thought is if you make any cool HTML5 games please send them to me oh and hey we do have a question here Lucas Rosoli he's asking if there are any particular libraries that we'd recommend for mobile game development is cocoon the one that's mobile? that's cool which one? cocoon cocoon is like a whole solution thing hold on oh hold on Lucas is clarifying he wants to know about input particularly not for input I guess not that I know of although if you look at the source code for the Akihabara engine for example that does a sort of virtual joypad overlay thing if you're interested in that in terms of touch I know there's been it's escaping me but maybe we're going to post a list of resources after this hangout and that'll give me some time to actually look up the library that it's escaping me but we'll post that up if people can see that Ray thanks again everybody thank you everyone bye