<?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>LongAnimalsGames</title>
	<atom:link href="http://www.longanimalsgames.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.longanimalsgames.com/blog</link>
	<description>You can do THAT in Flash?</description>
	<lastBuildDate>Sat, 21 Aug 2010 10:19:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Creation Of Heat Rush</title>
		<link>http://www.longanimalsgames.com/blog/?p=39</link>
		<comments>http://www.longanimalsgames.com/blog/?p=39#comments</comments>
		<pubDate>Sun, 18 Oct 2009 15:04:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Dev]]></category>

		<guid isPermaLink="false">http://www.longanimalsgames.com/blog/?p=39</guid>
		<description><![CDATA[Programmer / Designer: Julian Scott (LongAnimals)
Artist / Designer: Ben Everett (Asute)
Blog by Julian Scott

I have always loved the classic Sega arcade game OutRun, which was  released to a wowed audience back  in 1986. I don&#8217;t think there has been a better driving game made since then. It manages to create an incredible sensation of speed, [...]]]></description>
			<content:encoded><![CDATA[<p>Programmer / Designer: Julian Scott (LongAnimals)</p>
<p>Artist / Designer: Ben Everett (Asute)</p>
<p>Blog by Julian Scott</p>
<p style="text-align: center;"><a href="http://www.longanimalsgames.com/playgame.php?game=HeatRush"><img class="size-full wp-image-48 aligncenter" title="HeatRush_title" src="http://www.longanimalsgames.com/blog/wp-content/uploads/HeatRush_title.jpg" alt="HeatRush_title" width="311" height="227" /></a></p>
<p>I have always loved the classic Sega arcade game OutRun, which was  released to a wowed audience back  in 1986. I don&#8217;t think there has been a better driving game made since then. It manages to create an incredible sensation of speed, and playing it requires a perfect combination of learning the tracks, and reacting to AI vehicles, as well as perfecting your control of the car&#8217;s handling capabilities.</p>
<p>I didn&#8217;t set out to make a copy of the classic, but instead to create an updated homage, incorporating some of the classic elements from the arcade game.</p>
<p><strong>Prototype: Can Flash Handle It?</strong></p>
<p>The original arcade game incorporated some incredible hardware for the time, enabling hundreds of massively scaled sprites to be drawn at 30fps. Over 20 years later can a compiled bytecode language come close?</p>
<p>I did some tests using the Flash BitmapData.Draw() command in AS3 to determine how the Flash internals handle sprite scaling.</p>
<p>I&#8217;ve been involved with writing lots of low level sprite software over the years in the computer games industry, so I knew there are a few different techniques which the Flash designers could have used. Some methods are optimized for up-scaling, others for down-scaling. From my tests it seems that Adobe have taken a balanced approach. Starting with a middle sized sprite and scaling up and down from that appears to yeild the best results.</p>
<p>I was fully prepared to store multiple versions of each sprite to aid rendering speed, but my benchmarks indicated that this was unnecessary.</p>
<p>PCs (and Macs) are all different though, so I&#8217;m sorry I can&#8217;t help it if Flash runs poorly on your particular machine! <img src='http://www.longanimalsgames.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Well, we can&#8217;t dump as many sprites on-screen as the dedicated hardware of the original. No surprise there. So we had to design with this in mind and spread out the roadside objects accordingly, while still maintaining an impression of speed.</p>
<p><strong>The Road</strong></p>
<p>OK, so Flash can just about handle it. So the next step was to work out how to recreate the famous Outrun road. This was a strange experience for me. I&#8217;ve spent much of the last 10-15 years writing &#8216;real&#8217; 3d games and low-end polygon engines. Designing this road system was like stepping back in time to the days of the Megadrive to revisit the techniques we used back then.</p>
<p>The beauty of the original road, and one of the reasons why it&#8217;s better than many modern equivalents, is the fact that its 3D&#8217;ness is &#8216;faked&#8217;. Playing Outrun you can see that the roads are a physical impossibility. If you tried to model them in a 3D package you would find that the hills aren&#8217;t possible in real life! &#8216;Real&#8217; 3D just won&#8217;t cut it!</p>
<p>The technique I use for actually rendering the road is top secret. It&#8217;s pretty quick, as there is no overdraw, although rendering the billboards and vehicles behind or in front of peaks in the road requires some fiddling!</p>
<p>The function is by no means optimum, and will be improved in the next version of the game (popularity permitting). Having said that, judging from my benchmarks it isn&#8217;t actually the bottleneck in rendering speed. the slowest part is actually the rendering of the billboards. That&#8217;s handled internally in Flash, so there&#8217;s very little I can do about it.</p>
<p style="text-align: center;"><img class="size-full wp-image-51 aligncenter" title="HeatRush_objects" src="http://www.longanimalsgames.com/blog/wp-content/uploads/HeatRush_objects1.jpg" alt="HeatRush_objects" width="400" height="300" /></p>
<p><strong>Laying Out the Levels</strong></p>
<p>Even though visibly the road is very hilly and windy, it is defined logically as a straight line. Parts of the track are given attributes such as rate-of-change in the X and Y axes; X describing the turns, and Y describing the hills. I defined bends in the track by specifying a start point, end point, and rate of change over that area.</p>
<p>For example to desctibe a bend from z position 1000 to 3000, with a maximum turn rate of 2 units I would use a command like this:</p>
<p>Bend( 1000,2000, 2);</p>
<p>Overlaying a series of commands like this make it very easy to create long interesting roads.</p>
<p>Many other road details are specified in the same way; including billboards, road surface types, AI vehicle density, edge details, sound types, checkpoints, etc.</p>
<p>In actual fact, I use XML to describe the road layout, using something similar to this:</p>
<p>&lt;road&gt;</p>
<p>&lt;hill start=&#8221;1000&#8243; length=&#8221;2000&#8243; rate=&#8221;2&#8243; /&gt;</p>
<p>&lt;bend start=&#8221;2000&#8243; length=&#8221;3000&#8243; rate=&#8221;-2&#8243; /&gt;</p>
<p>My system allows the XML file to be reloaded on the fly, so tweaking the road involves editing the file and pressing a key in-game to reload it. Therefore any changes can be viewed instantly, and iteration time on level design is reduced significantly from storing the data directly in code and recompiling each time.</p>
<p>Side note: You would be surprised and amazed how many &#8216;professional&#8217; and very well known console game companies completely fail to grasp this sort of technique, and in doing so throw enormous amounts of money down the drain during the game design process.</p>
<p>Ben created a rough drawing of each level on paper, almost as a schematic, so that he could make each track work as a whole, with nice varying segments to maintain interest. He then re-created the design in text commands in the XML file, adding new billboards and road textures in to Flash as and when necessary.</p>
<p>We weren&#8217;t sure how many levels to make, but 10 seemed like a good number as this enabled us to borrow the branching nature of the original Outrun track design.</p>
<p>To me this branching design is the perfect system for this sort of game. The player gets to make decisions, and can work out for themselves which route to take for a fast time, as well as offering the incentive of seeing the different end animations, one for each route.</p>
<p>Potential sponsors persuaded us that this sort of branching design isn&#8217;t really suitable for today&#8217;s flash gaming audience, so as a comprimise we added in the ability to restart the game at any previously reached level. One thing we kept is this: the ability to submit a high score is only available if you play the game from the beginning.</p>
<p>Personally speaking, I feel that this is a shame, as it dilutes the experience, but it&#8217;s an acceptible compromise. Are we here to give the audience what we want, or to give them what they want? It&#8217;s a bit of each, I think.</p>
<p>No game these days is complete without Achievements. We added these, and for simplicity linked them directly to vehicle upgrades. It&#8217;s possible to complete the levels without getting achievements, but the player will need a lot of upgrades to get a good score.</p>
<p><strong>Graphics</strong></p>
<p>We wanted to retain the look of the mid-80s. Ben built the vehicles and roadside objects in 3D, and rendered them out to bitmaps suitable for importing in to Flash. Vehicles were rendered from multiple angles, so that we could give the impression of turning and going up and down over hills. The player&#8217;s car has more frames than the other vechicles because it&#8217;s the primary focus. It is also stored in a less compressed state than the other objects in the game. Most objects move so quickly past you that we were able to store them with fairly high Jpeg compression, freeing up valuable file space.</p>
<p style="text-align: center;"><img class="size-medium wp-image-49 aligncenter" title="HeatRush_carframes" src="http://www.longanimalsgames.com/blog/wp-content/uploads/HeatRush_carframes-300x225.jpg" alt="HeatRush_carframes" width="300" height="225" /></p>
<p><strong>Controls</strong></p>
<p>The biggest difference between arcade games like Outrun and their Flash equivalents is actually the controls. We can&#8217;t reproduce the analogue steering wheel and accelerator and brake pedals from the arcade, so the vehicle control has to change somewhat. We only have digital keys to deal with.</p>
<p>I used the trie and tested aproach for steering which is effectively to tuen the steering wheel when the left or fight keys are pressed, but to turn it faster the nearer it is to being straight. The movement decelerates as the wheel reaches the extremities of its turn.</p>
<p>The accelerator and brake work similarly.</p>
<p>The car&#8217;s engine has a very steep curve defining its acceleration. It can reach 90% of its top speed fairly quickly but from there takes a long time to reach 100%. this works well gamepay-wise because the player is rewarded for keeping the accelerator pedal down for as long as possible, hopefully encouraging risk taking round the long sweeping bends.</p>
<p><strong>Turbo</strong></p>
<p>When developing our last major driving game, Drift Runners, we added a turbo to the vehicle, but removed it (amongst other things) as we felt it was an unneccesary addition. We found the complaints about the lack of Turbo quite amusing. But we felt that the addition of a Turbo to Heat Rush would add something. We worked hard to make it a useful feature, and I think we succeeded.</p>
<p>Using the Turbo drastically increases the players&#8217; speed for a short time, increasing their chances of crashing, so it&#8217;s up to the player to decide when best to use it. (Round a series of tight curves is probably a bad idea!)</p>
<p>We added a simple blur effect when the turbo is in operation to enhance the feeling of out-of-control speed.</p>
<p><strong>Reception</strong></p>
<p>The game received a low score on both Kongregate and Newgrounds. We were quite surprised by this, I have to say. though it was viewed by only a couple of thousand players on ecah site. We know from experience that only a small percentage of voters on Newgrounds actually play the game, so we don&#8217;t consider the score to be particularly meaningful.</p>
<p>Even without a decent score the game was picked up by a large number of portals and reached a million plays within a few days.</p>
<p>It has now done around nine million plays in two months. We&#8217;re happy with the figures. they mean that a sequel will be forthcoming, and further developments in driving games are worthwhile for us. We&#8217;re looking forward to pushing both the technology in new (and old) directions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.longanimalsgames.com/blog/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Cyclo Maniacs</title>
		<link>http://www.longanimalsgames.com/blog/?p=3</link>
		<comments>http://www.longanimalsgames.com/blog/?p=3#comments</comments>
		<pubDate>Tue, 18 Aug 2009 15:41:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Dev]]></category>

		<guid isPermaLink="false">http://www.longanimalsgames.com/blog/?p=3</guid>
		<description><![CDATA[
CycloManiacs is the most recent release from LongAnimals and RobotJAM
It was sponsored by the nice guys over at Kongregate, after getting quite a lot of attention from other sponsors.
RobotJAM and I always have a lot of trouble between games deciding what to do next. We had noticed that moto-cross games seem to be pretty popular, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-9 aligncenter" title="CycloManiacs_Thumb" src="http://www.longanimalsgames.com/blog/wp-content/CycloManiacs_Thumb.jpg" alt="CycloManiacs_Thumb" /></p>
<p>CycloManiacs is the most recent release from LongAnimals and RobotJAM</p>
<p>It was sponsored by the nice guys over at Kongregate, after getting quite a lot of attention from other sponsors.</p>
<p>RobotJAM and I always have a lot of trouble between games deciding what to do next. We had noticed that moto-cross games seem to be pretty popular, so we thought we&#8217;d knock a quick one up in a week or so just to see actually how many plays they generate. We&#8217;d done KCA Rush for Addicting Games, but that was a contract job, so we couldn&#8217;t really put much of our own gameplay in to it.</p>
<div id="attachment_15" class="wp-caption aligncenter" style="width: 290px"><img class="size-full wp-image-15 " title="KCA Rush" src="http://www.longanimalsgames.com/blog/wp-content/screenshot1.jpg" alt="KCA Rush from Addicting Games" width="280" height="203" /><p class="wp-caption-text">KCA Rush from Addicting Games</p></div>
<p>I&#8217;m not quite sure what happened though, because the next thing we knew, the game now had 20 different riders, 26 levels, and 70 achievements to unlock. This isn&#8217;t exactly what we had in mind to begin with.</p>
<div id="attachment_17" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-17" title="CycloManiacs" src="http://www.longanimalsgames.com/blog/wp-content/CycloManiacs_large.jpg" alt="CycloManiacs Level 1" width="300" height="250" /><p class="wp-caption-text">CycloManiacs Level 1</p></div>
<p> </p>
<p>In the beginning we weren&#8217;t sure what kind of game it was going to be, whether it was a race, time trial, or indeed a dirt bike game.</p>
<p>I built an editor in which to place objects to define the surface.  In very early versions we defined surfaces from sprites with fixed-angle surfaces so that we could place them together easier. We also had some girders (some of these made it through to the final game). The look of the road surface was originally going to be monochrome.</p>
<p>I got the rudimentary bike physics working very quickly, and Rob supplied a graphic of a creature on a bike to supplant my programmer-art. Then we spent some time trying to build tracks.</p>
<p>This didn&#8217;t go well at all. The editor was fiddly to use, and even with the ability to snap objects together it was a slow process. And furthermore it was difficult to get the collision joining up correctly with rotated objects.</p>
<p>Rob then had the idea of defining a floor section instead of making the track out of &#8216;bricks&#8217;. So I added this to the editor and knocked a few tracks up. The difference was amazing. The tracks worked so much better, and the time taken to create a level went down drastically. We combined this with overlaid objects (like ramps, girders, and rocks) to make interesting levels.</p>
<div id="attachment_20" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-20 " title="editor01" src="http://www.longanimalsgames.com/blog/wp-content/editor01-300x227.jpg" alt="Picking objects from the library" width="300" height="227" /><p class="wp-caption-text">Picking objects from the Library</p></div>
<p>&#8230; </p>
<div id="attachment_25" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-25" title="editor02" src="http://www.longanimalsgames.com/blog/wp-content/editor023-300x226.jpg" alt="Laying down trees" width="300" height="226" /><p class="wp-caption-text">Laying down trees</p></div>
<p>With the track editor now worked out, this led us away from doing dirtbike-type levels and on to faster race levels, as we could make the longer tracks with ease. However we decided to keep both types of tracks in for variety, but to concentrate more on racing.</p>
<p>We started thinking about how the AI would work, and it didn&#8217;t take too long to decide upon recording ourselves playing the levels and playing that back, with variations, for the AI. I wrote a quick recorder to check this out, and it turned out to be really nice with a few bikes on screen. (even though they were all the same) Quite a change from the usual dirt-bike game.</p>
<p>So after this became a definite feature, we both got more excited about the game, as we began to see it&#8217;s potential. Rob decided that cycles would be more fun than motorbikes (how right he was) and came up with a new design for RobotJAM riding a bike.</p>
<p>The flash movieclips for this are made from multiple parts. Two wheels, a bike frame, incorporating legs, and an upper body with leaning animation. This is so that we could lean forward and back independantly of the speed of the legs cycling movement. The wheels are added on as separate physics objects.</p>
<div id="attachment_28" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-28" title="robotjam_bits" src="http://www.longanimalsgames.com/blog/wp-content/robotjam_bits-300x225.jpg" alt="RobotJAM character in pieces" width="300" height="225" /><p class="wp-caption-text">RobotJAM character in pieces</p></div>
<p>So now we had a rider and a track. What next? We decided to make a few cute characters on different bikes. The differences between the cycles would allow them to have different physical attributes, therefore different handling properties. We were excited by this as we thought it would open up the structure of the game. It would allow players to experiment with a variety of bikes to find the ones they like, and it would also allow us to be more free with the level design, pushing the faster and rockier courses.</p>
<p>Rob set off making a bunch of characters, and I got on with some level design tests. Because it was extremely quick to make courses, we soon had around 10-15 test levels in place. I tried to make all the variations I could think of. Long and straight, bumpy, big hills, uphill, downhill, rocky, etc.</p>
<p>With these levels in place I could start to tweak the bike physics to match the surroundings. Initially we had the gravity settings way too low; everything was rather floaty. I doubled the strength of the gravity and suddenly it started to play a lot better. The bikes spent more time on the ground.</p>
<p>Rob presented a great set of characters and I built the system to handle mutiple player bikes, so that we could try them all out, and sure enough, the handling was different on each one. We had Elvis on a chopper, who was very good at wheelies, and a helmeted rider on a racing bike who was good at fast speeds.</p>
<p>As it worked so well Rob went off and got carried away making loads of new characters in record time, and I got on with the gameplay. We were both really enjoying this.</p>
<p>I tried a few systems out for increasing player attributes and giving turbo boost etc. In the end we went for the idea of doing stunts to build up boost. This went through a few iterations, and required a lot of tweaking, but we were very happy with the result.</p>
<p>The player gains stunt points for doing wheelies, getting air time, and doing somersaults in the air. These were all balanced against each other so that the more difficult and risky ones were generally more rewarding.</p>
<p>This is a standard gameplay trait that I&#8217;ve used for many years. Any player should be able to have fun, but those who want to take more risks should be rewarded for their efforts. In this game you&#8217;re constantly faced with decisions whether to do one more forward roll, or that extra bit of wheelie.</p>
<p>The next bunch of characters included a couple of odd bikes with front wheels larger than the back wheels, so I added another stunt to the mix &#8211; front wheel wheelies.</p>
<p>We got to thinking about level structure, and pretty well agreed from the start to have five worlds each containing a number of levels. Rob came up with Dunes, Outlands, Volcania, City, and Lunaria, and started knocking up parallax scrolling backgrounds for each.</p>
<p>We decided to have one static layer and two layers of parallax looping backgrounds for each level to give it some nice depth.</p>
<div id="attachment_36" class="wp-caption aligncenter" style="width: 665px"><img class="size-large wp-image-36" title="backgroundlayers" src="http://www.longanimalsgames.com/blog/wp-content/backgroundlayers2-1024x351.jpg" alt="The five main world backgrounds" width="655" height="260" /><p class="wp-caption-text">The five main world backgrounds</p></div>
<p>Flash can handle multiple parallax layers pretty well. The two furthest backgrounds are drawn by blitting a large bitmap, which in Flash is very fast, while the nearest layer uses the Flash polygon-draw commands. incedental sprites such as cactii or rocks are placed on top of that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.longanimalsgames.com/blog/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
