{"author_name":"Frozen Fractal","cat":"LD #31","comments":[],"epoch":1417714140,"likes":0,"metadata":{"p_key":"25375","p_author":"Frozen Fractal","p_authorkey":"7882","p_urlkey":"60790","p_title":"Base code declaration","p_cat":"LD #31","p_event":"LD31","p_time":"1417714140","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"7882","us_name":"Frozen Fractal","us_username":"thomastc","event_start":"1417737600","event_key":"26","event_name":"LD31"},"text":"<p>I&#8217;m going to be building a JavaScript\/HTML5 game and put together some scaffolding for the following tools:<\/p>\n <ul>\n <li><a href=\"http:\/\/www.typescriptlang.org\/\">TypeScript<\/a>, which will be a first for me\u00a0(in previous LDs I used <a href=\"http:\/\/coffeescript.org\/\">CoffeeScript<\/a>).\u00a0Seeing syntax\/type errors as soon as I save the file is going to be a big timesaver. I wanted to try\u00a0Facebook&#8217;s newly released <a href=\"http:\/\/flowtype.org\">Flow<\/a>\u00a0typechecker, because it does deeper\u00a0type inference\u00a0and thus\u00a0provides value even without type annotations, but it doesn&#8217;t yet support handy ES6 features like classes and the fat arrow.<\/li>\n <li><a href=\"http:\/\/goldfirestudios.com\/blog\/104\/howler.js-Modern-Web-Audio-Javascript-Library\">howler.js<\/a> for cross-browser, low-latency sound effects and music.<\/li>\n <li><a href=\"http:\/\/jquery.com\/\">jQuery<\/a> for DOM manipulation. I typically need some of that, if only for hiscore lists and such.<\/li>\n <li><a href=\"http:\/\/sass-lang.com\/\">SASS<\/a>\u00a0(SCSS, actually) and <a href=\"http:\/\/bourbon.io\/\">Bourbon<\/a>\u00a0for CSS3 convenience. It&#8217;s a slight change from the previous LD, where I used Compass, but I&#8217;ve found it&#8217;s slower to compile.<\/li>\n <li><a href=\"https:\/\/inkscape.org\/\">Inkscape<\/a>. I use the command line export function to convert them to PNG on the fly. If I need sprite sheets, I&#8217;ll just draw them into a single SVG; makes it easy to get a consistent set of\u00a0sprites, too.<\/li>\n <li><a href=\"http:\/\/www.vorbis.com\/\">oggenc<\/a> and <a href=\"http:\/\/lame.sourceforge.net\/\">lame<\/a> to convert WAV files to OGG and MP3 for the various browsers. Chrome only eats MP3 but not OGG, Firefox eats only OGG but no MP3. What a pain.<\/li>\n <\/ul>\n <p>And the best part: an old-fashioned <a href=\"https:\/\/en.wikipedia.org\/wiki\/Makefile\">Makefile<\/a> to rebuild assets when needed, and a tiny <a href=\"http:\/\/www.sinatrarb.com\/\">Sinatra<\/a>\u00a0web server to run make before it serves up the asset. It means I can just refresh the browser, and everything I see will be up to date. This has worked very well for me in the past; for any other JavaScript participants out there, I highly recommend that youset up something similar or just\u00a0<a href=\"http:\/\/github.com\/ttencate\/ld31\">steal my code<\/a>.<\/p>","time":"December 4th, 2014 12:29 pm","title":"Base code declaration"}