<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>urbansquall</title>
	<atom:link href="http://www.urbansquall.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.urbansquall.com/blog</link>
	<description>indie flash game company</description>
	<lastBuildDate>Wed, 04 Nov 2009 02:19:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Battalion: Ghosts is out!</title>
		<link>http://www.urbansquall.com/blog/2009/11/03/battalion-ghosts-is-out/</link>
		<comments>http://www.urbansquall.com/blog/2009/11/03/battalion-ghosts-is-out/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 02:19:55 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=278</guid>
		<description><![CDATA[WE&#8217;RE SO EXCITED!

Battalion returns with Battalion: Ghosts!

It&#8217;s the second chapter of the three-part Battalion story (and trust me, Episode 3 isn&#8217;t far behind). You take control of the Akadian&#8217;s shining glory, Lieutenant Hayne as he leads General Durand&#8217;s campaign against the Northern Federation. You&#8217;ll gain the secrets of the mighty War Machine and make use [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-279" title="Ghosts_Bonus" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/11/Ghosts_Bonus-300x257.jpg" alt="Ghosts_Bonus" width="300" height="257" />WE&#8217;RE SO EXCITED!</p>

<p>Battalion returns with <a href="http://www.kongregate.com/games/urbansquall/battalion-ghosts" target="_blank">Battalion: Ghosts</a>!</p>

<p>It&#8217;s the second chapter of the three-part Battalion story (and trust me, Episode 3 isn&#8217;t far behind). You take control of the Akadian&#8217;s shining glory, Lieutenant Hayne as he leads General Durand&#8217;s campaign against the Northern Federation. You&#8217;ll gain the secrets of the mighty War Machine and make use of the Akadian Stealth and Spider tanks to overwhelm your enemies.</p>

<p>10 levels (and a bonus level!) with three difficulty settings and all the quality Battalion action you&#8217;ve come to know and love. The plot thickens and Argent continues to be a smartass.</p>

<p><a href="http://www.kongregate.com/games/urbansquall/battalion-ghosts" target="_blank">Head on over to Kongregate and enjoy!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/11/03/battalion-ghosts-is-out/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Rabbids to the Moon!</title>
		<link>http://www.urbansquall.com/blog/2009/10/27/rabbids-go-home/</link>
		<comments>http://www.urbansquall.com/blog/2009/10/27/rabbids-go-home/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 01:48:14 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=273</guid>
		<description><![CDATA[We promised you another project, well&#8230; here it is!

Rabbids to the Moon!

Ubisoft has asked this little band of game developers to produce not one, but two quality products for them. (Double Damage was the other, by the way)

It was a lot of fun to work on this Rabbids game, because who doesn&#8217;t love the Rabbids? [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-275" title="rabbids" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/10/rabbids.jpg" alt="rabbids" width="392" height="392" />We promised you another project, well&#8230; here it is!</p>

<p><a href="http://rabbids.com/rgh.html" target="_blank">Rabbids to the Moon!</a></p>

<p>Ubisoft has asked this little band of game developers to produce not one, but two quality products for them. (<a href="http://www.kongregate.com/games/urbansquall/tmnt-double-damage" target="_blank">Double Damage</a> was the other, by the way)</p>

<p>It was a lot of fun to work on this Rabbids game, because who doesn&#8217;t love the Rabbids? Irreverant, liberated and a little crude, the Rabbids have an ever-growing catalog of raucous games to their name, and we&#8217;re proud to add to that group.</p>

<p>Rabbids Go Home is a adaptation of the Urbansquall title Bloody Fun Day featuring the Rabbids. Your mission is to collect as much junk as you can to build your tower to the moon. As you work, though, you&#8217;ll need to capture Sanibots who try to clean up your mess. Give it a play!</p>

<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/10/27/rabbids-go-home/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>BFD2 &#8211; Challenger Approaching!</title>
		<link>http://www.urbansquall.com/blog/2009/10/21/bfd2-challenger-approaching/</link>
		<comments>http://www.urbansquall.com/blog/2009/10/21/bfd2-challenger-approaching/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 17:03:26 +0000</pubDate>
		<dc:creator>YAYitsAndrew</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=265</guid>
		<description><![CDATA[After playing Bloody Fun Day for a while, one begins to ask &#8220;why am I doing this?&#8221;  This isn&#8217;t asked from a philosophical point of view.  It&#8217;s between you and your psychiatrist why you have a deep need to cleave cute things.  I&#8217;m talking about gameplay.  There has to be some reason why the Reaper [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-266" title="objectives" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/10/objectives-300x257.png" alt="objectives" width="300" height="257" />After playing Bloody Fun Day for a while, one begins to ask &#8220;why am I doing this?&#8221;  This isn&#8217;t asked from a philosophical point of view.  It&#8217;s between you and your psychiatrist why you have a deep need to cleave cute things.  I&#8217;m talking about gameplay.  There has to be some reason why the Reaper does what he does.</p>

<p>Well it took two games, but you finally have your answer!  Bloody Fun Day 2 is objective-based.  In this particular screenshot (which also shows off some of the streamlined UI) the objective is a simple one &#8211; collect some souls.</p>

<p>What happens when you collect all those souls and complete your objective?  I&#8217;m not spilling the brains yet, but you could always ask her.</p>

<p><img class="aligncenter size-full wp-image-268" title="medusa" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/10/medusa.gif" alt="spooky, scary" width="96" height="96" /></p>

<p>I&#8217;m a fan of LOST so I just answered a question with more questions.  Who is she?  What is she doing on Cutie Island?  And most importantly, what happens when she gazes into the eyes of cuties?</p>

<p>For the purists, Unlimited Mode will be back so you can still play the traditional puzzle game with the BFD2 improvements.  You might even be able to play it with some new powers.  Powers you obtained defeating evil adversaries.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/10/21/bfd2-challenger-approaching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teenage Mutant Ninja Turtles: Double Damage</title>
		<link>http://www.urbansquall.com/blog/2009/09/25/teenage-mutant-ninja-turtles-double-damage/</link>
		<comments>http://www.urbansquall.com/blog/2009/09/25/teenage-mutant-ninja-turtles-double-damage/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 21:35:21 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=259</guid>
		<description><![CDATA[It&#8217;s been a little quiet on the blog front, but that&#8217;s because we&#8217;ve been pretty darn busy around this joint. But at last, I have for you the fruits of our labor!

Urbansquall had the good fortune to be approached by Ubisoft (!) to create a Teenage Mutant Ninja Turtles flash game as a promotional item [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.urbansquall.com/blog/wp-content/uploads/2009/09/TMNTDD-300x192.jpg" alt="TMNTDD" title="TMNTDD" width="300" height="192" class="alignright size-medium wp-image-260" />It&#8217;s been a little quiet on the blog front, but that&#8217;s because we&#8217;ve been pretty darn busy around this joint. But at last, I have for you the fruits of our labor!</p>

<p>Urbansquall had the good fortune to be approached by Ubisoft (!) to create a Teenage Mutant Ninja Turtles flash game as a promotional item for Ubi&#8217;s upcoming <a href="http://tmntgame.us.ubi.com/">Teenage Mutant Ninja Turtles: Smash Up!</a> game. We, being geeks who grew up on and love TMNT and Ubisoft, were all over it.</p>

<p><a href="http://static2.cdn.ubi.com/ncsa/TMNT/mini-game/main.html">Teenage Mutant Ninja Turtles: Double Damage</a> is a classic 2D platformer. It&#8217;s got great graphics, cool enemies (classic foot soldiers, nifty robots, the Hun and, of course, the fearsome Shredder), platform levels, arena brawl levels, boss levels, comic book style story panels, special attacks. Plus, you know, it&#8217;s a Ninja Turtles game. I think your membership in the gamer community requires you to play it at least once.</p>

<p>We&#8217;re all really happy to have been a part of this project and hope you enjoy it.</p>

<p>More projects from Urbansquall coming soon, too! You think we were this busy making only one game? Oh no. We roll hardcore &#8217;round here. Word.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/09/25/teenage-mutant-ninja-turtles-double-damage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bloody Fun Day 2 &#8211; Development Begins!</title>
		<link>http://www.urbansquall.com/blog/2009/09/22/bloody-fun-day-2/</link>
		<comments>http://www.urbansquall.com/blog/2009/09/22/bloody-fun-day-2/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:05:57 +0000</pubDate>
		<dc:creator>YAYitsAndrew</dc:creator>
				<category><![CDATA[Bloody Fun Day]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=252</guid>
		<description><![CDATA[I&#8217;ve begun work on the sequel to Bloody Fun Day!  Throughout the next few weeks of development I&#8217;ll post here with new features and screenshots of the new game.



For now, here&#8217;s a little teaser of the first feature I&#8217;ve been working on: Gold Cuties.  Remember in the first game how a gold egg would hatch [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve begun work on the sequel to Bloody Fun Day!  Throughout the next few weeks of development I&#8217;ll post here with new features and screenshots of the new game.</p>

<p><img class="alignright size-full wp-image-255" title="bfd_300x200" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/09/bfd_300x200.jpg" alt="bfd_300x200" width="300" height="200" /></p>

<p>For now, here&#8217;s a little teaser of the first feature I&#8217;ve been working on: Gold Cuties.  Remember in the first game how a gold egg would hatch into a regular cutie if you didn&#8217;t get to it in time?  What a waste!  Now when a gold egg hatches, a gold cutie will be born.  Gold cuties aren&#8217;t worth nearly as many points as a gold egg, but they&#8217;re still worth much more than a normal cutie.</p>

<p>What&#8217;s even better, is gold cuties act as wildcards during a match.  If you&#8217;re attacking a group of blue cuties that is next to a gold cutie, the gold cutie will pretend to be a blue cutie.  This might make your match big enough to leave more gold eggs!  Oh the possibilities&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/09/22/bloody-fun-day-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VMA Dance-Off: The Moonman Battle</title>
		<link>http://www.urbansquall.com/blog/2009/08/28/vma-dance-off-the-moonman-battle/</link>
		<comments>http://www.urbansquall.com/blog/2009/08/28/vma-dance-off-the-moonman-battle/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 08:01:57 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=248</guid>
		<description><![CDATA[Urbansquall has another game to add to its arsenal out for you to play. This one is pretty different from Arena (which, by the way, is rocking and rolling over at Kongregate).

Part of what makes the VMA game exciting is that it&#8217;s a direct tie-in with MTV&#8217;s Video Music Awards. By playing in the game, [...]]]></description>
			<content:encoded><![CDATA[<p>Urbansquall has another game to add to its arsenal out for you to play. This one is pretty different from Arena (which, by the way, is rocking and rolling <a href="http://www.kongregate.com/games/urbansquall/battalion-arena">over at Kongregate</a>).<img class="alignright size-medium wp-image-249" title="dance-off" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/08/dance-off-300x225.jpg" alt="dance-off" width="300" height="225" /></p>

<p>Part of what makes the VMA game exciting is that it&#8217;s a direct tie-in with MTV&#8217;s Video Music Awards. By playing in the game, you unlock votes for yourself to cast for the Best New Artist Award for MTV. So, if you want to get your votes in for that, you definitely want to be loading up the <a href="http://www.mtv.com/games/arcade/game/play.jhtml?arcadeGameId=10220362">VMA Dance-Off: The Moonman Battle</a>.</p>

<p>The Dance-Off is a beat-game (think Dance Dance Revolution) that pits you heads-up against the Moonman. Your goal is to match up with the arrows on the beat to earn points. Combos will increase your multipliers, and you can unleash special moves to make things easier for yourself&#8230; and to make it harder for the Moonman. The Moonman will also be battling against you, and may unleash his own moves that will dazzle your dancer and make it harder to hit your moves.</p>

<p>You&#8217;ll get to play through three eras of music styling, complete with their own look. The music is pretty darn catchy, I have to admit. I was able to hear it all through production, and it gets stuck in your head. You certainly won&#8217;t mind loading up levels again and again to perfect your moves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/08/28/vma-dance-off-the-moonman-battle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game Scripting &#8211; Part 5 &#8211; The Guide! &#8211; Chapter 3</title>
		<link>http://www.urbansquall.com/blog/2009/08/21/game-scripting-part-5-the-guide-chapter-3/</link>
		<comments>http://www.urbansquall.com/blog/2009/08/21/game-scripting-part-5-the-guide-chapter-3/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 08:01:50 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=229</guid>
		<description><![CDATA[Welcome to another week of scripting help!

I promised last time that I&#8217;d give you a pro tip on how to shorten your code&#8230; and here it is:

When you&#8217;re writing your scripts, we&#8217;ve covered how you need to start and close all your tags. An example:

&#60;script&#62;
&#60;/script&#62;


For tags that will contain other scripting elements, you need to [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to another week of scripting help!<img class="alignright size-full wp-image-235" title="battalion-post1" src="http://www.urbansquall.com/blog/wp-content/uploads/2009/08/battalion-post1.jpg" alt="battalion-post1" width="264" height="161" /></p>

<p>I promised last time that I&#8217;d give you a pro tip on how to shorten your code&#8230; and here it is:</p>

<p>When you&#8217;re writing your scripts, we&#8217;ve covered how you need to start and close all your tags. An example:</p>

<pre><code>&lt;script&gt;
&lt;/script&gt;
</code></pre>

<p>For tags that will contain other scripting elements, you need to keep the start and end tags separate like this. So, the script tag, the condition tag, the event tag, the response tag. These are all elements that you need to place additional code in between the start and end tags.</p>

<p>But what about something like:</p>

<pre><code>&lt;player&gt;&lt;/player&gt;
</code></pre>

<p>You&#8217;ll never end up placing anything in between the start and end tag there. Those two are a complete thought placed together like that. When you have a situation like that, you can shorten your code. So instead of the code above, you can just use:</p>

<pre><code>&lt;player/&gt;
</code></pre>

<p>See what caused that? It&#8217;s the &#8220;/&#8221; at the end. This tells the script engine that you&#8217;re closing that tag. It&#8217;s an abbreviation for  or any other close tag that you can use.</p>

<p>I used something else mysterious in the last few code snippets I&#8217;ve given to you.</p>

<p>What does that do? It turns off the player&#8217;s ability to interact with the game for a moment. So, if you want to tell some story, you don&#8217;t want people able to make moves and continue the game. The Disable Controllers tag is what turns the player&#8217;s ability to do this on and off. If you set the value to &#8220;true&#8221;, you have turned off Controllers. When you want them available again, you want to include another tag setting things to &#8220;false&#8221;. Let&#8217;s show one of those tags using our newfound shortcut from above, too.
Note that I used the &#8220;/&#8221; to avoid needing to write out , but I left  in there. Again, this is because the  tags need content in between them to function. Important to remember!</p>

<p>My final promise from last week was that I would cover a more complex condition for your scripting. So let&#8217;s get to that. What I want to do today is set a special unit on my map, and then trigger some dialog if that unit is destroyed. So here it comes, a fat block o&#8217; code. Note I&#8217;ll be using my shorthand method throughout, and I&#8217;ll explain the new tags when I&#8217;m done.</p>

<pre><code>&lt;script&gt;
&lt;event&gt;
&lt;condition type="startGame" /&gt;

&lt;response type="nameUnit"&gt;
&lt;x value="5" /&gt;
&lt;y value="5" /&gt;
&lt;name value="Jimmy" /&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true" /&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker" /&gt;
&lt;message value="Alright, Nephew Jimmy. Let's start our training mission." /&gt;
&lt;avatar value="tucker" /&gt;
&lt;color value="red" /&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false" /&gt;
&lt;/response&gt;

&lt;/event&gt;

&lt;event&gt;
&lt;condition type="killUnit"&gt;
&lt;unitName value="Jimmy" /&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true" /&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker" /&gt;
&lt;message value="You suck, Jimmy." /&gt;
&lt;avatar value="tucker" /&gt;
&lt;color value="red" /&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false" /&gt;
&lt;/response&gt;

&lt;/event&gt;

&lt;event&gt;
&lt;condition type="endGame"&gt;
&lt;player value="1" /&gt;
&lt;victory value="true" /&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true" /&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker" /&gt;
&lt;message value="Success!" /&gt;
&lt;avatar value="tucker" /&gt;
&lt;color value="red" /&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false" /&gt;
&lt;/response&gt;

&lt;/event&gt;

&lt;event&gt;
&lt;condition type="endGame"&gt;
&lt;player value="1" /&gt;
&lt;victory value="false" /&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true" /&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker" /&gt;
&lt;message value="It looks like we both had trouble with this one." /&gt;
&lt;avatar value="tucker" /&gt;
&lt;color value="red" /&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false" /&gt;
&lt;/response&gt;

&lt;/event&gt;
&lt;/script&gt;
</code></pre>

<p>Okay&#8230; so note that what I&#8217;ve done here at the start is I have named a unit on my map Jimmy. This is a special unit. Because I have named it, I can now refer to it when I want things to happen in-game. Note that in order to name units properly, you need to be using a pre-deployed Blitz map (the units already exist) or a Classic map (where units are made from factories). Since the WarMachine can move, and naming units requires knowing the map coordinates of where a unit is, you can name units created in the middle of a level on a Blitz map.</p>

<p>So, I create a map with a unit at 5,5 on the X,Y grid. Then I enter in this scripting. The game will, in the background, name my unit at 5,5 to &#8220;Jimmy&#8221;. <strong>Note that if you do not make a unit at 5,5 on the map, this code will break. Feel free to name another unit, just make sure to change the coordinates as well.</strong></p>

<p>Now, the critical code is:
This tells the engine that when a unit is killed, in this case &#8220;Jimmy&#8221;, that the next scripting event should occur. In this case, it&#8217;s me telling Jimmy he sucks. I mean, come on Jimmy. Get it together. I could also use that same condition and specify a unit on a particular tile, instead of a unit with a particular name.</p>

<p>Let&#8217;s say you had a barricade setup that is keeping a unit protected. The first enemy unit that is destroyed on the tile before that barricade could trigger an event where your general announces that his barricade is invulnerable. And, similarly (using either the location or name condition), you could have your general despair when the barricade is destroyed.</p>

<p>There&#8217;s a lot of potential for fun with these things.</p>

<p>Okay! More next week with conditions! We&#8217;re still scratching the surface here people!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/08/21/game-scripting-part-5-the-guide-chapter-3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Co-op in Arena</title>
		<link>http://www.urbansquall.com/blog/2009/08/14/co-op-in-arena/</link>
		<comments>http://www.urbansquall.com/blog/2009/08/14/co-op-in-arena/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 08:01:03 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=222</guid>
		<description><![CDATA[

Sure, it&#8217;s great to square off and go head to head with a buddy to see who is the better general. But sometimes you don&#8217;t want to destroy your buddies when you game. It&#8217;s nice to get to team up and take on the enemy together. And that, my friends, is why we&#8217;re announcing the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.urbansquall.com/blog/wp-content/uploads/2009/08/arena.png"><img src="http://www.urbansquall.com/blog/wp-content/uploads/2009/08/arena.png" alt="arena" title="arena" width="280" height="257" class="aligncenter size-full wp-image-227" /></a></p>

<p>Sure, it&#8217;s great to square off and go head to head with a buddy to see who is the better general. But sometimes you don&#8217;t want to destroy your buddies when you game. It&#8217;s nice to get to team up and take on the enemy together. And that, my friends, is why we&#8217;re announcing the release of cooperative maps for Battalion Arena.</p>

<p>Starting today, we&#8217;re releasing 5 cooperative maps into the <a href="http://www.kongregate.com/games/urbansquall/battalion-arena">Open Beta for Arena on Kongregate</a>. These maps will let you and one or two of your friends team up to take on the enemy AI. If you&#8217;re a Standard Battalion Arena player, we&#8217;ve got a single co-op map available for your gaming pleasure. For Premium and Elite members, however, you can play all five. There are the standard team maps, but we are also featuring a VIP Extraction map (get the key unit to safety!) and a survival map where you must last 30 rounds.</p>

<p>If Arena makes a splash and you love the co-op maps, we&#8217;ll feature more of them over time, so get in there and play and let us know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/08/14/co-op-in-arena/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Game Scripting &#8211; Part 4 &#8211; The Guide! &#8211; Chapter 2</title>
		<link>http://www.urbansquall.com/blog/2009/08/07/game-scripting-part-4-the-guide-chapter-2/</link>
		<comments>http://www.urbansquall.com/blog/2009/08/07/game-scripting-part-4-the-guide-chapter-2/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 08:01:42 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=215</guid>
		<description><![CDATA[Last week in the guide, we covered how to create your first tag, for dialog, as well as some basics for the system. If you&#8217;re new to this guide, I highly recommend reading at least last week&#8217;s entry, but ideally you&#8217;d also check out the first intro post. And of course, the guide itself is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.urbansquall.com/blog/2009/07/31/game-scripting-part-3-the-guide/">Last week</a> in the guide, we covered how to create your first tag, for dialog, as well as some basics for the system. If you&#8217;re new to this guide, I highly recommend reading at least last week&#8217;s entry, but ideally you&#8217;d also check out the <a href="http://www.urbansquall.com/blog/2009/07/20/game-scripting-part-1/">first intro post</a>. And of course, the <a href="http://www.urbansquall.com/blog/wp-content/uploads/2009/07/battalion_scripting_reference.pdf">guide itself</a> is pretty key.</p>

<p>Today we are going to cover some more crucial basics: Events and Conditions.</p>

<p>When you are scripting in the Map Editor, you&#8217;ll only use the script tag once. All your scripting must take place in between</p>

<pre><code>&lt;script&gt;
</code></pre>

<p>and</p>

<pre><code>&lt;/script&gt;
</code></pre>

<p>Add any more of those tags and you&#8217;ll break the system. So how then do you tell the editor when to make things happen? If you want to build a cool level, you don&#8217;t want everything to happen all at once, right? You want some dialog at the start, maybe a few units to appear. In the middle of the level, maybe a mystery unit appears and a new character spouts off a challenge. Then at the end, your hero brags about his victory.</p>

<p>Well, each of those instances are part of an Event, and those Events are started by certain Conditions. So, you want to think in terms of Events if you want things to happen at certain points in your map. And this shouldn&#8217;t be a surprise by now, but your Event tags are:</p>

<pre><code>&lt;event&gt;
&lt;/event&gt;
</code></pre>

<p>In between those tags you&#8217;re going to put your Event info&#8230; which is anything you want to script to have happen. The trigger for that Event to start is the Condition. Here&#8217;s a sample Condition to show you how one should look, this one is for something to occur with the game starts:</p>

<pre><code>&lt;condition type="startGame"&gt;
&lt;/condition&gt;
</code></pre>

<p>So, how would an Event and Condition look together? I&#8217;m glad you asked&#8230;</p>

<pre><code>&lt;event&gt;
&lt;condition type="startGame"&gt;
&lt;/condition&gt;
&lt;/event&gt;
</code></pre>

<p>That&#8217;s the little code sandwich you&#8217;ll place your scripting action inside of. So, if we want to have a character say something, we would do it like this:</p>

<pre><code>&lt;event&gt;
&lt;condition type="startGame"&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="You'll never get away with this, Durand."/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;
</code></pre>

<p>Add the script tags you need after that and you have a full map. But what if you want something to also occur at the end of the map? You want another Event my friend. Let&#8217;s make another one! We&#8217;ll want to change the Condition type from &#8220;startGame&#8221; to &#8220;endGame&#8221;. But be sure to review the .pdf guide for info on Conditions. There are a bunch!</p>

<p>Note that in the Condition we specify the Player by number and their Victory as true or false. True means that this player has won. False means that they did not. So, if you lose, you won&#8217;t see this text!</p>

<p>Now to business!</p>

<pre><code>&lt;event&gt;
&lt;condition type="endGame"&gt;
&lt;player value="1"&gt;&lt;/player&gt;
&lt;victory value="true"&gt;&lt;/victory&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="I'm the best!"/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;
</code></pre>

<p>But hey, let&#8217;s be fancy. Maybe we want to make sure the Player gets a new message if they lose the map. We can reuse the above code and make a very slight change to the Condition and the Chat.</p>

<pre><code>&lt;event&gt;
&lt;condition type="endGame"&gt;
&lt;player value="1"&gt;&lt;/player&gt;
&lt;victory value="false"&gt;&lt;/victory&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="I'm the worst!"/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;
</code></pre>

<p>Okay, let&#8217;s go ahead and throw that all together. This should give us a map with dialog at the start and the end&#8230; and better yet, variable text for the end depending on who wins!</p>

<pre><code>&lt;script&gt;
&lt;event&gt;
&lt;condition type="startGame"&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="You'll never get away with this, Durand."/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;

&lt;event&gt;
&lt;condition type="endGame"&gt;
&lt;player value="1"&gt;&lt;/player&gt;
&lt;victory value="true"&gt;&lt;/victory&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="I'm the best!"/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;

&lt;event&gt;
&lt;condition type="endGame"&gt;
&lt;player value="1"&gt;&lt;/player&gt;
&lt;victory value="false"&gt;&lt;/victory&gt;
&lt;/condition&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="I'm the worst!"/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;
&lt;/script&gt;
</code></pre>

<p>Check back in next week when I&#8217;ll give you some pro tips for making shorter code blocks. We&#8217;ll also cover that weird &#8220;disableControllers&#8221; response I keep using as well as try some more advanced Conditions!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/08/07/game-scripting-part-4-the-guide-chapter-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Game Scripting &#8211; Part 3 &#8211; The Guide!</title>
		<link>http://www.urbansquall.com/blog/2009/07/31/game-scripting-part-3-the-guide/</link>
		<comments>http://www.urbansquall.com/blog/2009/07/31/game-scripting-part-3-the-guide/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 08:01:22 +0000</pubDate>
		<dc:creator>scarmichael</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.urbansquall.com/blog/?p=180</guid>
		<description><![CDATA[Here we go! Two weeks ago, we introduced you to the concept of scripting. And last week we gave you the guide. This week we&#8217;re going to start to break things down nice and slow and make sure that everything is clear. To start, we&#8217;re going to look at the absolute basics of scripting.

Scripting in [...]]]></description>
			<content:encoded><![CDATA[<p>Here we go! Two weeks ago, we <a href="http://www.urbansquall.com/blog/2009/07/20/game-scripting-part-1/" target="_blank">introduced you to the concept of scripting</a>. And last week we <a href="http://www.urbansquall.com/blog/wp-content/uploads/2009/07/battalion_scripting_reference.pdf" target="_blank">gave you the guide</a>. This week we&#8217;re going to start to break things down nice and slow and make sure that everything is clear. To start, we&#8217;re going to look at the absolute basics of scripting.</p>

<p>Scripting in Arena functions a lot like writing HTML code if you are familiar with that. You need to use &#8220;tags&#8221; to tell the game engine (the game&#8217;s brain) when to do things, and when to stop doing things. The first and most obvious tag to learn then is the &#8220;script&#8221; tag. All maps will start with:</p>

<pre><code>&lt;script&gt;
</code></pre>

<p>Anything inside of &#8220;&lt; &gt;&#8221; is a command to the game engine. It&#8217;s a single order. &#8220;Do this thing&#8221;. The &lt;script&gt; command is literally saying &#8220;Start working with this scripting&#8221;.</p>

<p>So that&#8217;s how you start a command. How do you end one?</p>

<pre><code>&lt;/script&gt;
</code></pre>

<p>Notice that &#8220;/&#8221;? That&#8217;s how you end any command in the scripting system. You use the same tag that opened your scripting command, but you add &#8220;/&#8221; after the &#8220;&lt;&#8221;. This is universal for any and all commands. When the game engine has seen &lt;/script&gt;, it knows that the scripting on your map is done. All scripted actions need to take place in this one &lt;script&gt;&lt;/script&gt; set, though. You can&#8217;t use the scripting tags more than once in a map.</p>

<p>Always always always remember to use an end tag for each command. If you start something with &lt;do_something&gt;, you need to make sure you end it with &lt;/do_something&gt; or the game will be confused. How can it move onto the next thing until the first thing is finished?</p>

<p><strong>Dialog</strong></p>

<p>Let&#8217;s get started on some practical stuff now. Being the writer for Urbansquall, I&#8217;m most interested in the Chat command in the scripting engine, so that&#8217;s the one we&#8217;re going to break down today.</p>

<p>A Chat command will open up a dialog box along the bottom of the screen. It will have the name of the speaker, their text, their picture and a color for the box to indicate what team they are on.</p>

<p>Let&#8217;s start the chat command.</p>

<pre><code>&lt;response type="chat"&gt;
</code></pre>

<p>Note that most of the commands in the scripting system are going to be formatted in the &lt;response type=&#8221;"&gt; method. Inside the quotes you&#8217;ll list the word that specifies the type and tells the system exactly what you want to be doing.</p>

<p>Now how do you set the different items for a chat (speaker, message, image, box color)? Use the following, where the text in all caps gets changed out for something real in the actual map editor:</p>

<pre><code>Speaker - &lt;sender value="NAME"&gt;

Text - &lt;message value="TEXT"&gt;

Image - &lt;avatar value="IMAGE_NAME"&gt;

Box color - &lt;color value="COLOR"&gt;
</code></pre>

<p>Pretty simple. And of course, once you&#8217;ve finished this up, how do you end things? Well, you started with a &lt;response&gt; tag, so&#8230;</p>

<pre><code>&lt;/response&gt;
</code></pre>

<p>Let&#8217;s look at something like it might actually look in the game.</p>

<pre><code>&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"&gt;
&lt;message value="You'll never get away with this, Durand."&gt;
&lt;avatar value="tucker"&gt;
&lt;color value="red"&gt;
&lt;/response&gt;
</code></pre>

<p>This will,  of course, pop up a dialog from Tucker. If you want to have another line of dialog, you just need to add another one of these code blocks. Like so:</p>

<pre><code>&lt;response type="chat"&gt;
&lt;sender value="General Durand"&gt;
&lt;message value="Oh, but I already have, Tucker. You're too late."&gt;
&lt;avatar value="durand"&gt;
&lt;color value="blue"&gt;
&lt;/response&gt;
</code></pre>

<p>As long as you&#8217;re placing these between &lt;script&gt; and &lt;/script&gt;, you&#8217;ve just made some level dialog for yourself.</p>

<p><strong>Sample Level Script</strong></p>

<p>Let&#8217;s get you a whole level you can work with. If you create a map and paste this all into the scripting field in the Map Editor, you should get a playable level with some dialog. Don&#8217;t worry about the bits you don&#8217;t understand yet, I&#8217;ll cover those later.</p>

<pre><code>&lt;script&gt;
&lt;event&gt;

&lt;condition type="startGame"/&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="true"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="You'll never get away with this, Durand."/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="General Durand"/&gt;
&lt;message value="Oh, but I already have, Tucker. You're too late."/&gt;
&lt;avatar value="durand"/&gt;
&lt;color value="blue"/&gt;
&lt;/response&gt;

&lt;response type="chat"&gt;
&lt;sender value="Captain Tucker"/&gt;
&lt;message value="We settle this now."/&gt;
&lt;avatar value="tucker"/&gt;
&lt;color value="red"/&gt;
&lt;/response&gt;

&lt;response type="disableControllers"&gt;
&lt;disable value="false"&gt;&lt;/disable&gt;
&lt;/response&gt;

&lt;/event&gt;
&lt;/script&gt;
</code></pre>

<p>There&#8217;s a lot more to come, though! Keep your eyes on urbansquall.com!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.urbansquall.com/blog/2009/07/31/game-scripting-part-3-the-guide/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
