<?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>studio radiolaris</title>
	<atom:link href="http://radiolaris.com/studio/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://radiolaris.com/studio</link>
	<description>games about music</description>
	<lastBuildDate>Thu, 15 Jul 2010 09:50:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Breaking The Rules</title>
		<link>http://radiolaris.com/studio/?p=442</link>
		<comments>http://radiolaris.com/studio/?p=442#comments</comments>
		<pubDate>Thu, 15 Jul 2010 09:50:04 +0000</pubDate>
		<dc:creator>pi</dc:creator>
				<category><![CDATA[Announcement]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=442</guid>
		<description><![CDATA[
The radiolaris family is getting bigger! In the coming weeks we&#8217;re going to merge our operations with our longtime friends and office colleagues Broken Rules, makers of the fabulous PC/Mac &#038; upcoming WiiWare platformer And Yet It Moves.

&#8220;And Yet It Moves is a puzzle-platformer, set in a unique world, made of ripped paper. Within the [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://www.brokenrul.es/gfx/logo/block_seperate_1.png" title="Broken Rules" class="alignnone" width="550"/></p>
<p>The radiolaris family is getting bigger! In the coming weeks we&#8217;re going to merge our operations with our longtime friends and office colleagues <a href="http://brokenrul.es">Broken Rules</a>, makers of the fabulous PC/Mac &#038; upcoming WiiWare platformer <a href="http://www.andyetitmoves.net/">And Yet It Moves</a>.</p>
<p><a href="http://radiolaris.com/studio/wp-content/uploads/2010/07/The-Great-Escape-Bats1.jpg" rel="lightbox[442]"><img src="http://radiolaris.com/studio/wp-content/uploads/2010/07/The-Great-Escape-Bats1.jpg" alt="" title="And Yet It Moves" width="550" /></a></p>
<blockquote><p>&#8220;And Yet It Moves is a puzzle-platformer, set in a unique world, made of ripped paper. Within the paper collage, you can jump, run and last but certainly not least: rotate the world. Learn how to apply the physical consequences of rotation to master the many tricky situations you may encounter.&#8221; (<a href="andyetitmoves.net">andyetitmoves.net</a>)<br />
<br/></p></blockquote>
<p><a href="http://radiolaris.com/studio/wp-content/uploads/2010/07/IMG_0105.png" rel="lightbox[442]"><img src="http://radiolaris.com/studio/wp-content/uploads/2010/07/IMG_0105-300x225.png" alt="" title="Globetrotters for iPad" width="550"  /></a></p>
<p>studio radiolaris and Broken Rules first worked together on the iPad 4-player classic <a href="http://brokenradiogames.com/games/globetrotters/index.html">Globetrotters</a>. We are currently in the research and prototyping phase of a new game that&#8217;ll boldly fly where no man has flown before. Stay tuned for updates!</p>
<p>Our existing games will become part of the <a href="http://brokenradiogames.com">Broken Radio Games</a> brand, an experimental games label that features game jam results, prototypes and full-fledged games for new platforms like the iPhone and the iPad.</p>
<p>Broken Rules is a licensed Nintendo and Sony developer. We&#8217;re happy to have the opportunity to work on larger and more diverse projects while staying an independent studio, although a new one. As Broken Rules we&#8217;re also able to take on more contract work. Feel free to <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#101;&#108;&#108;&#111;&#64;&#98;&#114;&#111;&#107;&#101;&#110;&#114;&#117;&#108;&#46;&#101;&#115;">drop us a line</a> if you have an inquiry.</p>
<p>Follow <a href="http://twitter.com/brokenrules">@brokenrules</a> or <a href="http://twitter.com/martinpi">@me</a> to stay up-to-date with us.</p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=442</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick and Dirty Pseudo-Random Generator</title>
		<link>http://radiolaris.com/studio/?p=438</link>
		<comments>http://radiolaris.com/studio/?p=438#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:39:54 +0000</pubDate>
		<dc:creator>pi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[procedural]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=438</guid>
		<description><![CDATA[Procedural content is big. I&#8217;m working on a game based on purely procedurally generated levels. Thus I needed a pseudo-random number generator. I took the formula Adam &#8216;Atomic&#8217; Saltsman (yeah &#8211; the Canabalt guy) presented in the Game Developer magazine and adapted it to work on the iOS platform. 
I also thought it&#8217;s wise to [...]]]></description>
			<content:encoded><![CDATA[<p>Procedural content is big. I&#8217;m working on a game based on purely procedurally generated levels. Thus I needed a <a href="http://en.wikipedia.org/wiki/Pseudo-random">pseudo-random number generator</a>. I took the formula Adam &#8216;Atomic&#8217; Saltsman (yeah &#8211; the Canabalt guy) presented in the <a href="http://gamedeveloper.texterity.com/gamedeveloper/201002?pg=42#pg42">Game Developer magazine</a> and adapted it to work on the iOS platform. </p>
<p>I also thought it&#8217;s wise to keep it compatible with 8bit computers <img src='http://radiolaris.com/studio/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  so I truncated the number a great bit. It actually doesn&#8217;t matter too much, but I&#8217;d not use this code unchecked in production. Myself, I use it for building levels and I just need 999 different ones.</p>
<p>Generate an unsigned int pseudo-random number based on seed &#8220;seed&#8221;:<br />
<code>#define SONA_PRANDOM(seed)		\<br />
        ((unsigned)((seed * 1103515245 + 12345)/65536) % 32768)<br />
</code></p>
<p>Generate a float16 pseudo-random number based on seed &#8220;seed&#8221;:<br />
<code>#define SONA_PRANDOM_FLOAT(seed)		\<br />
        (((float)SONA_PRANDOM(seed)) / (float) (1<<16-1))<br />
</code></p>
<p>Select x, y or z from a set:<br />
<code>#define SONA_PRANDOM_FROM_SET3(seed,x,y,z)	\<br />
        (SONA_PRANDOM_FLOAT(seed) > 1.f/3.f ? (SONA_PRANDOM_FLOAT(seed) > 1.f/2.f ? x : y) : z)<br />
</code></p>
<p>Generate an int between __MIN__ and __MAX__:<br />
<code>#define SONA_PRANDOM_INT(seed,__MIN__, __MAX__)		\<br />
        ((__MIN__) + SONA_PRANDOM(seed) % ((__MAX__+1) - (__MIN__)))<br />
</code></p>
<p>In order to generate a sequence of random numbers you just reuse the last random number as seed:<br />
<code>unsigned random1 = SONA_PRANDOM(666);<br />
unsigned random2 = SONA_PRANDOM(random1);<br />
unsigned random3 = SONA_PRANDOM(random2);<br />
// and so on<br />
</code></p>
<p>Final advice: Don't use it in production without checking every single value in a test run. If you pick the wrong seed, the random numbers might loop easily. Feel free to use it for prototyping or extend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=438</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Globetrotters overhaul</title>
		<link>http://radiolaris.com/studio/?p=429</link>
		<comments>http://radiolaris.com/studio/?p=429#comments</comments>
		<pubDate>Fri, 04 Jun 2010 12:30:52 +0000</pubDate>
		<dc:creator>pi</dc:creator>
				<category><![CDATA[Announcement]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=429</guid>
		<description><![CDATA[Globetrotters, our first Broken Radio Games release is currently undergoing a complete graphics and gameplay overhaul. We&#8217;ve recently started to work with graphic artist Clemens Scott in order to give the game a fresh new look. It&#8217;ll take a couple more days before we have everything wrapped up, but I can give you a sneak [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://brokenradiogames.com/globetrotters/index.html">Globetrotters</a>, our first <a href="http://brokenradiogames.com/">Broken Radio Games</a> release is currently undergoing a complete graphics and gameplay overhaul. We&#8217;ve recently started to work with graphic artist <a href="http://www.cscott.at/">Clemens Scott</a> in order to give the game a fresh new look. It&#8217;ll take a couple more days before we have everything wrapped up, but I can give you a sneak peek at some concept art for the astronauts.</p>
<p><a href="http://radiolaris.com/studio/wp-content/uploads/2010/06/globetrotters-player2.png" rel="lightbox[429]"><img src="http://radiolaris.com/studio/wp-content/uploads/2010/06/globetrotters-player2.png" alt="" title="Globetrotters Concept Art: The Player" width="575" height="603" class="aligncenter size-full wp-image-433" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=429</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Psychedelic Backgrounds</title>
		<link>http://radiolaris.com/studio/?p=424</link>
		<comments>http://radiolaris.com/studio/?p=424#comments</comments>
		<pubDate>Fri, 07 May 2010 13:25:04 +0000</pubDate>
		<dc:creator>pi</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Radio Flare Redux]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=424</guid>
		<description><![CDATA[Journalists and players called the visuals of Radio Flare REDUX &#8220;stunning&#8221; (Macworld) and &#8220;fantastic&#8221; (cybereal). This can be partly attributed to the mind-bending, jaw-dropping, eye-popping psychedelic background effects. In this blog post I&#8217;ll explain the basics of the tech behind those backgrounds. The magic comes from linking the background effects to the music. But the [...]]]></description>
			<content:encoded><![CDATA[<p>Journalists and players called the visuals of <a href="http://radiolaris.com/redux/index.html">Radio Flare REDUX</a> &#8220;stunning&#8221; (<a href="http://www.macworld.com/appguide/app.html?id=421093">Macworld</a>) and &#8220;fantastic&#8221; (<a href="http://radiolaris.com/redux/index.html">cybereal</a>). This can be partly attributed to the mind-bending, jaw-dropping, eye-popping psychedelic background effects. In this blog post I&#8217;ll explain the basics of the tech behind those backgrounds. The magic comes from linking the background effects to the music. But the code that  actually draws the graphics is dead simple. Let&#8217;s get started.</p>
<p><strong>Setting up shop</strong></p>
<p>All backgrounds are nodes in the scene graph that stores the whole game scene. The backgrounds are flat (2D) and drawn in the background. They are semi-transparent and composed of straight &#038; simple OpenGL. In the game, I use three different kinds of background elements: Texture-based (like the noise in the &#8220;Motor&#8221; level and the interlacing lines), PointSprite-based (like the rain and pollen in &#8220;Revolution Void&#8221;), and Vertex-based (all others, most of them based on basic shapes like lines and rectangles). Texture-based effects are the most simple: I just tile a texture over the whole screen and move it a little bit (in sync with the beat). The PointSprite-based ones are based on the Particle code I use. Comparable Open Source-code can be found in the particle class of <a href="http://www.cocos2d-iphone.org/">Cocos2D</a>. In the following paragraphs I will explain how to render Vertex-based psychedelic effects.</p>
<p>All vertices that will be drawn need to be stored in an array. The following code draws a waveform-like visual effect. In REDUX, it can be found in the &#8220;Motor&#8221; and the &#8220;DJ Glow&#8221; levels. Here&#8217;s a screenshot. The code here draws the striped waveform in the background.</p>
<p><a href="http://radiolaris.com/studio/wp-content/uploads/2010/05/REDUX-SCREENSHOTS-11.png" rel="lightbox[424]"><img src="http://radiolaris.com/studio/wp-content/uploads/2010/05/REDUX-SCREENSHOTS-11.png" alt="Radio Flare REDUX: Wave Form Background" title="Radio Flare REDUX: Wave Form Background" width="480" height="320" class="aligncenter size-full wp-image-425" /></a></p>
<p>The vertices are stored in an array called <code>_vertices</code>. The number of vertices stored is stored in <code>_numVertices</code>, the absolute number of vertices that fit in the allocated memory is stored in <code>_numElements</code>.</p>
<p>A point is added with the following function:</p>
<p><code>- (void) addPoint:(SONAVector2D)point {<br />
	if (_numVertices < _numElements-1) {<br />
		_vertices[_numVertices].x = point.x;<br />
		_vertices[_numVertices].y = point.y;<br />
		_vertices[_numVertices+1].x = point.x;<br />
		_vertices[_numVertices+1].y = -point.y;</p>
<p>		if (_numVertices >= 2) {<br />
			_indices[_numIndices+0] = _numVertices+0;<br />
			_indices[_numIndices+1] = _numVertices+1 - 2;<br />
			_indices[_numIndices+2] = _numVertices+0 - 2;<br />
			_indices[_numIndices+3] = _numVertices+1 - 2;<br />
			_indices[_numIndices+4] = _numVertices+1;<br />
			_indices[_numIndices+5] = _numVertices+0;<br />
		} else {<br />
			_indices[_numIndices+0] = _numVertices+0;<br />
			_indices[_numIndices+1] = _numVertices+1;<br />
			_indices[_numIndices+2] = _numVertices+0;<br />
			_indices[_numIndices+3] = _numVertices+0;<br />
			_indices[_numIndices+4] = _numVertices+1;<br />
			_indices[_numIndices+5] = _numVertices+0;<br />
		}</p>
<p>		_numIndices += 6;<br />
		_numVertices += 2;<br />
	}<br />
}<br />
</code></p>
<p>As you can see there&#8217;s a second array called <code>_indices</code> that stores vertex indices to be used in the <code>glDrawElements()</code> call later on. Indices are used because some vertices are used repeatedly in order to draw one continuous stripe. The vertices are initialized with the following function call (<code>gSize</code> is a 2-dimensional grid size that determines how much memory is allocated for this object):</p>
<p><code>- (void) resetPoints:(SONAGrid)gSize  {<br />
	// superclass calculates _numElements (=gSize.x * gSize.y)<br />
	[super resetPoints:gSize];</p>
<p>	// xStride is the stride between the different quads<br />
	_xStride = ((float)[_rfrState.elements.sceneManager width])/((float)_numElements/2.f - 2.f);</p>
<p>	// allocate memory for the vertices and the indices<br />
	_vertices = (SONAVector2D *)malloc(_numElements * 2 * sizeof(SONAVector2D));<br />
	_indices = (GLushort *)malloc(_numElements * 6 * sizeof(GLushort));</p>
<p>	// add the points. one call to addPoint adds a whole square (ugly!)<br />
	for (int i=0; i<_numElements/2.f; i++) {<br />
		[self addPoint:makeVector2D(((float)i) * _xStride, 25.0f+SONA_RANDOM_FLOAT()*50.0f)];<br />
	}<br />
}<br />
</code></p>
<p>The squares (the wave form is composed of cubes) are moved to the left at each beat of the music. This is achieved by copying over the y vertices. The leftmost square is moved all the way to the right.</p>
<p><code>- (void) moveSquares {<br />
	_vertices[_numVertices-2].y = _vertices[0].y;<br />
	_vertices[_numVertices-1].y = _vertices[1].y;</p>
<p>	for (int i=0; i<_numVertices-2; i++) {<br />
		_vertices[i  ].y = _vertices[i+2  ].y;<br />
	}<br />
}</code></p>
<p>The following piece of code is the callback from the sound engine. The superclass administers some variables like <code>_updateCountdown</code>, a countdown that is set to 1 on each beat and linearly decreases to 0 over the duration of one beat.</p>
<p><code>- (void) onBeat:(unsigned int)beat ofBar:(unsigned int)bar {<br />
	[super onBeat:beat ofBar:bar];<br />
	[self moveSquares];<br />
}</code></p>
<p>The last — and most important — function is the drawing function. My default OpenGL state has enabled vertex and texture coordinate arrays. I need to disable texturing in order to draw plain shapes. I also store the blending settings and color mode before proceeding to the actual drawing and reset it afterwards. Before drawing, I translate vertically to the centre of the screen and translate horizontally by a fraction of <code>_updateCountdown</code> and <code>_xStride</code> to smoothly scroll the whole wave form. Then I draw the stripe in 3 passes. Each pass is scaled differently on the y-axis and has a different alpha blending. The actual vertices are only transmitted once with the <code>glVertexPointer()</code> call. Subsequent passes draw the same vertices and indices again.</p>
<p><code>- (void) draw {</p>
<p>	// disable texture coordinate arrays and texturing<br />
	glDisableClientState(GL_TEXTURE_COORD_ARRAY);<br />
	glDisable(GL_TEXTURE_2D); </p>
<p>	// store blending settings<br />
	int blendSrc, blendDst;<br />
	glGetIntegerv(GL_BLEND_DST, &#038;blendDst);<br />
	glGetIntegerv(GL_BLEND_SRC, &#038;blendSrc);<br />
	glBlendFunc(GL_SRC_ALPHA, GL_ONE);</p>
<p>	// store color mode settings<br />
	int colorMode;<br />
	glGetTexEnviv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, &#038;colorMode);<br />
	glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );</p>
<p>	// translate to the vertical centre of the screen before drawing.<br />
	glTranslatef(_xStride*_updateCountdown/2.0f - _xStride, [_rfrState.elements.sceneManager height]/2.f, 0.f);</p>
<p>	// there are three drawing passes with different scaling on the y-axis and different transparency<br />
	glScalef(1.f, _height * (1.0f+_updateCountdown/2.0f), 0.0f);<br />
	glColor4f(_blendColour.r, _blendColour.g, _blendColour.b, _blendColour.a/4.5f);<br />
	glVertexPointer(2, GL_FLOAT, 0, _vertices);<br />
	glDrawElements(GL_TRIANGLES, _numIndices, GL_UNSIGNED_SHORT, _indices);</p>
<p>	glScalef(1.f, _height * (1.0f+_updateCountdown/2.0f)*_factor, 0.0f);<br />
	glColor4f(_blendColour.r, _blendColour.g, _blendColour.b, _blendColour.a/8.5f);<br />
	glDrawElements(GL_TRIANGLES, _numIndices, GL_UNSIGNED_SHORT, _indices);	</p>
<p>	glScalef(1.0f, _height * (1.0f+_updateCountdown/3.0f)*_factor, 0.0f);<br />
	glColor4f(_blendColour.r, _blendColour.g, _blendColour.b, _blendColour.a/16.5f);<br />
	glDrawElements(GL_TRIANGLES, _numIndices, GL_UNSIGNED_SHORT, _indices);	</p>
<p>	// restore color mode<br />
	glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, colorMode);</p>
<p>	// restore blend state<br />
	glBlendFunc( blendSrc, blendDst );	</p>
<p>	// re-enabled texture coordinates<br />
	glEnableClientState(GL_TEXTURE_COORD_ARRAY);<br />
	glEnable(GL_TEXTURE_2D); </p>
<p>}</code></p>
<p>The other backgrounds are coded slightly different but basically similar. All of them are based on arrays of vertices. I will share some more interesting pieces of code in the future, but that's it for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=424</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>REDUX update in the making</title>
		<link>http://radiolaris.com/studio/?p=419</link>
		<comments>http://radiolaris.com/studio/?p=419#comments</comments>
		<pubDate>Thu, 06 May 2010 09:56:07 +0000</pubDate>
		<dc:creator>pi</dc:creator>
				<category><![CDATA[Announcement]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=419</guid>
		<description><![CDATA[I just wanted to post a quick update about our progress with the REDUX HD update. There&#8217;ll be plenty of new content in the first update and we&#8217;re already feature complete. Just needs a bit more polish and then it&#8217;ll ship. I&#8217;m pleased to tell that the one feature that was missing from the HD [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to post a quick update about our progress with the REDUX HD update. There&#8217;ll be plenty of new content in the first update and we&#8217;re already feature complete. Just needs a bit more polish and then it&#8217;ll ship. I&#8217;m pleased to tell that the one feature that was missing from the HD version, but present in the iPhone release, is now working on the iPad, too: Tweeting screenshots from the game.</p>
<p><a href="http://radiolaris.com/studio/wp-content/uploads/2010/05/IMG_0078.jpeg" rel="lightbox[419]"><img src="http://radiolaris.com/studio/wp-content/uploads/2010/05/IMG_0078.jpeg" alt="Radio Flare REDUX HD iPad screenshot" title="Radio Flare REDUX HD" width="575" class="aligncenter size-full wp-image-420" /></a></p>
<p>Of course, the iPhone version will get updated, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=419</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Globetrotters update &amp; raffle</title>
		<link>http://radiolaris.com/studio/?p=416</link>
		<comments>http://radiolaris.com/studio/?p=416#comments</comments>
		<pubDate>Tue, 13 Apr 2010 08:35:11 +0000</pubDate>
		<dc:creator>fares</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Globetrotters]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=416</guid>
		<description><![CDATA[The first update of our brand new 4-player party fun game Globetrotters went online today! Now that we have the magical device in our hands we made several graphical improvements and gameplay tweaks and we also fixed a critical bug where the game would not continue after a level.
To celebrate the sucessful launch of Globetrotters [...]]]></description>
			<content:encoded><![CDATA[<p>The first update of our brand new 4-player party fun game <a href="http://radiolaris.com/brokenradiogames/">Globetrotters</a> went online today! Now that we have the magical device in our hands we made several graphical improvements and gameplay tweaks and we also fixed a critical bug where the game would not continue after a level.</p>
<p>To celebrate the sucessful launch of Globetrotters we will raffle 5 promo copies of the game on our Facebook fan page. <a href="http://tiny.cc/radiolaris_FB">Become a fan of studio radiolaris</a> this week to be eligible. </p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=416</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REDUX HD: A rare treat for iPhone/iPad gamers</title>
		<link>http://radiolaris.com/studio/?p=411</link>
		<comments>http://radiolaris.com/studio/?p=411#comments</comments>
		<pubDate>Tue, 06 Apr 2010 11:04:24 +0000</pubDate>
		<dc:creator>fares</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[radio flare]]></category>
		<category><![CDATA[Radio Flare Redux]]></category>
		<category><![CDATA[Redux]]></category>

		<guid isPermaLink="false">http://radiolaris.com/studio/?p=411</guid>
		<description><![CDATA[I have to share this review of REDUX HD with you. We received it from cybereal on the iPad App Store:
&#8220;This game stands as one of very few truly excellent examples of gaming on Apple&#8217;s new devices. With fantastic visuals, solid gameplay, varied challenges, and excellent soundtrack, this game reminds me of contemporary greats such [...]]]></description>
			<content:encoded><![CDATA[<p>I have to share this review of REDUX HD with you. We received it from <em>cybereal</em> on the iPad App Store:</p>
<p><em>&#8220;This game stands as one of very few truly excellent examples of gaming on Apple&#8217;s new devices. With fantastic visuals, solid gameplay, varied challenges, and excellent soundtrack, this game reminds me of contemporary greats such as everyday shooter, PixelJunk Eden, and Ikaruga.</p>
<p>The original, classic edition of this game was pretty good, but the studio has really come into their own with these redux releases. The polish is remarkable, and it really adds a massive amount of joy and pure stimulation while playing. Add to that the great depth of achievement challenges, unlockables, and even a sample tracker and you have a game creative and complete enough to develop a subculture around.</p>
<p>With the advent of the iPad, a uniquely compelling experience presents itself. The added screen space gives a much greater feeling of immersion and interactivity with the game. I feel like I am mixing the soundtrack I am hearing as I play because of just how far my hands are traveling. And thanks to the nature of the gameplay, I don&#8217;t feel tired; the swooping, curved motions promoted by the movement patterns of the enemies leaves me with a sense of having been dancing at a rave more than one of having been working all day.</p>
<p>I can&#8217;t think of a single reason why I would not recommend this game. Buy it now. Enjoy it regularly. Let&#8217;s hope to see more work like this from Studio Radiolaris in the near future.&#8221;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://radiolaris.com/studio/?feed=rss2&amp;p=411</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

