<?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>MochiLand &#187; Developer Spotlight</title>
	<atom:link href="http://mochiland.com/category/mochiland/developer-spotlight/feed" rel="self" type="application/rss+xml" />
	<link>http://mochiland.com</link>
	<description>for(developer in flash_games){ this.mochiland = _root }</description>
	<lastBuildDate>Fri, 18 May 2012 19:04:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Flash Game Friday Winner: Hotel Baron</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-hotel-baron</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-hotel-baron#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:00:09 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[DigiCroc]]></category>
		<category><![CDATA[Hotel Baron]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[winner]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6233</guid>
		<description><![CDATA[Winner&#8217;s Circle This Week&#8217;s Flash Game Friday winner is Hotel Baron by DigiCroc! &#160; If you like resource management games, you will really enjoy Hotel Baron. As the game name states, you are a hotel builder. You start by selecting your plot of land to build on (different plots have different characteristics). Once you do [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This Week&#8217;s Flash Game Friday winner is <a href="http://www.mochimedia.com/games/play/hotel-baron">Hotel Baron</a> by <a href="http://digicroc.com/">DigiCroc</a>!</p>
<p><a href="http://www.mochimedia.com/games/play/hotel-baron"><img class="alignleft size-full wp-image-6234" style="border: 0px;" title="hotelbaron_mochipromo" src="http://mochiland.com/wp-content/uploads/2012/03/hotelbaron_mochipromo.png" alt="" width="560" height="280" /></a></p>
<p>&nbsp;</p>
<p>If you like resource management games, you will really enjoy Hotel Baron.</p>
<p>As the game name states, you are a hotel builder. You start by selecting your plot of land to build on (different plots have different characteristics). Once you do that, you have a lump sum of borrowed money that you can use to build out your hotel&#8217;s structure, staff, and amenities.</p>
<p>The fun in the game is raking in the cash. When you find the right balance between supply and demand, the cash is plentiful. But things like earthquakes can throw a wrench in the works, so you have to stay alert and respond to customer feedback.</p>
<p>Hotel Baron is a really fun resource management game with a lot of factors that you need to pay attention to, and you are rewarded as your hotel revenue improves and gains in popularity. Congratulations DigiCroc!</p>
<h2>Get To Know DigiCroc</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>My name is Mikko and I run a small flash/mobile game dev studio called DigiCroc, which consists of myself doing various tasks from concept design to marketing, Miikka in pixel graphics design/programming and Neil in graphics design/animation. I&#8217;m based in Espoo, Finland, a town that is famous for Nokia and Angry Birds. (and soon Hotel Baron of course ;)</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>Making, releasing and marketing games has been a great hobby for me for a long time already, started somewhere in the mid-1990&#8242;s. Before that&#8230; well, I was a kid, didn&#8217;t do anything too meaningful. :D</p>
<h4>What was your inspiration for &#8220;Hotel Baron&#8221;?</h4>
<p>I actually made the first design of the concept back in 2005 and some half-working prototype of it, but it never saw the light of day back then. Now obviously the inspiration for this &#8217;2nd coming&#8217; was this original concept, but looking further back, I think it goes back to those old school classic simulation games like some of the sim series and tycoon games, which I enjoyed playing with my friends back in the 386/486 times.</p>
<h4>Any major challenges or hurdles during development?</h4>
<p>Hotel Baron was a &#8220;big&#8221; production for us, so naturally there were challenges on the way, but nothing we couldn&#8217;t overcome.</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>I don&#8217;t really have a favorite genre. I try to tackle many types of games and not restrict myself on just those which I may have succeeded with before. I mostly enjoy unique concepts and making something that hasn&#8217;t been done by anyone else like that before.</p>
<p>As for playing games, I don&#8217;t really have the time nowadays, unfortunately. I play mostly small casual games every now and then, as well as Kinect on the Xbox. But those crazily massive never-ending Civilization sessions of my youth are quite far in the past&#8230;</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>I&#8217;m aiming for 2-3 month (=part time) cycle from design to release, so we&#8217;re talking about relatively simple and small games here. Hotel Baron, on the other hand, was perhaps quadrupled in time, but anyway. The process is rather flexible, starting from the concept, initial design and prototyping and from there to graphics production, etc, etc, testing and release. I like to emphasize the importance of post-release activities like marketing in general or publishing deals to ensure that the game attracts the largest possible audience.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>Rock stars and game developers are two different animals&#8230; but there are so many skilled people and have been in the past, I don&#8217;t even know where to start&#8230;so I won&#8217;t. :D</p>
<h4>What is it about making a new game that you enjoy most?</h4>
<p>To get it finished. :) To turn the question other way around; I absolutely hate to abandon any (half-serious) project. The releasing and marketing part is obviously the most rewarding part of game making. When you have the final game in your hands which you know is fun and has that uniqueness in it, but which the larger audience is yet to see and play, I think it&#8217;s just a superb feeling to let the world know about it.</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>Sure, we&#8217;re working on a couple of very promising games which will be available both on Flash and iPad at least in the coming weeks and months. More about those later when you feature them here on Mochi. ;)</p>
<p>&nbsp;</p>
<p><em><strong>Thanks Mikko, best of luck to you and the team on your upcoming games!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-hotel-baron">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-hotel-baron#comments">4 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-hotel-baron&amp;title=Flash Game Friday Winner: Hotel Baron">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-hotel-baron" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-hotel-baron/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash Game Friday Winner: UMAG 2</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-umag-2</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-umag-2#comments</comments>
		<pubDate>Fri, 23 Mar 2012 20:05:48 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[UMAG 2]]></category>
		<category><![CDATA[winner]]></category>
		<category><![CDATA[Zworp]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6221</guid>
		<description><![CDATA[Winner&#8217;s Circle This week&#8217;s Flash Game Friday winner is UMAG2 by DEVM-Games! UMAG2 is great new multiplayer game by DEVM-Games! In this real-time multiplayer game, you get to jump in the arena and take people out. There are many options, which range from 1v1 turn-based to 4vs4 sim (which tends to be a quicker match). [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This week&#8217;s Flash Game Friday winner is <a href="http://www.mochimedia.com/games/play/umag2">UMAG2</a> by <a href="www.devm-games.com">DEVM-Games</a>!</p>
<p><a href="http://www.mochimedia.com/games/play/umag2"><img class="alignleft size-full wp-image-6222" style="border: 0px;" title="UMAG2_big_promo_mochigames2" src="http://mochiland.com/wp-content/uploads/2012/03/UMAG2_big_promo_mochigames2.jpg" alt="" width="560" height="280" /></a></p>
<p>UMAG2 is great new multiplayer game by DEVM-Games!</p>
<p>In this real-time multiplayer game, you get to jump in the arena and take people out. There are many options, which range from 1v1 turn-based to 4vs4 sim (which tends to be a quicker match).</p>
<p>This game is all about customization (and shooting, of course). You can customize your badge and your tank. As you gain XP (through wins and playing time), more customization options become available.</p>
<p>This is a really robust game, with live chat, clans, and even a dedicated forum. More importantly, though, is that its fun- congratulations DEVM-Games!</p>
<h2>Get To Know DEVM-Games</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>My name is Jan Rigerl, I&#8217;ve done the technical stuff and game design for UMAG2. The graphics and sound was done by Rik Nicol. I&#8217;m currently living in Malta, a small island in southern Europe, but I&#8217;m originally from Sweden.</p>
<p>In creating UMAG2, I had a lot of very helpful beta testers.</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>I&#8217;ve worked with games in one way or another for about 10 years, and before that I was in school. :)</p>
<p>I&#8217;ve been self-employed for just over 3 years now.</p>
<h4>What was your inspiration for &#8220;UMAG2&#8243;?</h4>
<p>The inspiration for the UMAG games has been the old classic artillery games such as Scorched Earth, but also newer variants such as Worms. When I started on UMAG1 there wasn&#8217;t many other online multiplayer artillery games around.</p>
<h4>Any major challenges or hurdles during development?</h4>
<p>Floating point numbers. It&#8217;s been a real problem to get physics to synchronize perfectly between clients since the rounding of the numbers rarely but sometimes differ depending on Flash Player version, browser, operating system or CPU. It&#8217;s a problem that&#8217;s also present in UMAG1.</p>
<p>It&#8217;s one of those bugs that I&#8217;ve never been able to reproduce myself but I can see happens every now and then in the logs. I&#8217;ve tried a lot of different ways to solve this, during most of the development of UMAG2 I thought I had solved it, but once I started getting a larger amount of traffic it appeared in the logs again. Luckily the difference very rarely is large enough to affect the game.</p>
<p>Other than that I&#8217;ve had a lot of threading bugs on the server, I&#8217;ve written my own multiplayer server but I&#8217;m not very good at writing threaded code. :(</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>I like to create games that differ from what I&#8217;ve created before, but I don&#8217;t have any favorite genre. It&#8217;s going to take a long time before I make another multiplayer game though, there&#8217;s just sooo much more work than single player games.</p>
<p>I like RPGs a lot, just completed Mass Effect 3, but I play almost all the major types of games.</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>Differs greatly, everything from a week to 8 months.</p>
<p>Often the project just starts with some sort of visual look or feel that interests me, and then the game idea comes later. I try to get a playable prototype early and then go over it in iterations to improve.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>If I start writing names of studios here I&#8217;ll just forget someone really important so I&#8217;ll pass on that question. :P</p>
<h4>What is it about making a new game that you enjoy most?</h4>
<p>Doing something new, finding new problems and solving them, creating a &#8220;machine&#8221; that seemingly does things by itself. And it&#8217;s a great opportunity to create a product by yourself that can be enjoyed by others.</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>I&#8217;m mainly working on projects for clients now.. But I did just start on a Stage3D project which I will be working on during weekends. I haven&#8217;t decided if it will be a racing game or maybe some sort of dune buggy shooter. It&#8217;s fun to finally be able to leverage the GPU in Flash.</p>
<p>A small video from it in it&#8217;s current (very early) state, http://www.youtube.com/watch?v=hruLkg7NXTk</p>
<p><em><strong>Thanks and congratulations again DEVM-Games- good luck with your Stage3D project!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-umag-2">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-umag-2#comments">2 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-umag-2&amp;title=Flash Game Friday Winner: UMAG 2">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-umag-2" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-umag-2/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash Game Friday Winner: Hands of War Tower Defense</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense#comments</comments>
		<pubDate>Fri, 10 Feb 2012 17:00:27 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[Game Showcase]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[Axis Games]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Hands of War Tower Defense]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[winner]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6191</guid>
		<description><![CDATA[Winner&#8217;s Circle This week&#8217;s Flash Game Friday winner is Hands of War Tower Defense by Axis Games! Hands of War TD is a fun, well-made tower defense game! You begin with a really in-depth backstory describing a bit of the history of Tempor and the state of things. Essentially, the kingdom has grown weak and susceptible [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This week&#8217;s Flash Game Friday winner is <a href="http://www.mochimedia.com/games/play/hands-of-war-tower-defense">Hands of War Tower Defense</a> by <a href="www.axis-games.com">Axis Games</a>!<br />
<a href="http://www.mochimedia.com/games/play/hands-of-war-tower-defense"><img class="alignleft size-full wp-image-6192" style="border: 0px;" title="Hands of War TD" src="http://mochiland.com/wp-content/uploads/2012/02/Hands-of-War_560x280.png" alt="" width="560" height="280" /></a><br />
Hands of War TD is a fun, well-made tower defense game!</p>
<p>You begin with a really in-depth backstory describing a bit of the history of Tempor and the state of things. Essentially, the kingdom has grown weak and susceptible to enemy attack. That is where you come in.</p>
<p>You are the last hero of Tempor, and it is your duty to fend off the enemy swarm. You use tower defense strategy to defeat your enemies and advance through the kingdom, re-uniting as you go. The more levels you complete, the more experience you gain. This helps you to unlock new towers as well as gain points that you can use to increase your skill levels.</p>
<p>Hands of War Tower Defense is a great tower defense game. For that reason alone it is deserving, but the story, game design, mechanics, and attention to detail make it an obvious choice for Flash Game Friday. Congratulations Axis Games!</p>
<h2>Get To Know Danny of Axis Games</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>I am 27-years old and work as a high school programming teacher.  I&#8217;ve got a beautiful wife, two-year old son, and a new daughter due this July.  Axis Games is based out of Charlotte, NC and we&#8217;ve got a group of 6 members who participate in the design of a game in varying degrees.  What makes our development team so great is how close we are.  Most of us are either family or have been close friends for 20+ years.  We play MMOs together, eat together, and share a passion for great games and stories.  Broken down, I have a team of two fantastic writers who help with the creation of storylines and quests, and a group of three who aid in the design and development of ideas, characters, abilities and everything else that goes along with creating a game.  The actual programming and creating of the game in Flash falls to me.  The graphics, voice-acting and music are all done by outside companies.</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>I made my first game my senior year of high school in 2003.  It was called Capture the Flag, and it was bad!  I had no formal programming or game design education and had to teach myself Flash and ActionScript from a book (Jobe Makar&#8217;s Flash Game Design Demystified). The book was fantastic and I couldn&#8217;t have gotten started without it.  I spent the next few years in college pursuing an education degree and making bad games. I finally got tired of making games that people hated and decided to take it more serious.  I scraped together some money, hired an artist, and made Hands of War in 2007.</p>
<h4>What was your inspiration for &#8220;Hands of War Tower Defense&#8221;?</h4>
<p>Players really wanted to know what happened after Hands of War 2.  Tempor was in ruins following the second civil war, and I felt like I could tell the story of what happened next through a Tower Defense game better than I could through an RPG.</p>
<h4>Any major challenges or hurdles during development?</h4>
<p>The major challenge in developing this game was trying to take the game features that players really liked from Hands of War RPG series and implement them into a different genre.  On top of that, because there are so many great tower defense games out there, I knew people would naturally compare this game to all the others.</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>RPGs &#8211; especially ones based in Medieval/Fantasy worlds!  I love great stories, and RPGs allow them to be told in an interactive environment.</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>It typically takes 6-9 months from inception to final product.  The process involves first brainstorming and creating a design document, then creating, testing and refining the game.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>I love the GemCraft series, and got a lot of inspiration from those guys on Hands of War TD.  I&#8217;m also a big fan of John (jmtb02) over at Armor Games.  His elephant games are so creative.</p>
<h4>What is it about making a new game that you enjoy most?</h4>
<p>Taking a blank, white screen and making something that people can lose themselves in for hours.  I love telling stories of heroism and bravery, and think it&#8217;s really cool that players can actually take part in them through a game.</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>We&#8217;re currently in the process of designing Hands of War 3.  The Axis Games community put forth a lot of great ideas and we couldn&#8217;t resist continuing the story.  Players can follow the development of the game in the Beta Testing section of our forums here - www.axis-games.com/forums.</p>
<p>&nbsp;</p>
<p><em><strong>Thanks Danny, and congratulations on winning Flash Game Friday!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense&amp;title=Flash Game Friday Winner: Hands of War Tower Defense">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland/featured-games" title="View all posts in Game Showcase" rel="category tag">Game Showcase</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-hands-of-war-tower-defense/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Game Friday Winner: Catnarok 2: Longcat Rampage</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage#comments</comments>
		<pubDate>Sat, 04 Feb 2012 01:30:24 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[Game Showcase]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[Antoine Litzler]]></category>
		<category><![CDATA[Catnarok 2: Longcat Rampage]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[winner]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6174</guid>
		<description><![CDATA[Winner&#8217;s Circle This week&#8217;s Flash Game Friday winner is Catnarok 2: Longcat Rampage by Antoine Litzler! If you are an internet geek, you&#8217;ll love this game. Memes and parody abound as Antoine manages to pull in countless familiar characters into one hilarious game! You are the longcat, and you are definitely on a rampage. You [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This week&#8217;s Flash Game Friday winner is <a href="http://www.mochimedia.com/games/play/catnarok-2-longcat-rampage">Catnarok 2: Longcat Rampage</a> by <a href="https://www.mochimedia.com/community/profile/Hyakkidouran">Antoine Litzler</a>!</p>
<p><a href="http://www.mochimedia.com/games/play/catnarok-2-longcat-rampage"><img class="alignleft size-full wp-image-6185" style="border: 0px;" title="Catnarok 2" src="http://mochiland.com/wp-content/uploads/2012/01/Catnarok-2.jpg" alt="" width="560" height="280" /></a><br />
If you are an internet geek, you&#8217;ll love this game. Memes and parody abound as Antoine manages to pull in countless familiar characters into one hilarious game!</p>
<p>You are the longcat, and you are definitely on a rampage. You shoot fire and even lasers from your eyes at incoming enemies. As you progress, more and more familiar memes are revealed. Antoine added a directory of the characters he used in his games, and their origins (giving proper credit).</p>
<p>Catnarok 2: Longcat Rampage, in movie terms, would be referred to as &#8220;An irreverent good time&#8221;- congratulations on winning Flash Game Friday, Antoine!</p>
<h2>Get to Know Antoine Litzler</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>My name is Antoine Litzler, but you might know me as my fancy online name &#8220;Hyakkidouran&#8221;, which is probably the only thing close to cool I will ever get. I am a froggie and am based in Frogland (some call it France).</p>
<p>This might be dissapointing to some people, but I am not much more than a bedroom programmer working alone. I wish I could say I have a dynamic and great team I am working with, but life has not put other crazies like me on my way yet (or a pile of gold to hire crazies), so I have to make do with my own hands.</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>I think I started about 5 years ago with (what else?) a dress up game. But, even though my games got more complex, this always has been amateur or semi-pro (if that word even has a meaning) work, as I could not make enough money to consider quitting a regular job. Even today, I still have my day job as a computer developer/administrator for a huge cultural association.</p>
<p>I am probably not being original by saying that being able to live from making what I do on my own would be awesome. But I still have to thank my day job for providing me with food and licenses for Photoshop and Flash CS until now. Without this food and software, I would not be making games..</p>
<h4>What was your inspiration for &#8220;Catnarok 2: Longcat Rampage&#8221;?</h4>
<p>Wasn&#8217;t it obvious? Memes.</p>
<p>Internet memes are very diverse and range from being really funny to being pure crap. I really like the older memes in particular, like &#8220;Longcat&#8221; or &#8220;All your base are belong to us&#8221;, which spawned pretty funny and interesting content.</p>
<p>But now it seems that young teenagers attempt to artificially create memes for the sake of &#8220;internet fame&#8221;, which usually results in crap. The good memes were usually born from a natural selection process of something that is actually funny, and that was how it worked in the early 2000&#8242;s.</p>
<p>The idea of the game was to adapt the &#8220;internet legend&#8221; of Longcat, while giving the opportunity to kill some bad memes.</p>
<p>The first Catnarok was kind of a prototype for that idea. When I saw that the prototype did fairly well despite its simplicity, I decided it was worth it to invest the time to get closer to my original vision.</p>
<h4>Any major challenges or hurdles during development?</h4>
<p>&#8230;Everything?</p>
<p>Joke aside, I think the hardest was that I had to stop the project for extended periods of time as my job or other IRL things pulled my leg. Coming back to the code after 1 month of not writing anything was a nightmare.</p>
<p>I also was pretty scared of the potential copyright issues.</p>
<p>Since there are sites out there which make money from referencing memes, I figured that, if I traced/redrew over the meme pictures, I would probably be fine (and I probably am since mochi approved the game), but I admit this worried me through all the development. I was scared that all that work would go for naught if some guy came and said &#8220;sorry, this parody, that is like the over 9000 there already are, is copyright infringement because it is more visible than the others&#8221;. ?_-</p>
<p>I also can&#8217;t do music, meaning I have to rely on the generosity of people online for it (usually throught people on Newgrounds audio portal or classic public domain music). All this creates kind of a legal mess that I am pretty scared of and it might be the greatest obstacle there is to moving to actual commercial game development.</p>
<p>Fair use is a blurry line, and it seems I did not cross it on that particular project, at least to the eyes of the users&#8230;this is quite a relief.</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>Being a bedroom programmer, I have to create games I can grasp entirely on my own.</p>
<p>This is why I create usually shoot-them-ups or puzzle games. Those are simple enough for my monkey brain.</p>
<p>I have little interest in studying 3D because I think it is out of my reach (for now?), plus I am actually quite the japanese anime fan, and I really love the way 2D looks and feels.</p>
<p>Considering this, you will not be surprised to hear that I am a great fan of Japanese 2D fighters like Guilty Gear, Blazblue or Arcana Heart. In general, I can enjoy anything with good 2D graphics, unless the gameplay really sucks.</p>
<p>I am also quite the fan of Starcraft and Deus Ex. And I also have some very obscure games that I have been loving since 20 years and still play sometimes, like &#8220;Ristar&#8221; or &#8220;Zoom!&#8221; .</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>I am that kind of person who usually has 20 funny and unrealistic ideas per minute, so the main part of the process is to filter those ideas by wondering &#8220;what can I, with my skill and time currently at hand, actually do?&#8221;. Once I can envision an idea that is simple enough to code, but still feels like it will be fun despite my limited ressources, I start working on it.</p>
<p>After that, it usually becomes pretty chaotic, since I am forced to code and draw when I can, with sometimes huge periods during which I can&#8217;t do anything on the game. Talking about a &#8220;process&#8221; would be complimenting this mess really.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>Daisuke Ishiwatari, who is litterally a developer AND a rock star.</p>
<p>I am also quite a fan of the early work of Peter Molyneux on the PC, before he started doing this Fable-RPG thing. Even though I don&#8217;t play his games as regularily as the ones I quoted earlier, all of them are really good, intriguing games that qualify as &#8220;unique experiences&#8221;.</p>
<p>I also admire all indie developers. Period. I realized how much it takes balls to do games, and everyone taking this risk without stable financing deserves respect.</p>
<h4>What is it about making a new game that you enjoy most?</h4>
<p>Hard to tell. What is certain is that the moment your prototype runs well enough, allowing you to play the game from start to finish, do feel really special. The polishing and balancing that comes after that is actually way more tedious (but unfortunately necessary).</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>Do I! I virtually have a pile of projects waiting that I can&#8217;t wait to recede.</p>
<p>I think that the hottest news is that I have been working on creating a completely original license, based on my love for anime. I took a few clues from Mochi&#8217;s very own Mr. Shen, and thought it would be a great idea to have a cross-media character that I could use for games, comics, or virtually anything I want.</p>
<p>This character is &#8220;Serina, the star guardian&#8221;, a character heavily influenced by the magical girl genre, but with a bunch of personnal twists that hopefully will make her unique. Besides expressing my anime love, I am also creating this character for the sake of all the kids in my family, which makes this project even more stimulating and interesting.</p>
<p>Overall, I have great hopes for the future, and maybe this feature of Catnarok 2 will contribute to that extra boost I need to start my own thing into full steam. And if it&#8217;s not&#8230; well, I am ready to keep doing my dirty things in my bedroom at night. :)</p>
<p>&nbsp;</p>
<p><em><strong>Thanks Antoine, and congratulations again on winning Flash Game Friday!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage&amp;title=Flash Game Friday Winner: Catnarok 2: Longcat Rampage">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland/featured-games" title="View all posts in Game Showcase" rel="category tag">Game Showcase</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-catnarok-2-longcat-rampage/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Game Friday Winner: Greens Survive Only When Reds Die</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die#comments</comments>
		<pubDate>Sat, 28 Jan 2012 00:24:08 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[Game Showcase]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[Greens Survive Only When Reds Die]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[Oleksii Zagorodnii]]></category>
		<category><![CDATA[winner]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6176</guid>
		<description><![CDATA[Winner&#8217;s Circle This week&#8217;s Flash Game Friday winner is Greens Survive Only When Reds Die by Oleksii Zagorodnii! You have to love a game with instructions in the title, and this title pretty much says it all- Greens Survive Only When Reds Die! The object is to get the green guy through the door. Problem [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This week&#8217;s Flash Game Friday winner is <a href="http://www.mochimedia.com/games/play/greens-survive-only-when-reds-die">Greens Survive Only When Reds Die</a> by <a href="http://www.friedpixel.com/">Oleksii Zagorodnii</a>!<br />
<a href="http://www.mochimedia.com/games/play/greens-survive-only-when-reds-die"><img class="alignleft size-full wp-image-6178" style="border: 0px;" title="Greens Survive Only When Reds Die" src="http://mochiland.com/wp-content/uploads/2012/01/Greens-Survive-Only-When-Reds-Die.png" alt="" width="560" height="280" /></a><br />
You have to love a game with instructions in the title, and this title pretty much says it all- Greens Survive Only When Reds Die!</p>
<p>The object is to get the green guy through the door. Problem is, you have to make sure to kill the red guys in order to get the door open&#8230;without killing the green guy, of course!</p>
<p>Greens Survive Only When Reds Die is a great platformer witha unique gameplay twist- congratulations Oleksii!</p>
<h2>Get To Know Oleksii Zagorodnii</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>There is one person in my team, this is me :). I live in Kyiv, Ukraine. I do programming and art by myself, but I know nothing about writing music, so the music for most of my games is created by Alexander Ahura. He is a really great composer and I&#8217;m happy to work with him.</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>I&#8217;ve been making (actually, trying to make) games since I was in school. Back in those days I used Game Maker and then BlitzMax, but never actually finishing anything. I completed my first Flash game in the summer of 2010, and since then I have created six more games, all of which can be found at my site: <a href="http://www.friedpixel.com/">friedpixel.com</a>.</p>
<h4>What was your inspiration for &#8220;Greens Survive Only When Reds Die&#8221;?</h4>
<p>I really love platform games and wanted to create something original and fun in this genre. The idea of playing with lots of characters at the same time looked promising. However, I saw a few released games where players controlled several characters simultaneously, so I decided to add a twist, and make some of these controlled characters &#8216;bad&#8217;, setting a task for players to kill them.</p>
<h4>Any major challenges or hurdles during development?</h4>
<p>The main challenge for me is my laziness. I&#8217;m not a full-time game developer. I have a dayjob and sometimes it&#8217;s very difficult to start working on a game, especially when the prototype and all of the experiments are done and there are lots of things and polishing to be done to complete the final version.</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>I love to create different arcade and platform games. I also enjoy playing platform games in Flash and on mobile devices the most. Sometimes I also play some big AAA games on XBox, the last were Gears of War and Skyrim.</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>Usually it takes 2-3 months to finish a game. There is not so much work in the type of games I create, but I can&#8217;t spend a lot of time on them. There is no particular process; I just do the things that need to be done to create the game.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>I really admire indie developers who create original and fun games, especially those who share their experience and help less experienced game creators. I would name Adam Atomic (Canabalt and Flixel, my favorite Flash engine) and Johnny-K (Cover Orange, Ragdoll Cannon).</p>
<h4>What is it about making a new game that you enjoy most?</h4>
<p>At the first stages of development it&#8217;s really fun to try new things and see how game mechanic starts working. Later, when the game is released, I like to read reviews from players on different sites. It&#8217;s really great to know that some people from the different corners of the Earth like your creation.</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>Everyone is making mobile games now. I thought that I also may try to create something in this field and started new arcade shooter for iPhone with my friend. Unfortunately, we didn&#8217;t make it as quickly as we would have liked, and it&#8217;s still a little too early to draw any conclusions about the success of the game.</p>
<p>&nbsp;</p>
<p><em><strong>Thanks Oleksii, and congratulations again on winning Flash Game Friday!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die#comments">2 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die&amp;title=Flash Game Friday Winner: Greens Survive Only When Reds Die">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland/featured-games" title="View all posts in Game Showcase" rel="category tag">Game Showcase</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-greens-survive-only-when-reds-die/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash Game Friday Winner: Orbits</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-orbits</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-orbits#comments</comments>
		<pubDate>Mon, 23 Jan 2012 22:17:48 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[Game Showcase]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[Andy Brown]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[Orbits]]></category>
		<category><![CDATA[winner]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6162</guid>
		<description><![CDATA[Winner&#8217;s Circle This week&#8217;s Flash Game Friday winner is Orbits by Andy Brown! Orbits is a really well-made physics-based puzzler. You are a ship, and you have to propel yourself to the target on the planet. As you complete this task, you advance to the next level. You start in Autumn, and work your way [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This week&#8217;s Flash Game Friday winner is <a href="http://www.mochimedia.com/games/play/orbits_v858584">Orbits</a> by <a href="https://www.mochimedia.com/community/profile/AndyBrown">Andy Brown</a>!</p>
<p><a href="http://www.mochimedia.com/games/play/orbits_v858584"><img class="alignleft size-full wp-image-6164" style="border: 0px;" title="Orbits" src="http://mochiland.com/wp-content/uploads/2012/01/Orbits.png" alt="" width="560" height="280" /></a></p>
<p>Orbits is a really well-made physics-based puzzler. You are a ship, and you have to propel yourself to the target on the planet. As you complete this task, you advance to the next level. You start in Autumn, and work your way through Spring, Summer, and Winter, each with their own design and music.</p>
<p>So, just aim for the target right? Well, it isn&#8217;t <em>that</em> easy. There are a certain amount of moves it should take you to complete each level, and you gain points for coming in at or under &#8220;par&#8221;, so keep an eye on your click level. If you go over your click level it is very bad for your score!</p>
<p>Obstacles also get in your way, where you need to go around them just to get close to the target. Coins are available throughout the game, which you can collect. You can use these coins to upgrade your ship. There are also 20 different achievements waiting to be unlocked!</p>
<p>Orbits is a well-made game with great artwork and fun game mechanics. Congratulations Andy Brown!</p>
<h2>Get To Know Andy Brown</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>We have three people on our team right now, Sam, Chris, and myself. Sam does artwork and design, Chris does the music, and I do the programming and whatever else is needed. I currently live in Northern Idaho, USA.</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>My first released Flash game was in 2006, but I started making games a few years before that, and designing them long before that just drawing out concepts on paper. I didn&#8217;t do anything before making games, I was making them while I was still in high school.</p>
<h4>What was your inspiration for &#8220;Orbits&#8221;?</h4>
<p>This was actually the first game that I&#8217;ve made where I did not come up with the original concept. I asked the designer / artist of the game and he said: &#8220;It just.. came to me *adjusts sunglasses*&#8221;.</p>
<h4>Any major challenges or hurdles during development?</h4>
<p>There were a few new concepts in this game for me that took me awhile to get working how I wanted. The gravity mechanics and the bouncing mechanics took me the longest to get right without over complicating the whole process.</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>This is a really hard question for me, as I like playing and making almost all genres of games. I think I have the most fun making games with randomly generated content, because then I get excited when seeing something new every time I playtest it. Lately I&#8217;ve been playing a lot of Skyrim, so I will just leave it at that for what I play the most.</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>My game creation cycles vary for every game, and gets shorter as I master more techniques. Orbits took us nearly six months to make and polish. My process usually consists of coming up with a game idea,  brainstorming with my co-workers and friends, writing down the best ideas and then just start making the game, adding in new ideas and crossing out others as the game continues development.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>There are actually quite a few! Shigeru Miyamoto, John Carmack, Gabe Newell, and Tim Schafer would be the ones I admire the most. What is it about making a new game that you enjoy most? My favorite moment is when I&#8217;m struggling with a new idea and I finally get the idea working in the game. It&#8217;s a very rewarding feeling to see your ideas come to life.</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>Yes, I do! I&#8217;m currently working on a couple projects.</p>
<p>The first one is a platformer where you play as a ninja and is planned to play like a distance game where you must keep running to the right with randomly generated obstacles, collect coins, and purchase upgrades.</p>
<p>The second project is a RPG where you are stranded on an island and need to survive by foraging, crafting, and killing wild animals. This one started as a Ludum Dare 22 project and I had so much fun with the idea that I decided I would flesh it out and make a full game out of it.</p>
<p>&nbsp;</p>
<p><em><strong>Thanks Andy, best of luck to you and the team on your upcoming projects!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-orbits">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-orbits#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-orbits&amp;title=Flash Game Friday Winner: Orbits">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-orbits" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland/featured-games" title="View all posts in Game Showcase" rel="category tag">Game Showcase</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-orbits/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Game Friday Winner: Raze 2</title>
		<link>http://mochiland.com/articles/flash-game-friday-winner-raze-2</link>
		<comments>http://mochiland.com/articles/flash-game-friday-winner-raze-2#comments</comments>
		<pubDate>Mon, 09 Jan 2012 20:22:17 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Game Friday]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Juice-Tin]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[Raze 2]]></category>
		<category><![CDATA[winner]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=6131</guid>
		<description><![CDATA[Winner&#8217;s Circle This week&#8217;s Flash Game Friday Winner is Raze 2 by Juice-Tin! If shooters are your thing, this will be your new favorite game. Raze 2 really delivers as a big-time shooter with a ton of polish and tight gameplay. You are a soldier in the Raze unit, and your mission is to eradicate [...]]]></description>
			<content:encoded><![CDATA[ <h1>Winner&#8217;s Circle</h1>
<p>This week&#8217;s Flash Game Friday Winner is <a href="http://www.mochimedia.com/games/play/raze-2">Raze 2</a> by <a href="http://www.juice-tin.com/">Juice-Tin</a>!</p>
<p><a href="http://www.mochimedia.com/games/play/raze-2"><img class="alignleft size-full wp-image-6135" style="border: 0px;" title="Raze 2" src="http://mochiland.com/wp-content/uploads/2012/01/Raze-2_560x280.jpg" alt="" width="560" height="280" /></a></p>
<p>If shooters are your thing, this will be your new favorite game. Raze 2 really delivers as a big-time shooter with a ton of polish and tight gameplay.</p>
<p>You are a soldier in the Raze unit, and your mission is to eradicate aliens from the planet. You have a wide range of weapons to select from, and as you play you can upgrade your soldier with a variety of options. Speaking of upgrades, you can also upgrade a bunch of abilities and items using an in-game credits system- so you can really customize the game and your soldier to your liking!</p>
<p>All of these upgrades, amazing artwork, and superb gameplay make Raze 2 a natural choice for Flash Game Friday. Congratulations Juice-Tin!</p>
<h2>Get To Know Juice-Tin</h2>
<h4>Tell me about yourself- how many people are on your team? Where are you based?</h4>
<p>As of right now, our team consists of one programmer (myself), and two artists. They take turns making games with me, as their both also busy with school/work. Right we&#8217;re located in Canada, Ontario/Quebec and are planning on forming a company soon and expanding to a much bigger staff. Games will still be created by only two people, but a bigger staff means we can work on multiple games at once, on multiple platforms!</p>
<h4>How long have you been making games? What did you do before?</h4>
<p>Funny thing is that all three of us always wanted to be artists, including me! I&#8217;ve always loved drawing and expressing my creativity. When I finally tried programming in highschool I fell in love, and have been creating games just for fun ever since. It wasn&#8217;t until about 3 years ago that I finally decided my work was good enough to release publicly.</p>
<h4>What was your inspiration for &#8220;Raze 2&#8243;?</h4>
<p>One of the things we really wanted to achieve, was the big environments found in the Halo games, and the very vibrant and almost exotic areas from the game Bullet Storm. We really wanted it to feel like you were just a small person in a huge world, despite being limited to a small map. As you can also probably tell, we&#8217;re both fans of the leveling up and upgrading systems found in many shooters today. It was these new PC/Console first person shooters that made us strive to make the biggest and best game we possibly could. Since we can&#8217;t yet make a full game for PC/Console, we wanted to achieve as close to it as possible with Raze 2.</p>
<h4>What are the major improvements / changes compared to the original Raze?</h4>
<p>There&#8217;s really too many to list here. We read almost every possible comment about Raze 1, and because of the success it had, really wanted to fix as many problems people had with the original Raze as possible. We first started with a completely new game engine, created from scratch. Raze 2 now features tighter controls/camera, smarter AI, and a 100x better game engine, that allows an incredible amount of detail in the maps and effects (including waterfalls, sparks, etc) without causing slowdown for decent computers. Aside from the technical point of view, the levels are much more detailed and better designed for a shooting type of game. Oh yeah, there&#8217;s also over 26 more weapons than Raze 1, 9 modifying equipments, 7 abilities, a deep and detailed campaign with cut-scenes, and up to 4 separate teams allowed in game play.</p>
<h4>Any major challenges or hurdles in creating Raze 2?</h4>
<p>To be completely honest, no, actually. Creating Raze 1 was more or less a nightmare. Being our first game we were doing a lot of trial and error. We learned an incredible amount from not only our Raze 1 experiences, but all the feedback we got from it&#8217;s players. With everything we learned, we were actually able to create Raze 2 quite smoothly. In terms of the engine, I already created one slightly similar when I created the engine for Siegius. So really, from everything we did prior to starting Raze 2, we ended up being 100% prepared for everything ahead of us, as we&#8217;ve tackled it all before, and now knew the proper ways to do it all.</p>
<h4>Can we expect another (future) installment in the &#8220;Raze&#8221; series?</h4>
<p>Yes! We have plans for both a Raze 3, and an eventual Raze Online. Because Addison is busy with school, we&#8217;d first like to focus on Raze 3 to complete the story, fix any remaining problems people had with Raze 2, as well as introduce a bunch of really cool, and crazy ideas that couldn&#8217;t make it into Raze 2, including many new ones. Our goal is to get Raze as perfect as possible, so when we have the time to work on the Online version, we&#8217;ll be able to make it both massive, and as enjoyable to all as humanly possible!</p>
<h4>What types of games do you like to create the most? What types of games do you like to play the most?</h4>
<p>All, and all. I really enjoy all types of games. From RPG&#8217;s Shooters, and Strategy games, to the silly games, Viva Pinata, Party games, etc. One of my long term goals actually, is to create a game of every genre. I would normally not want to create sequels, as you don&#8217;t learn too much or get to challenge yourself as much when you stick to the same type of game (Raze being an exception of course because of how well it was received, and how fun it was to make). But I would really love to explore every possible Genre. So far I&#8217;ve created Shooter, Strategy, Puzzle, Adventure/Rpg, and now we&#8217;ve got a beat&#8217;em&#8217;up, and eventually a 3rd person Racer in the works. I feel every new type of game you create, furthers your skill, and teaches you many more techniques that can be used in other games. It&#8217;s this reason I would like to continue making a variety of games, along with Raze.</p>
<h4>How long is your game creation cycle? What is your process?</h4>
<p>Depending on the game size, we try to take about 1 month for small games, and 4 months for larger games (such as Raze 2). I used to do all my work on my main computer, but purchased a new Laptop strictly for game development, which helps keep my personal data and work data separate. As of now the development process is the same as any, work as much as possible while keeping in good contact with your team. However because Raze 2 was such a huge project, I took a 6.5 hour bus ride to stay with Addison for 1.5 weeks. Surprisingly, we did about a month&#8217;s worth of work in just that week and a half. It really is incredible how much more gets accomplished when working side by side with your partner.</p>
<h4>Are there any game developers that you admire or consider &#8220;rock stars&#8221;?</h4>
<p>Absolutely! I really admire the developers that start off small, and are able to expand into a well known and established company. One that I really appreciate is the work of Tom Fulp and Dan Paladin at The Behemoth. They both started as Flash developers and went on to create the excellent XBLA title &#8216;Castle Crashers&#8217;. Another would be Edmund McMillen and Florian Himsl, who also went from Flash developers, to remaking their game Super Meatboy for PC as well as multiple consoles. Their newest game Binding of Isaac, is actually a Flash game that was ported to PC via Steam. This is direction I&#8217;m trying to go in now, and would love to achieve some day.</p>
<h4>What is it about making a new game that you enjoy most?</h4>
<p>Well really, who doesn&#8217;t love creating new things? Much of it comes from the positive feedback when other people play my game. It really makes you feel good, knowing many people really enjoy something you created. It feels good to make people happy, it feels great to know they are thoroughly entertained, and it&#8217;s nice to sit back at the end of it all, look at your work and what you&#8217;ve accomplished, and think &#8220;I did that :)&#8221;.</p>
<h4>Do you have any hot projects you&#8217;re working on right now?</h4>
<p>Yes! I&#8217;m currently working on a Gladiator game with Sleva (artist from Siegius). The game has been put on hold for the holiday month, but should be finished sometime soon. Screenshots are available at Juice-Tin.com.</p>
<p><em><strong>Thanks Juice-tin, can&#8217;t wait to play your upcoming Gladiator game as well as Raze 3!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2012. |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-raze-2">Permalink</a> |
	  <a href="http://mochiland.com/articles/flash-game-friday-winner-raze-2#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/flash-game-friday-winner-raze-2&amp;title=Flash Game Friday Winner: Raze 2">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/flash-game-friday-winner-raze-2" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash-game-friday" title="View all posts in Flash Game Friday" rel="category tag">Flash Game Friday</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/flash-game-friday-winner-raze-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mochi Community Contribution: Creating Ally AI by Danny Buoncore</title>
		<link>http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore</link>
		<comments>http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore#comments</comments>
		<pubDate>Tue, 06 Dec 2011 00:55:01 +0000</pubDate>
		<dc:creator>dannybuoncore</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[Danny Buonocore]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=5916</guid>
		<description><![CDATA[Creating Ally AI That Locates Nearest Enemy and Attacks In this tutorial, you will learn: Basic for loop usage Basic array usage How to find the distance between two points How to use Math.atan2() to have MovieClips follow each other How to fire projectiles How to split a velocity vector into two perpendicular lines using [...]]]></description>
			<content:encoded><![CDATA[ <h1 class="post-title">Creating Ally AI That Locates Nearest Enemy and Attacks</h1>
<h2>In this tutorial, you will learn:</h2>
<ul>
<li>Basic for loop usage</li>
<li>Basic array usage</li>
<li>How to find the distance between two points</li>
<li>How to use Math.atan2() to have MovieClips follow each other</li>
<li>How to fire projectiles</li>
<li>How to split a velocity vector into two perpendicular lines using sine and cosine</li>
<li>How to create objects from custom classes</li>
</ul>
<h4>Introduction</h4>
<p>When learning Actionscript, or any programming language for that matter, I find it best to create specific engines that employ a variety of techniques and functions.  This way, you are not only learning how to use these features, but you are also experiencing a pragmatic use for them.  In this tutorial we will be creating a class for an ally AI that will locate the enemy nearest it, chase it, and shoot it.  This is used in just about any game where there are characters not controlled by the player.  Take, for example, a tower defense game.  The towers created do not simply attack any enemy they want.  They usually attack the closest.  However, there are some games where you can choose to have them attack the quickest enemy, or the one with the most health, or whatever it may be.  But for now let&#8217;s concentrate on distance.</p>
<p>Now, what if there are three allies (let&#8217;s call them followers for now) and two enemies, one of which is really far away?  The tutorial you are about to read is designed so that rather than all three followers clustering up on the closest enemy, two will attack it and the third will set off for the far one.  Furthermore, what happens when a third enemy is spawned when all this is going on?  Well, rather than the follower by itself (which may be closer) going out to attack it, one of the two that are attacking the same enemy will leave and target the newfound enemy.  This optimizes the strategy of the followers so no enemy is left alone while there is a surplus of followers elsewhere.</p>
<p>Rather than just talking about what we&#8217;re going to do, let&#8217;s actually do it.  Sometimes I prefer to just see the source code and play around with it rather than just following a tutorial.  If you want, you may download a heavily-commented copy of all the code down below.  Without further ado, let&#8217;s begin the tutorial.</p>
<p><a href="http://www.mediafire.com/?xhhbm1ovehio8ag">Download Source</a></p>
<h4>Step 1: Setting Up the MovieClips</h4>
<p>There are three MovieClips essential to this tutorial.  First, we need the followers and the enemies.  We also need some sort of projectile or bullet for the followers to shoot.  For the sake of example, I am programming this tutorial in a way that the user can create followers and enemies by clicking buttons at the bottom of the stage.  So now we&#8217;re up to five MovieClips.  Name them Bee, EnemyBee, Ball, BeeButton, and EnemyButton.  Below are my five MovieClips in their respective order:</p>
<p><img src="http://img337.imageshack.us/img337/6232/movieclips.jpg" alt="MovieClips" /></p>
<p>When saving each as a symbol, be sure to check the &#8220;Export for Actionscript&#8221; box and keep the class name the same.</p>
<h4>Step 2: The Arrays</h4>
<p>Now that we have our MovieClips, we need a place to store them.  Open up the Main Timeline&#8217;s Actions Panel (F9) and input the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> beeArray=<span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> eArray=<span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> ballArray=<span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>What&#8217;s happening here is we are creating three arrays to store our objects: one for all the bees (followers), one for all the enemies, and one for all the balls being shot.  These arrays are going to be accessed a ton of times throughout the tutorial, so if you need to brush up on any of the arrays basics be sure to check out this <a href="http://active.tutsplus.com/tutorials/actionscript/as3-101-arrays/">tutorial</a></p>
<h4>Step 3: The Enemies</h4>
<p>The enemies are much easier to program, so we&#8217;ll start with them first.  Create a new custom class called EnemyBee (or whatever necessary to match the name of your enemy MovieClip) and start off with the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MovieClip</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.*;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> EnemyBee <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">MovieClip</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> r<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">angle</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> rot<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> health<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">1</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speedX<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speedY<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> dist<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> reload<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">50</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//reload timer for shooting (don't worry about this for now)</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> isTarget<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> EnemyBee<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ADDED_TO_STAGE</span><span style="color: #000066; font-weight: bold;">,</span> beginClass<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> beginClass<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
&nbsp;
r=<span style="color: #004993;">MovieClip</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">root</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> eFrame<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">push</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span>=<span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stageWidth</span><span style="color: #000066; font-weight: bold;">+</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span>=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">random</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #000000; font-weight:bold;">400</span><span style="color: #000066; font-weight: bold;">+</span><span style="color: #000000; font-weight:bold;">20</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> h<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">random</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stageHeight</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #004993;">angle</span>=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">atan2</span><span style="color: #000000;">&#40;</span>h<span style="color: #000066; font-weight: bold;">-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">,-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>speedX=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">cos</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>speedY=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">sin</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">rotation</span>=<span style="color: #004993;">angle</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">PI</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">180</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
rot=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">random</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #000000; font-weight:bold;">4</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> eFrame<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Now this is a lot of code all at once so let&#8217;s go through it line by line.  Lines 6-13 declare variables which are more or less self-explanatory.  The main one to note here is the public variable isTarget.  This variable isn&#8217;t accessed at all by EnemyBee, but from the followers.  It is used to tell how many bees are following the EnemyBee.  But let&#8217;s move on for now.</p>
<p>In the beginClass function, line 20 places EnemyBee inside eArray (on the Main Timeline) through the use of r (the root of the MovieClip).  Below, the initial x and y coordinates are set to be just off the right side of the stage anywhere from the top to the bottom.  Variable h is the destination of EnemyBee and, using Math.random(), is different every time.  The next line uses a function called Math.atan2().  Most of you trigonometry aficionados know that the atan2 function, being a variant of the arctangent function, returns the angle (in radians) between the positive x axis of a plane and the point constructed by the given coordinates.  For now, all you need to know are the parameters.  They are as follows:</p>
<p><span> Math.atan2(destinationY-this.y , destinationX-this.x);</span></p>
<p>It seems strange, but just remember the y comes first.  By using the atan2 function we now know the angle between the point EnemyBee is going for (in this case h) and itself.  But how do we make it so that our object moves towards it?  That&#8217;s where the sine and cosine lines come in.  By taking the cosine of the angle we can find the horizontal speed the object must take.  Similarly, we can use sine to find the vertical speed.  You can replace the 2 at the end of each line with a larger or smaller number to increase or decrease the speed (respectively).  Finally, we rotate the object to face its target once again using angle, and then assign rot (the rotational speed) a random number from 0-3.99999 (this is used later on).</p>
<p>Now we can edit the eFrame function.  So within the brackets, place this code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">+</span>=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>speedX<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>health<span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">+</span>=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>speedY<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">+</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">splice</span><span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
removeMe<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">splice</span><span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">rotation</span><span style="color: #000066; font-weight: bold;">+</span>=<span style="color: #000000; font-weight:bold;">5</span><span style="color: #000066; font-weight: bold;">+</span>rot<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">+</span>=<span style="color: #000000; font-weight:bold;">3</span><span style="color: #000066; font-weight: bold;">+</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">3</span><span style="color: #000066; font-weight: bold;">-</span>rot<span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>width<span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;;</span>stage<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stageHeight</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
removeMe<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>First, the object moves horizontally.  Next, if its health is greater than zero (meaning it is not dead) it will also move vertically and if it manages to survive the followers and go offstage to the left, remove itself from eArray, and then call the removeMe() function which we will declare in a little bit.  In case EnemyBee IS defeated, however, it will first check to see if its index in eArray is at least 0.  A useful fact about arrays is that &#8220;if&#8221; an object isn&#8217;t in the array at all, its index is -1.  Through this &#8220;if statement&#8221; we are effectively checking to see if EnemyBee is in eArray so we don&#8217;t accidentally remove it twice (that would result in an error).  The next few lines are pretty much self-explanatory.</p>
<p>The last piece of code for EnemyBee is the removeMe() function.  Here it is:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> removeMe<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #004993;">removeEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> eFrame<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">removeChild</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>This last part is easy.  First the event listener is removed, and then the object itself is deleted.  That&#8217;s all we need for EnemyBee.  Now we can start the hard stuff! (:</p>
<h4>Step 4: The Followers</h4>
<p>Now it&#8217;s time to get to the heart of the tutorial: creating the followers.  Create a new custom class for your followers (in this case it&#8217;s called Bee), and input this code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> <span style="color: #000000;">&#123;</span>
 	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MovieClip</span><span style="color: #000066; font-weight: bold;">;</span>
 	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.*;</span>
&nbsp;
 	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> Bee <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">MovieClip</span> <span style="color: #000000;">&#123;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> r<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">max</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MAX_VALUE</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speedX<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speedY<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speed<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #000000; font-weight:bold;">2</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">angle</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> reload<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">50</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> Bee<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
   	<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ADDED_TO_STAGE</span><span style="color: #000066; font-weight: bold;">,</span> beginClass<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #000000;">&#125;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> beginClass<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
   	r=<span style="color: #004993;">MovieClip</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">root</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
   	<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> eFrame<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
   	r<span style="color: #000066; font-weight: bold;">.</span>beeArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">push</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
   	<span style="color: #004993;">x</span>=<span style="color: #000000; font-weight:bold;">275</span><span style="color: #000066; font-weight: bold;">;</span>
   	<span style="color: #004993;">y</span>=<span style="color: #000000; font-weight:bold;">245</span><span style="color: #000066; font-weight: bold;">;</span>
  	<span style="color: #000000;">&#125;</span>
  	<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> eFrame<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
  	<span style="color: #000000;">&#125;</span>
 	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>You&#8217;ve seen all this code already in EnemyBee so I&#8217;m not going to explain it all again.  The only exceptions are c (which will be explained in a bit) and Number.MAX_VALUE, which can simply be thought of as infinity.</p>
<p>There&#8217;s a lot of code in the eFrame event, so let&#8217;s do it all in pieces.  First, we need this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">!</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//paste all the following code here</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>This line of code tells us if there are any enemies on stage or not.  Without it, we would get errors.  Within the brackets, place this first bunch of code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">c</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if c is NOT in eArray...</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//for every object in eArray...</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> obj=r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign address of object to obj</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> distX<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>x<span style="color: #000066; font-weight: bold;">-</span>obj<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//horizontal distance between self and obj (the enemy)</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> distY<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span>obj<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//vertical distance between self and obj (the enemy)</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> dist<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #000000;">&#40;</span>distX<span style="color: #000066; font-weight: bold;">*</span>distX<span style="color: #000066; font-weight: bold;">+</span>distY<span style="color: #000066; font-weight: bold;">*</span>distY<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//overall distance using distance formula</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>dist<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>max<span style="color: #000066; font-weight: bold;">&amp;</span>amp<span style="color: #000066; font-weight: bold;">;&amp;</span>amp<span style="color: #000066; font-weight: bold;">;</span>obj<span style="color: #000066; font-weight: bold;">.</span>isTarget==<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if distance &amp;lt; max and obj has no followers...</span>
&nbsp;
<span style="color: #004993;">max</span>=dist<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign distance to max (the new shorst distance)</span>
&nbsp;
<span style="color: #004993;">c</span>=obj<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign address of object currently being tested in c</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">c</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if c is in eArray...</span>
&nbsp;
<span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">++;</span> <span style="color: #009900; font-style: italic;">//tell c (EnemyBee) that one more bee is following it</span>
&nbsp;
<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if c is NOT in eArray...</span>
&nbsp;
<span style="color: #004993;">max</span>=<span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MAX_VALUE</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//reset max to maximum value</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> j<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> j<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">;</span> j<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//for every object in eArray...</span>
&nbsp;
obj=r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000000;">&#91;</span>j<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign address of object to obj</span>
&nbsp;
distX=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>x<span style="color: #000066; font-weight: bold;">-</span>obj<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//horizontal distance between self and obj (the enemy)</span>
&nbsp;
distY=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span>obj<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//vertical distance between self and obj (the enemy)</span>
&nbsp;
dist=<span style="color: #000000;">&#40;</span>distX<span style="color: #000066; font-weight: bold;">*</span>distX<span style="color: #000066; font-weight: bold;">+</span>distY<span style="color: #000066; font-weight: bold;">*</span>distY<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//overall distance using distance formuala</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>dist<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>max<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if distance is closer than max...</span>
&nbsp;
<span style="color: #004993;">max</span>=dist<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign distance to max (the new shortest distance)</span>
&nbsp;
<span style="color: #004993;">c</span>=obj<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign address of object currently being tested in c</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">++;</span> <span style="color: #009900; font-style: italic;">//tell c (EnemyBee) that one more bee is following it</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>It can get a little confusing at this point, so I included plenty of comments.  The variable c is used to hold the address of the closest enemy (hence it&#8217;s name).  First we check to see if it is not in the array (meaning the closest enemy has not been determined).  We use a for loop to iterate through all the enemies in eArray.  If you&#8217;re new to loops, you can read up on them <a href="http://active.tutsplus.com/tutorials/actionscript/as3-101-loops/">here</a>.</p>
<p>Next we instantiate four variables:  a placeholder for the object being tested, the horizontal distance, the vertical distance, and the total distance.  Just in case you are wondering, the distance formula is as follows:</p>
<p><img src="http://upload.wikimedia.org/wikipedia/en/math/f/0/a/f0a4a3d633ef96d31f068e387cd91fc2.png" alt="Distance Formula" /></p>
<p>Now that we know the distance of the object being checked, we must see if it is closer than the previous.  Recall that max was equal to Number.MAX_VALUE, so it is greater than anything we could compare it to.  So the first instance to be checked will definitely be closer, and the if statement will be true.  Therefore, max is set to the distance between itself and the enemy being tested (the new shortest distance), and obj is stored in c.  All that happened for the first enemy in eArray.  Now go through it again for the second enemy.  The second enemy is stored in obj, just like the first, and the distance is established.  However, instead of max being equal to the highest value, it is equal to the distance of the previous enemy.  If the distance between the bee and the enemy being tested is shorter than that of the first enemy, max is lowered again to match the distance and the enemy is stored in c.  If not, the loop skips over this and goes on to test the next enemy.  This process continues for every enemy in the array.  Logically, the value of max by the time all of the enemies are done being tested will be equal to the shortest distance, and c will hold the address for the corresponding enemy.</p>
<p>Note that with the if statement, Bee only looks for enemies that have isTarget==0.  In plain English, that means it only takes enemies that are not being followed into consideration.  This way we don&#8217;t have that surplus of followers in one section and a non-followed enemy elsewhere like we previously discussed.  However, there is the case that every enemy is already being followed.  The if statement right after the for loop checks to see if a closest enemy (with no followers) has been found.  If so, it increases the value of isTarget on the enemy (amount of followers).  If not, another for loop extremely similar to the previous is carried out.  The only difference is the if statement:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>dist<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>max<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span></pre></div></div>

<p>Instead of checking to be sure the enemy being tested has no followers, it just looks for the closest.  I found this to be the best design, but you might have another use for it.  This code is very easy to customize.  Say you wanted locate the enemy with the least amount of followers.  You could simply substitute the if statement for this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>obj<span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>max<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #004993;">max</span>=obj<span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #004993;">c</span>=obj<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>All right we&#8217;re getting closer to finishing this up.  One more loop:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #004993;">max</span>=<span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MAX_VALUE</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//reset max to maximum value</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span>length<span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span>=r<span style="color: #000066; font-weight: bold;">.</span>beeArray<span style="color: #000066; font-weight: bold;">.</span>length<span style="color: #000066; font-weight: bold;">&amp;</span>amp<span style="color: #000066; font-weight: bold;">;&amp;</span>amp<span style="color: #000066; font-weight: bold;">;</span>c<span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if c has other followers...</span>
&nbsp;
<span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">--;</span> <span style="color: #009900; font-style: italic;">//tell c it has one fewer follower</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> l<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> l<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">;</span> l<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//for every object in eArray...</span>
&nbsp;
obj=r<span style="color: #000066; font-weight: bold;">.</span>eArray<span style="color: #000000;">&#91;</span>l<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign address of object to obj</span>
&nbsp;
distX=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>x<span style="color: #000066; font-weight: bold;">-</span>obj<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//horizontal distance between self and obj (the enemy)</span>
&nbsp;
distY=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span>obj<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//vertical distance between self and obj (the enemy)</span>
&nbsp;
dist=<span style="color: #000000;">&#40;</span>distX<span style="color: #000066; font-weight: bold;">*</span>distX<span style="color: #000066; font-weight: bold;">+</span>distY<span style="color: #000066; font-weight: bold;">*</span>distY<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//overall distance using distance formula</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>dist<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>max<span style="color: #000066; font-weight: bold;">&amp;</span>amp<span style="color: #000066; font-weight: bold;">;&amp;</span>amp<span style="color: #000066; font-weight: bold;">;</span>obj<span style="color: #000066; font-weight: bold;">.</span>isTarget==<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if distance &amp;lt; max and obj has no followers...</span>
&nbsp;
<span style="color: #004993;">max</span>=dist<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign distance to max (the new shortest distance)</span>
&nbsp;
<span style="color: #004993;">c</span>=obj<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//assign address of object currently being tested in c</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span>isTarget<span style="color: #000066; font-weight: bold;">++;</span> <span style="color: #009900; font-style: italic;">//tell c (EnemyBee) that one more bee is following it</span>
&nbsp;
<span style="color: #004993;">max</span>=<span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MAX_VALUE</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//reset max to maximum value</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Okay so after doing two loops almost exactly like this one, no explanation should be necessary.  However, a brief discourse on the logic behind it should help.  The only thing different here than the first loop is that it is only executed when there are more enemies than followers and the enemy the bee is following has at least one other follower.  You may be asking yourself why I chose to create three loops that are almost identical instead of simply making a function called several times with slightly different arguments.  Well, I think it&#8217;s easier to retain the information if you see it several times.  Plus, a tutorial is never complete unless something is left up to you to figure out yourself.</p>
<p>All right, now that the difficult part is out of the way, we can move on to actually moving the bee.  The code below immediately follows the if statement above:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #004993;">angle</span>=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">atan2</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span>x<span style="color: #000066; font-weight: bold;">-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//angle between self and closest enemy</span>
&nbsp;
speedX=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">cos</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span>speed<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//find horizontal speed according to angle</span>
&nbsp;
speedY=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">sin</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span>speed<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//find vertical speed according to angle</span>
&nbsp;
<span style="color: #004993;">rotation</span>=<span style="color: #004993;">angle</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">PI</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">180</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//rotate to face enemy</span>
&nbsp;
distX=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>x<span style="color: #000066; font-weight: bold;">-</span><span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//horizontal distance between self and closest enemy</span>
&nbsp;
distY=<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span><span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//vertical distance between self and closest enemy</span>
&nbsp;
dist=<span style="color: #000000;">&#40;</span>distX<span style="color: #000066; font-weight: bold;">*</span>distX<span style="color: #000066; font-weight: bold;">+</span>distY<span style="color: #000066; font-weight: bold;">*</span>distY<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//overall distance using distance formula</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>dist<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>=<span style="color: #000000; font-weight:bold;">100</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if distance is less than or equal to 100...</span>
&nbsp;
speed=<span style="color: #000066; font-weight: bold;">-.</span>1<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//slow down</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>speed<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if speed is less than 0...</span>
&nbsp;
speed=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//keep speed at 0</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if distance is greater than 100...</span>
&nbsp;
speed<span style="color: #000066; font-weight: bold;">+</span>=<span style="color: #000066; font-weight: bold;">.</span>1<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//speed up</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>speed<span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if speed is greater than 2...</span>
&nbsp;
speed=<span style="color: #000000; font-weight:bold;">2</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//keep speed at 2</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">+</span>=speedX<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//move horizontally</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">+</span>=speedY<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//move vertically</span></pre></div></div>

<p>This is very similar to the motion employed in the EnemyBee class and shouldn&#8217;t be too difficult at all.  The if and else statements are purely for aesthetic purposes so that the bee doesn&#8217;t sit directly on the enemy.</p>
<p>That concludes the code for the followers.  Now all we need is a means to create the followers and enemies.  I&#8217;m sure you will come up with plenty of ways that pertain to your game, but for the sake of convenience I just created two buttons that allow the user to spawn them.  If you&#8217;d like to see the Actionscript for this, download the source code files from above.</p>
<h4>Step 5: Shooting</h4>
<p>Run your .swf.  If you did it right, you should get something like this:</p>
<p>The bees follow the enemies just like we programmed them to, but they do not attack.  Remember that Ball Movieclip we make at the beginning of the tutorial?  Well we&#8217;re finally going to use it.  Open up the custom class for Ball and type this in:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MovieClip</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.*;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> Ball <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">MovieClip</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> r<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">c</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">15</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> id2<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">angle</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speedX<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speedY<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> speed<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>=<span style="color: #000000; font-weight:bold;">8</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> mc<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> Ball<span style="color: #000000;">&#40;</span>id<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">uint</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ADDED_TO_STAGE</span><span style="color: #000066; font-weight: bold;">,</span> beginClass<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
id2=id<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> beginClass<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
&nbsp;
r=<span style="color: #004993;">MovieClip</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">root</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> eFrame<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
mc=r<span style="color: #000066; font-weight: bold;">.</span>beeArray<span style="color: #000000;">&#91;</span>id2<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//find which object created it</span>
&nbsp;
<span style="color: #004993;">angle</span>=mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">rotation</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">PI</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">180</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span>=mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//set x coordinate to that of bee's</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span>=mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//set y coordinate to that of bee's</span>
&nbsp;
speedX=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">cos</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span>speed<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
speedY=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">sin</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span>speed<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">setChildIndex</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">,</span>r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getChildIndex</span><span style="color: #000000;">&#40;</span>mc<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> eFrame<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">+</span>=speedX<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">+</span>=speedY<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>c<span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
c<span style="color: #000066; font-weight: bold;">--;</span>
&nbsp;
<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>alpha<span style="color: #000066; font-weight: bold;">-</span>=<span style="color: #000066; font-weight: bold;">.</span>1<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>alpha<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
removeBall<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> removeBall<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #004993;">removeEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> eFrame<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span>ballArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">splice</span><span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>ballArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">removeChild</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Basically we&#8217;re just creating an object that follows a straight line path using the rotation of the bee it&#8217;s coming from.  The address of the bee is determined by the parameter id2, which we will explain it a bit.  Now we have to program Bee to actually shoot the balls.  In the eFrame event of Bee, right after the speedX and speedY are used, place the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">reload<span style="color: #000066; font-weight: bold;">--;</span> <span style="color: #009900; font-style: italic;">//lower reload timer</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>reload==<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if reload is complete...</span>
&nbsp;
reload=<span style="color: #000000; font-weight:bold;">50</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//reset reload timer to 50</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> newBall<span style="color: #000066; font-weight: bold;">:</span>Ball=<span style="color: #0033ff; font-weight: bold;">new</span> Ball<span style="color: #000000;">&#40;</span>r<span style="color: #000066; font-weight: bold;">.</span>beeArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">indexOf</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//create new ball</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>newBall<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//add ball to stage</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span>ballArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">push</span><span style="color: #000000;">&#40;</span>newBall<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//put ball in ballArray</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>This creates a new instance of the Ball class and places it in the corresponding array on the Main Timeline.  As you can see, the argument incorporated while instantiating the new ball is the index of the bee in its array.  This is then later accessed by the ball in its class to find where it should be placed on the stage and the angle it should follow:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">mc=r<span style="color: #000066; font-weight: bold;">.</span>beeArray<span style="color: #000000;">&#91;</span>id2<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//find which object created it</span>
&nbsp;
<span style="color: #004993;">angle</span>=mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">rotation</span><span style="color: #000066; font-weight: bold;">*</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">PI</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">180</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span>=mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//set x coordinate to that of bee's</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span>=mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//set y coordinate to that of bee's</span>
&nbsp;
speedX=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">cos</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span>speed<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
speedY=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">sin</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">angle</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">*</span>speed<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">setChildIndex</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">,</span>r<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getChildIndex</span><span style="color: #000000;">&#40;</span>mc<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>The address of the bee is found using id2 (which is equal to the argument we just mentioned) and stored in mc, which is used to set all that good stuff above.  The setChildIndex() statement is used so that the ball appears below the bee, giving the illusion that it&#8217;s being shot by the bee, and not appearing right on top of it.</p>
<p>Okay so run your .swf again and you should see this:</p>
<p>Pretty good, huh?  Now we just have more step: the collisions.</p>
<h4>Step 6: The Collisions</h4>
<p>This part is easy.  Simply open up the class file for EnemyBee and, in the first line of the eFrame event, put in the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;</span>r<span style="color: #000066; font-weight: bold;">.</span>ballArray<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> mc<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Object</span>=r<span style="color: #000066; font-weight: bold;">.</span>ballArray<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
dist=<span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">abs</span><span style="color: #000000;">&#40;</span>mc<span style="color: #000066; font-weight: bold;">.</span>x<span style="color: #000066; font-weight: bold;">-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">+</span><span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">abs</span><span style="color: #000000;">&#40;</span>mc<span style="color: #000066; font-weight: bold;">.</span>y<span style="color: #000066; font-weight: bold;">-</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">y</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>dist<span style="color: #000066; font-weight: bold;">&amp;</span>lt<span style="color: #000066; font-weight: bold;">;;</span>this<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000066; font-weight: bold;">+</span>mc<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000066; font-weight: bold;">/</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//if they touch...</span>
&nbsp;
health<span style="color: #000066; font-weight: bold;">--;</span>
&nbsp;
mc<span style="color: #000066; font-weight: bold;">.</span>removeBall<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>It&#8217;s just a for loop that iterates over every instance in the ball array and tests for a collision.  You can use whatever collision-detection technique you want, but for this example the best choice is a simple circle-to-circle test.  Upon each collision, the health of the bee is lowered, and the ball is removed through the function removeBall().</p>
<p>Well, that&#8217;s about it.  Test your .swf and it should work just as my example up above did.  This technique is very useful and I&#8217;m sure you&#8217;ll find plenty of ways to use it in your games.  If you make something cool, I&#8217;d love to see it (: Thanks for reading!</p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; dannybuoncore for <a href="http://mochiland.com">MochiLand</a>, 2011. |
	  <a href="http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore">Permalink</a> |
	  <a href="http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore&amp;title=Mochi Community Contribution: Creating Ally AI by Danny Buoncore">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/flash" title="View all posts in Flash Development" rel="category tag">Flash Development</a>, <a href="http://mochiland.com/category/mochiland/front-page" title="View all posts in Front Page" rel="category tag">Front Page</a>, <a href="http://mochiland.com/category/mochiland/game-design" title="View all posts in Game Design" rel="category tag">Game Design</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/mochi-community-contribution-creating-ally-ai-by-danny-buoncore/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FGS 2012 Advisory Board Interview Series: Jakub Dvorský</title>
		<link>http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky</link>
		<comments>http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky#comments</comments>
		<pubDate>Wed, 30 Nov 2011 01:51:07 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mochi Media Announcements]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[Amanita Design]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[FGS 2012]]></category>
		<category><![CDATA[flash gaming summit]]></category>
		<category><![CDATA[Jakub Dvorsky]]></category>
		<category><![CDATA[Mochi Media]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=5892</guid>
		<description><![CDATA[FGS 2012 Advisory Board Interview Series This is part three in a series of interviews of the Flash Gaming Summit 2012 Advisory Board. This is your chance to get to know the folks who determine the content of Flash Gaming Summit, getting their thoughts on both the conference and the games industry in general. This week&#8217;s [...]]]></description>
			<content:encoded><![CDATA[ <p><a href="http://www.flashgamingsummit.com"><img class="alignleft size-full wp-image-5984" style="border: 0px;" title="fgs2012_interview_series_banner" src="http://mochiland.com/wp-content/uploads/2011/11/fgs2012_interview_series_banner.jpg" alt="" width="650" height="100" /></a></p>
<h1>FGS 2012 Advisory Board Interview Series</h1>
<p>This is part three in a series of interviews of the <a href="http://www.flashgamingsummit.com">Flash Gaming Summit 2012</a> Advisory Board. This is your chance to get to know the folks who determine the content of Flash Gaming Summit, getting their thoughts on both the conference and the games industry in general. This week&#8217;s Advisory Board interview features Jakub Dvorský, founder of <a href="http://amanita-design.net/">Amanita Design</a>. In case you have been living under a rock, their game <a href="http://amanita-design.net/games/machinarium.html">Machinarium</a> has been a huge success on iTunes, specifically hitting #1 on the iPad. Machinarium was also a <a href="http://www.flashgamingsummit.com/past-events/2010/awards.html">Mochis Award Show winner at FGS 2010</a> (Best Game Art category).</p>
<p>For more information on Flash Gaming Summit, including passes, speaking, or award show nomination information <a href="http://www.flashgamingsummit.com">please visit the conference website</a>.</p>
<p>&nbsp;</p>
<p><a href="http://amanita-design.net/index.html"><img class="alignleft size-full wp-image-5963" style="border: 0px;" title="Jakub Dvorsky" src="http://mochiland.com/wp-content/uploads/2011/11/jakub_dvorsky-Amanita_100x100_2.png" alt="" width="125" height="125" /></a><a href="http://amanita-design.net/index.html"><img class="alignleft size-full wp-image-5962" style="border: 0px;" title="amanita_logo_dark_500" src="http://mochiland.com/wp-content/uploads/2011/11/amanita_logo_dark_500.jpg" alt="" width="500" height="125" /></a></p>
<h2>Introduce yourself- who are you, how big is your team, and how do you participate in the Flash games industry?</h2>
<p>My name is Jakub Dvorský, I&#8217;m visual artist and game designer. In 2003 I founded the studio Amanita Design, which is now nine employees strong. We are focused mostly on developing independent games (built in Flash) but sometimes also on other projects like films, music videos or some experimental stuff.</p>
<h2>What did you do before? How did you first get into the Flash games industry? Tell us about your path.</h2>
<p>I grew up on 8bit computers and started making my own games when I was 15 on my first PC, I was in grammar school at that time. Later I went to the Academy of Arts in Prague to study animated film. When I was finishing the academy I created my first Flash game (Samorost) as my thesis project and later the same year founded Amanita Design.</p>
<h2>What has been your proudest moment since joining the Flash gaming community?</h2>
<p>I&#8217;m most proud of assembling our team &#8211; a bunch of great friends, professionals and passionate creators.</p>
<h2>What was your biggest challenge early on with Amanita Design? How does that compare to the types of challenges you face today?</h2>
<p>When I started making Flash games I was alone so the biggest challenge was programming &#8211; I was doing it myself which was very tough for me even on a basic level, my head is just chaotic for this kind of work. Nowadays we have a couple of excellent programmers so the biggest challenge is probably game design, more specifically how to make a game entertaining, challenging, accessible, new and original.</p>
<p><a href="http://mochiland.com/wp-content/uploads/2011/11/hires_Machinarium_namesti_2.png"><img class="alignleft size-full wp-image-5976" style="border: 0px;" title="hires_Machinarium_namesti_2" src="http://mochiland.com/wp-content/uploads/2011/11/hires_Machinarium_namesti_2.png" alt="" width="600" height="379" /></a></p>
<h2>Do you have any recommendations or advice for game developers who are trying to make a multi-platform &#8220;hit&#8221; game? What should they be focused on?</h2>
<p>The game must definitely be fresh, distinctive and original and at the same time perfectly executed and polished. Sounds easy right? :)</p>
<h2>What is it that you love the MOST about the Flash games industry?</h2>
<p>It&#8217;s easy to create a simple game and publish it on the web or as an app, so any idea can be quickly transformed into a real game and can be played by thousands of people all around the world. This is really  great because you can immediately see if it works or not and you can also improve your game according to the feedback you get from your players.</p>
<h2>What do you like the least?</h2>
<p>The bugs in Flash.</p>
<h2>How has the industry changed since you fist joined?</h2>
<p>The whole scene has changed, it was a completely different world when I started with Flash games. When I was searching the web for interesting interactive stuff, there were just a few really good websites and only a couple of games worth mentioning, nowadays there are tens of thousands of games, experimental interactive projects, art projects, websites and portals.</p>
<h2>The theme for FGS 2012 is &#8220;Maximize Your Game&#8221;. How do you think Flash game developers are maximizing their games today? What could they be doing better / differently?</h2>
<p>I&#8217;ll be repeating myself but I think the developers should try to be more original and brave, they should experiment more with art, game mechanics, narrative approaches and with the whole medium which is still unexplored and waiting for young adventurers who wants to create something really new.</p>
<h2>Where do you see the Flash games industry going? What’s in store for the future?</h2>
<p>A more interesting question to to me is &#8220;where is the games industry is going&#8221;? I think the future of the games industry is extremely bright because the medium will be broader and more serious in many ways. I see really big potential for creative people from various disciplines from artists, writers, designers and musicians to programmers and engineers.</p>
<h2>What part of Flash Gaming Summit do you enjoy or look forward to the most?</h2>
<p>The best part of almost every game conference or festival is always meeting other developers and players in person.</p>
<h2>In your opinion, why should people come out to FGS 2012? What should they expect from the conference?</h2>
<p>Similarly to my previous answer answer, the most valuable part of conferences for me is meeting some interesting people in person. It&#8217;s sometimes much more influential than weeks of reading, surfing or watching videos on the web.</p>
<p><em><strong>Thanks for your thoughts and insights Jakub, see you at FGS 2012!!</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2011. |
	  <a href="http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky">Permalink</a> |
	  <a href="http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky&amp;title=FGS 2012 Advisory Board Interview Series: Jakub Dvorský">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/front-page" title="View all posts in Front Page" rel="category tag">Front Page</a>, <a href="http://mochiland.com/category/mochiland/mochi-media-announcements" title="View all posts in Mochi Media Announcements" rel="category tag">Mochi Media Announcements</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/fgs-2012-advisory-board-interview-series-jakub-dvorsky/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FGS 2012 Advisory Board Series: Carl Trelfa of thePodge</title>
		<link>http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge</link>
		<comments>http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge#comments</comments>
		<pubDate>Wed, 16 Nov 2011 01:22:30 +0000</pubDate>
		<dc:creator>Colin Cupp</dc:creator>
				<category><![CDATA[Developer Feed]]></category>
		<category><![CDATA[Developer Spotlight]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Games Industry]]></category>
		<category><![CDATA[Mochi Media Announcements]]></category>
		<category><![CDATA[MochiLand Topics]]></category>
		<category><![CDATA[Publisher Feed]]></category>
		<category><![CDATA[#FGS2012]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[FGS]]></category>
		<category><![CDATA[FGS 2012]]></category>
		<category><![CDATA[flash gaming summit]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Maximize Your Game]]></category>
		<category><![CDATA[Mochi Media]]></category>
		<category><![CDATA[thePodge]]></category>

		<guid isPermaLink="false">http://mochiland.com/?p=5848</guid>
		<description><![CDATA[FGS 2012 Advisory Board Interview Series This is part one in a series of interviews of the Flash Gaming Summit 2012 Advisory Board. This is your chance to get to know the folks who determine the content of FGS, and hear their thoughts on both the conference and the games industry in general. This week&#8217;s [...]]]></description>
			<content:encoded><![CDATA[ <p><a href="http://www.flashgamingsummit.com"><img style="border: 0px" src="http://mochiland.com/wp-content/uploads/2011/11/fgs2012_interview_series_banner2.jpg" alt="" title="fgs2012_interview_series_banner" width="650" height="100" class="alignleft size-full wp-image-5989" /></a></p>
<h1>FGS 2012 Advisory Board Interview Series</h1>
<p>This is part one in a series of interviews of the <a href="http://www.flashgamingsummit.com">Flash Gaming Summit 2012</a> Advisory Board. This is your chance to get to know the folks who determine the content of FGS, and hear their thoughts on both the conference and the games industry in general. This week&#8217;s Advisory Board interview features Carl Trelfa, Co-founder of <a href="http://www.thepodge.co.uk/">thePodge</a>.</p>
<p>For more information on Flash Gaming Summit, including passes, speaking, or award show information <a href="http://www.flashgamingsummit.com">please visit the conference website</a>.</p>
<p><a href="http://www.thepodge.co.uk/"><img class="alignleft size-full wp-image-5857" style="border: 0px;" title="Carl Trelfa" src="http://mochiland.com/wp-content/uploads/2011/11/hi-res.jpg" alt="" width="140" height="185" /></a><a href="http://www.thepodge.co.uk/"><img class="alignright size-full wp-image-5899" style="border: 0px;" title="thePodge" src="http://mochiland.com/wp-content/uploads/2011/11/podgelogo.png" alt="" width="299" height="193" /></a></p>
<h2>Introduce yourself- who are you, how big is your team, and how do you participate in the Flash games industry?</h2>
<p>Hi, my name is Carl Trelfa, chief Code Monkey at <a href="http://www.thepodge.co.uk/">thePodge</a>.  Our team consists of 3 people: Me, Jim and Sarah &#8211; we&#8217;re good friends and have been for years.  We make games!</p>
<h2>What did you do before?</h2>
<p>Over the years I&#8217;ve done a lot of jobs &#8211; most of them not worth mentioning, but immediately prior to setting up thePodge, I worked for a couple of Flash Games development companies &#8211; most notably Nitrome, where I worked for about a year.  Before that I worked for a web development agency and also worked on some freelance projects.  Jim and Sarah both have worked freelance in the past as well.  None of us like working for other people!</p>
<h2>How did you first get into the Flash games industry? Tell us about your path.</h2>
<p>I&#8217;ve always been into making games, since I was a kid &#8211; I taught myself to code when I was pretty young.  About 10 or so years ago, Jim and I set up a business where we made online games using Java (way back before the industry had really got going properly).  We did OK, but we both ended up getting &#8220;proper&#8221; jobs.  I got really fed up of doing work that I felt wasn&#8217;t making use of my skill-set (you know, stuff like working in call centres, fixing people&#8217;s internet problems) and decided to give freelancing a go.  I was pretty late into Flash to be honest, my first sponsored game was Extreme Sketch-Pak way back in 2007 &#8211; sponsored by Bubblebox followed by 3D Super Snowboarder and Santa Caught Christmas. Next I decided to make a Flash games portal, www.ussgames.com, which helped bag me the job at Fish In A Bottle (with thanks also to RobotJAM for that!).  I then came to realise that web design wasn&#8217;t really my thing. I really wanted to get into making Flash games full-time, and that&#8217;s when I saw that Nitrome was looking for coders &#8211; so I applied and spent a year there.  While working at Nitrome I kept in touch with my old friend Jim and we decided to make another Flash games web site, www.gamebods.com. The goal was to give this a nicer design than USSgames, and we would concentrate on having higher quality games as well as keeping our users (check it out &#8211; you can earn points and build your own Bod, which serves as your site-wide avatar!).  After a while I felt I was just scraping by (living in London is expensive!). As much as I loved working at Nitrome, I always wanted to work for myself- so Jim, Sarah and I decided we&#8217;d go ahead and set up our own game dev company&#8230;and here we are now, almost 2 years on!</p>
<h2>Why did you decide to form thePodge? How did you guys find each other?</h2>
<p>I think I pretty much covered this already in my previous answers, although I should add that Jim is a really great graphic artist and Sarah&#8217;s character design is awesome, so we thought between us we&#8217;d make a good team.</p>
<h2>What challenges did you encounter going from a solo developer to working in a team? Do you have any advice for developers who are thinking of making a similar decision?</h2>
<p>I don&#8217;t really think there were any challenges to be honest.  My art and graphics are not great so I tend to prefer working with an artist &#8211; if anything it means we can work on bigger projects.  If I were pressed to name a challenge, it might be trying to divide up the work effectively- the coder tends to become a bit of bottle neck towards the end of the project.</p>
<h2>What is the single most difficult challenge facing game developers today?</h2>
<p>I&#8217;d say making original games that are intuitive and also hold people&#8217;s attention.  You&#8217;ve got to be original, easy to play and interesting enough to hold the attention of people with 3 second attention spans.  Flash games are ten-a-penny to the average online player, if it doesn&#8217;t grab them immediately then they will go play something else.</p>
<h2>Do you have any advice for developers who want to form a small team?</h2>
<p>Just go for it.  It&#8217;s hard to give up the security of a full-time job, but there is nothing more rewarding than working for yourself, doing something you love!</p>
<h2>What has been your single biggest challenge in the Flash games industry? How does it compare to the types of challenges you face today?</h2>
<p>Getting games sponsored is always a challenge.  The industry has changed since I first got in to it &#8211; the sponsorship model probably makes it easier for developers to make some money, but to be honest I&#8217;m not sure it&#8217;s the best model in terms of long term income.  Probably building up your own site is the best way to go, which is obviously a challenge in itself, but I think should lead to more long term benefits.</p>
<h2>What has been your proudest moment since joining the Flash gaming community?</h2>
<p>Probably winning a Mochi Award with Inferno Meltdown last year.  We were not expecting that!</p>
<h2>What is it that you love the MOST about the Flash games industry?</h2>
<p>Making creative and original games.</p>
<h2>What do you like the least?</h2>
<p>Silly comments on games.  Sometimes we get people saying we should do things in our game that are already there and often the players don&#8217;t consider what would happen if we implemented their idea &#8211; some of them are just downright silly and would completely break the game or just make it so easy it wouldn&#8217;t be worth playing!  It&#8217;s impossible to please all the people all the time&#8230;although, to be fair we get a lot of very good comments as well and really good suggestions &#8211; a lot of which have made it into City Siege 3.</p>
<h2>How has the industry changed since you first joined?</h2>
<p>Companies like Mochi appeared and gave us in-game advertising!  Now anybody can make some money from their games.</p>
<h2>How do you think Flash game developers are &#8220;Maximizing their games&#8221; today? What could they be doing better / differently?</h2>
<p>I see a lot of Devs these days with splash screens at the start of their games, which in my mind is essential &#8211; everybody can make their branding more visible in their games.  We&#8217;re currently looking into ways to encourage click-throughs to our site, people signing up for our mailing list (which you can do within our games) and keeping them playing.  How do you get somebody to carry on playing the game even if they have already played all the way through?  We have an answer &#8211; in one of our latest games, Firebug, you actually earn a Golden Jellybean every time you complete a level perfectly which you can then spend on silly things like hats for the bug, alternate skins, tilesets, backdrops, and all that stuff.  We also offer a 5 bean incentive to click through to our site and a 10 bean incentive to sign up to our mailing list.  A lot of iPhone games work in a similar way &#8211; just look at Jetpack Joyride, it&#8217;s literally the same 30 seconds of gameplay over and over, the main incentive to carry on playing is to collect the coins and buy a new jetpack and the new jetpacks are purely cosmetic! Firebug is coming out very soon, look for it on our <a href="http://www.thepodge.co.uk">website</a>!</p>
<p><a href="http://mochiland.com/wp-content/uploads/2011/11/firebug_2.png"><img class="alignleft size-full wp-image-5905" style="border: 0px;" title="Firebug" src="http://mochiland.com/wp-content/uploads/2011/11/firebug_2.png" alt="" width="401" height="328" /></a></p>
<h2>Where do you see the Flash games industry going? What&#8217;s in store for the future?</h2>
<p>That&#8217;s a bit of touchy subject with Adobe dropping the mobile browser plugin, but I see that as a positive &#8211; if players can&#8217;t just play our games in their browser, then they have to buy them in the app store, which is a good thing.  I&#8217;ve personally never missed not having Flash on my iPhone!  I think we&#8217;ll see a lot of 3D games soon &#8211; I might add that a lot of them will be rubbish, 3D doesn&#8217;t make a good game.  Hopefully we&#8217;ll see some good 2D/3D cross over type games (Paper Mario style, maybe or just interesting effects like in K.O.L.M.) and some amazing stuff using Molehill to accelerate 2D games.</p>
<h2>What part of Flash Gaming Summit do you most enjoy or look forward to?</h2>
<p>I think maybe the <a href="http://www.flashgamingsummit.com/awards.html">Mochi Award Show</a>, but I&#8217;m sure there will be some very interesting <a href="http://www.flashgamingsummit.com/speakers.html">speakers</a> as well.</p>
<h2>In your opinion, why should people come out to FGS 2012? What should they expect?</h2>
<p>Well the theme is Maximize Your Game, so I think any developer has something to gain from going.  We all need to maximize our income and generally get the most from our games.</p>
<p>&nbsp;</p>
<p><em><strong>Thanks for taking the time to chat Carl, this is great insight (and I&#8217;m looking forward to playing Firebug!). For more info on FGS 2012, please visit the <a href="http://www.flashgamingsummit.com">conference website</a>.</strong></em></p>
 <div class='series_toc'></div>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; Colin Cupp for <a href="http://mochiland.com">MochiLand</a>, 2011. |
	  <a href="http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge">Permalink</a> |
	  <a href="http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge&amp;title=FGS 2012 Advisory Board Series: Carl Trelfa of thePodge">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://mochiland.com/category/mochiland/developer-feed" title="View all posts in Developer Feed" rel="category tag">Developer Feed</a>, <a href="http://mochiland.com/category/mochiland/developer-spotlight" title="View all posts in Developer Spotlight" rel="category tag">Developer Spotlight</a>, <a href="http://mochiland.com/category/mochiland/front-page" title="View all posts in Front Page" rel="category tag">Front Page</a>, <a href="http://mochiland.com/category/mochiland/games-industry" title="View all posts in Games Industry" rel="category tag">Games Industry</a>, <a href="http://mochiland.com/category/mochiland/mochi-media-announcements" title="View all posts in Mochi Media Announcements" rel="category tag">Mochi Media Announcements</a>, <a href="http://mochiland.com/category/mochiland" title="View all posts in MochiLand Topics" rel="category tag">MochiLand Topics</a>, <a href="http://mochiland.com/category/mochiland/publisher-feed" title="View all posts in Publisher Feed" rel="category tag">Publisher Feed</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://mochiland.com/articles/fgs-2012-advisory-board-series-carl-trelfa-of-thepodge/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

