{"id":2829,"date":"2013-08-27T00:09:12","date_gmt":"2013-08-27T07:09:12","guid":{"rendered":"http:\/\/www.nathalielawhead.com\/candybox\/?p=2829"},"modified":"2013-09-26T17:14:08","modified_gmt":"2013-09-27T00:14:08","slug":"the-sounds-music-of-offender-2-production-notes","status":"publish","type":"post","link":"http:\/\/www.nathalielawhead.com\/candybox\/the-sounds-music-of-offender-2-production-notes","title":{"rendered":"The Sounds &#038; Music Of Offender 2 (Production Notes)"},"content":{"rendered":"<p>I&#8217;m happy to say that I&#8217;ve finished all the artwork, animation, and coding for Offender 2, and I&#8217;ve been busily working on the final stage of development: music (and sounds).<\/p>\n<p>It&#8217;s been a whirlwind of creativity, and the direction the music has gone is both spooky and humorous. I&#8217;m happy with the quality, and it has added a lot to the game. Playing the finished portions of it is really something, to say the least.<br \/>\nI love how it takes itself serious, and is so ridiculous at the same time. You&#8217;re not sure if you want to laugh, or slip into the silly little dreamlike world that it has become. It is hypnotic in a very strange way.<\/p>\n<p>As an example I&#8217;ve uploaded the Boss Intro Animation on Vimeo.<br \/>\nIt&#8217;s a great illustration as to the quality of the animation, and art stile, mixed with how the music fits with it:<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/72319390\" width=\"500\" height=\"833\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe> <\/p>\n<p><a href=\"http:\/\/vimeo.com\/72319390\">Offender 2 &#8211; Boss Intro Animation<\/a> from <a href=\"http:\/\/vimeo.com\/alienmelon\">Nathalie Lawhead<\/a> on <a href=\"https:\/\/vimeo.com\">Vimeo<\/a>.<\/p>\n<p>While I was brainstorming for what type of music and sounds I wanted I decided to steer clear of the traditional cartoon approach (the expected goofy\/over-the-top and sometimes cheesy style) and make something a lot more unusual. I wanted surrealism, with a level of depth that you wouldn&#8217;t expect from something that looks so cute.<\/p>\n<p>On a more technical note, I&#8217;m (as I write this) working on programming the music for the main game game-play, interactions, and various states&#8230; which is a challenge due to the <a href=\"http:\/\/blog.curiousmedia.com\/?q=blog\/flash-player-can-only-play-32-sounds-time\" target=\"_blank\">Flash Player only supporting 32 Sound Channels<\/a> at a time. I totally forgot about that&#8230;<br \/>\nRight now I&#8217;ve just finalized the background soundtrack.<br \/>\nThis has turned into a fun, and complicated project, because I wanted something that loops, and (in a way) composes itself. It should (as in a lot of my work) seem random, and be different every-time it plays.<br \/>\nWithout spending too much time on it (which you very well could with that type of direction) I&#8217;ve come up the idea of first creating a complex, and very layered, two minute soundtrack that seamlessly loops, and having code handle what plays and what doesn&#8217;t play.<br \/>\nParts of it will be randomly playing, or muted (these I&#8217;m calling Music FX). They keep things &#8220;fresh&#8221; \/ different.<br \/>\nThe main track (Music) is the constant, persistent layer. That is the main body of the soundtrack.<br \/>\nEverything has been created in such a way that if one layer is deactivated (including the Music layer) it still sounds good. It all works together, building on itself.<br \/>\nThere is another layer (I&#8217;ve called &#8220;Layer&#8221;) which is the creepy \/ trippy &#8220;high-cow-country&#8221; dialogue that plays. This comes in three sets, each working over the music in a somewhat non-intrusive, and complementary way. When one iteration of the entire soundtrack is finished (on complete) a new random Layer is chosen to play. The outcome is a seamless stream of nonsense commentary about the &#8220;high-cow-country&#8221; that you&#8217;re playing in.<br \/>\nTo conclude all that, everything must be able to adjust its volume if an important event is taking place (character dialogue, or a sound effect). These Events control the volume of the soundtrack. When one is triggered it is added to an array, and an onComplete handler checks if it&#8217;s finished. If so, it removes itself from the array (array.splice). Using an array makes it simple to handle multiple ones without them &#8220;fighting&#8221; for control of the volume. If more than one are playing, they gradually drop off the array, and the very LAST one (if array is empty\/0) sets the music back to full volume (everything resumes to how it was). I&#8217;m happy I got a simple solution together for this.<\/p>\n<p>Bellow is the prototype I finished today. Play around with it!<br \/>\n[swfobj src=&#8221;http:\/\/nathalielawhead.com\/sourcefiles\/Offender2\/code_examples\/GamePlay_Soundtrack.swf&#8221; height=&#8221;400&#8243; width=&#8221;600&#8243;]<br \/>\nThere&#8217;s quite a bit of coding involved. Unfortunately the file is too big for me to post the source. Maybe later\u2026<br \/>\nAs a side note, the above also has the game&#8217;s theme mixed into it (the piano portions). It keeps things cute and relevant that way&#8230;<\/p>\n<p>I&#8217;ve posted various excerpts, testers, and examples on my SoundCloud. <a href=\"https:\/\/soundcloud.com\/alienmelon\/sets\/offender-2\" target=\"_blank\">Check them out here<\/a>!<\/p>\n<p>Monumental Blow (We Lost The Tutorial That Day):<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/103781744&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>&#8220;Day Beat&#8221; Transition<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/104494773&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>Evil Alien Base Loop<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/103780750&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>Abduction (The Top Ten Mini-Game)<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/103782943&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>Offender 2 &#8220;Day Beat&#8221; Transitions<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/105024433&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>The Game Over Music: Animation &#038; Ending Ambient Loop<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/105202153&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>The Boss Tank Intro<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/105478646&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>Offender 2 &#8211; Gameplay Music &#038; Ambience<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/106596750&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>AND, on a final note, here is an example of the voice acting.<br \/>\nSince I only have one voice actor (me) I&#8217;m faced with the challenge of making it sound diverse (you know\u2026 it can&#8217;t sound like the same person).<br \/>\nSo I&#8217;m coming up with all sorts of creative ways of making me sound like an alien, rabbits, commander rabbits, trapped rabbits, scared rabbits, angry rabbits, enraged rabbits, and a guy.<br \/>\nHere&#8217;s what I ended up with for the latter (Before &#038; After clip):<\/p>\n<p>Superior Alien Gus &#8211; Voice Acting &#038; Vocoding Sample<br \/>\n[soundcloud url=&#8221;http:\/\/api.soundcloud.com\/tracks\/105617308&#8243; params=&#8221;&#8221; width=&#8221; 100%&#8221; height=&#8221;166&#8243; iframe=&#8221;true&#8221; \/]<\/p>\n<p>\u2026And it totally doesn&#8217;t sound like me!<br \/>\nAwesome.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m happy to say that I&#8217;ve finished all the artwork, animation, and coding for Offender 2, and I&#8217;ve been busily working on the final stage of development: music (and sounds). It&#8217;s been a whirlwind of creativity, and the direction the music has gone is both spooky and humorous. I&#8217;m happy with the quality, and it has added a lot to the game. Playing the finished portions of it is really something, to say the least. I love how it takes itself serious, and is so ridiculous at the same time. You&#8217;re not sure if you want to laugh, or slip&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":4522,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[30,4],"tags":[],"class_list":["post-2829","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-games","category-werks"],"_links":{"self":[{"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/posts\/2829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/comments?post=2829"}],"version-history":[{"count":21,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/posts\/2829\/revisions"}],"predecessor-version":[{"id":2867,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/posts\/2829\/revisions\/2867"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/media\/4522"}],"wp:attachment":[{"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/media?parent=2829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/categories?post=2829"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.nathalielawhead.com\/candybox\/wp-json\/wp\/v2\/tags?post=2829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}