<?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>Music To Make Games By...</title>
	<atom:link href="http://www.musictomakegamesby.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.musictomakegamesby.com</link>
	<description></description>
	<lastBuildDate>Mon, 16 Feb 2009 21:25:15 +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>XNA/C# &#8211; Retrieval of Date and Time a Game Was Built</title>
		<link>http://www.musictomakegamesby.com/2009/02/08/xnac-retrieval-of-date-and-time-a-game-was-built/</link>
		<comments>http://www.musictomakegamesby.com/2009/02/08/xnac-retrieval-of-date-and-time-a-game-was-built/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 22:13:12 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[XNA / C#]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=195</guid>
		<description><![CDATA[
During development, generally your testers will be running a version of the game that could be a number of days old.
By the time you&#8217;ve got back bug reports there is likely to have been significant progress on the game since. There&#8217;s every chance during interim development that bugs could have been fixed before QA found [...]]]></description>
			<content:encoded><![CDATA[<p><center><img class="aligncenter size-full wp-image-196" title="datestamp" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/datestamp.jpg" alt="datestamp" width="250" height="250" /></center></p>
<p>During development, generally your testers will be running a version of the game that could be a number of days old.</p>
<p>By the time you&#8217;ve got back bug reports there is likely to have been significant progress on the game since. There&#8217;s every chance during interim development that bugs could have been fixed before QA found them. Also, the goalposts could be moved; some aspect of the title may have been significantly changed and that bug report you got no longer makes any sense.</p>
<p>For these reasons it&#8217;s imperative that when you get back bugs, you know what version of the game they were running. There&#8217;s a number of ways you can address this:</p>
<p><span id="more-195"></span></p>
<h4>Version Numbering</h4>
<ul>
<li>Can be in various forms. Could possibly be a hard coded string, some piece of built data, or the version number built into a PC executable header.</li>
<li>Many PC applications shipped just use simple version numbering to denote their builds. You still see a lot of &#8220;beta version 2.0.1.1123&#8243; style versioning on commercial software sitting out on webpages.</li>
<li>Manually updating the minor revisions each time is an easy thing to forget. It is possible to set up most development environments to auto-increment this number. If there&#8217;s no native support, it can usually be hacked in as a pre-build step.</li>
</ul>
<h4>Source Control Revision</h4>
<ul>
<li>There&#8217;s dozens of different pieces of source control software. With the majority of them it&#8217;s possible to synchronize to an explicit revision of the source tree. The revision number a game was built from can be used to identify a build.</li>
<li>As a pre-build step it is possible to automatically embed this revision number into the game.</li>
<li>Some source control software doesn&#8217;t have any sort of global revision numbering. Visual Sourcesafe springs to mind; that one only logs revision histories on a per-file basis. A single revision number to identify a particular build of the game is not possible. For Sourcesafe though it is possible to apply a label to the whole source tree. That could be done with each significant test build, with a version number of some kind.</li>
</ul>
<h4>Date/Time Stamping</h4>
<ul>
<li>Simply the date and time at which the build was created. Similarly to the source control methods, you can easily pinpoint exactly what code and data made it into the particular build of the game.</li>
<li>It falls down a little if your source control still accepts submissions, and you have other users submitting code whilst a build is being created. When cross referencing the date and time you actually built the game, it could appear that some changes got in that actually didn&#8217;t. This is no big deal if you lock out your source control whilst making a build for testing, or if you only have one person on the project.</li>
<li>Don&#8217;t use the timestamp of the executable itself! Aside from easily being able to be overwritten (the create and modified dates could be blitzed over for example, with particular unzipping or CD burning software). On the Xbox with XNA it&#8217;s not actually possible to inspect the executable&#8217;s date using the System.IO calls.</li>
<li>It is generally possible in most development environments to embed the current date and time into code. In C# this is actually possible in a very nice, clean manner. Updated intelligently each time you build an executable.</li>
</ul>
<p>With your average XNA game you&#8217;ve got no QA department to rely on. Most testing would probably be done by the developers, and their friends and family. The easier and more transparent this identification-marking is, the better.</p>
<h3>Automatic versioning in C#</h3>
<p>C# does provide automatic versioning in the form of an implicit change to the assembly version. For a newly created XNA project you&#8217;ll have an &#8216;Assembly.cs&#8217; file. At the bottom is the version number:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// Version information for an assembly consists of the following four values:</span>
<span style="color: #008080; font-style: italic;">//</span>
<span style="color: #008080; font-style: italic;">//      Major Version</span>
<span style="color: #008080; font-style: italic;">//      Minor Version</span>
<span style="color: #008080; font-style: italic;">//      Build Number</span>
<span style="color: #008080; font-style: italic;">//      Revision</span>
<span style="color: #008080; font-style: italic;">//</span>
<span style="color: #000000;">&#91;</span>assembly<span style="color: #008000;">:</span> AssemblyVersion<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;1.0.0.0&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span></pre></div></div>

<p>If you change the line to the following instead:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #000000;">&#91;</span>assembly<span style="color: #008000;">:</span> AssemblyVersion<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;1.0.*&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span></pre></div></div>

<p>The last two numbers in the version will now be automatically filled in when the assembly is compiled. The numbers it fills in with are based on the current system date and time. So by doing this you&#8217;re effectively able to timestamp the built date of your game into the version number of the assembly. Both PC and Xbox are able to grab this version number, so it can be displayed within the game or on any sort of &#8216;game has crashed&#8217; screen you have.</p>
<p>The first two numbers, the major and minor version can still be used for their usual purpose. If you&#8217;re so inclined.</p>
<p>The &#8216;build number&#8217; and &#8216;revision&#8217; portions of the version can be grabbed and converted to a C# DateTime class, with the following code:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">private</span> DateTime DateCompiled<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">// The assembly version must have the last two numbers removed and replaced with *</span>
    <span style="color: #008080; font-style: italic;">// It should look something like this: </span>
    <span style="color: #008080; font-style: italic;">// [assembly: AssemblyVersion(&quot;1.0.*&quot;)]</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">//Build dates start from 01/01/2000</span>
    <span style="color: #000000;">System</span>.<span style="color: #0000FF;">DateTime</span> result <span style="color: #008000;">=</span> DateTime.<span style="color: #0000FF;">Parse</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;1/1/2000&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">//Retrieve the version information from the assembly from which this code is being executed</span>
    <span style="color: #000000;">System</span>.<span style="color: #0000FF;">Version</span> version <span style="color: #008000;">=</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Reflection</span></span>.<span style="color: #0000FF;">Assembly</span>.<span style="color: #0000FF;">GetExecutingAssembly</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetName</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Version</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">//Add the number of days (build)</span>
    result <span style="color: #008000;">=</span> result.<span style="color: #0000FF;">AddDays</span><span style="color: #000000;">&#40;</span>version.<span style="color: #0000FF;">Build</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">//Add the number of seconds since midnight (revision) multiplied by 2</span>
    result <span style="color: #008000;">=</span> result.<span style="color: #0000FF;">AddSeconds</span><span style="color: #000000;">&#40;</span>version.<span style="color: #0000FF;">Revision</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">//If we're currently in daylight saving time add an extra hour</span>
    <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>TimeZone.<span style="color: #0000FF;">IsDaylightSavingTime</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">System</span>.<span style="color: #0000FF;">DateTime</span>.<span style="color: #0000FF;">Now</span>, 
        TimeZone.<span style="color: #0000FF;">CurrentTimeZone</span>.<span style="color: #0000FF;">GetDaylightChanges</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">System</span>.<span style="color: #0000FF;">DateTime</span>.<span style="color: #0000FF;">Now</span>.<span style="color: #0000FF;">Year</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> 
    <span style="color: #000000;">&#123;</span> 
        result <span style="color: #008000;">=</span> result.<span style="color: #0000FF;">AddHours</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span> 
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">return</span> result<span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p><i>Courtesy of this <a href="http://dotnetfreak.co.uk/blog/archive/2004/07/08/determining-the-build-date-of-an-assembly.aspx">post from dotnetfreak.co.uk</a> of equivalent VB.NET code.</i></p>
<p>So, this is what I&#8217;m going with to tag my game builds. It covers me for what I need, and requires zero maintenance. </p>
<h3>Note:</h3>
<p>It is mentioned on a number of webpages that the &#8216;build number&#8217; and &#8216;revision&#8217; numbers don&#8217;t update on each build. It&#8217;s said that they only update each time you actually start the Visual Studio application.</p>
<p>However, I haven&#8217;t found this to be the case with Visual Studio 2008. Both the PC and Xbox XNA projects update this just fine. I can edit any .cs file in my project, and the game gets a new timestamp. I believe that the posts about the bad behavior were with Visual Studio 2005 and 2003.</p>
<p>XNA content pipeline files though, do not affect the timestamp at all. This makes total sense though, as the binary xnb data files aren&#8217;t part of the actual executable assembly.</p>
<h3>References:</h3>
<ul>
<li><a href="http://dotnetfreak.co.uk/blog/archive/2004/07/08/determining-the-build-date-of-an-assembly.aspx">http://dotnetfreak.co.uk/blog/archive/2004/07/08/determining-the-build-date-of-an-assembly.aspx</a></li>
<li><a href="http://stackoverflow.com/questions/324245/aspnet-show-application-build-dateinfo-at-the-bottom-of-the-screen">http://stackoverflow.com/questions/324245/aspnet-show-application-build-dateinfo-at-the-bottom-of-the-screen</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.assemblyversionattribute.aspx">http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.assemblyversionattribute.aspx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2009/02/08/xnac-retrieval-of-date-and-time-a-game-was-built/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XNA/C# &#8211; An Introduction, Build Configurations&#8230;</title>
		<link>http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/</link>
		<comments>http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 21:07:05 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[XNA / C#]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=101</guid>
		<description><![CDATA[
So, I alluded to the fact I wanted to begin writing about XNA in my last post. Over the Christmas break I began getting to grips with C# and XNA, and wrote some code to have a go at prototyping a game idea I had. I think it’s pretty cool that you can execute your [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-102 aligncenter" title="xna-logo" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/xna-logo.png" alt="xna-logo" width="230" height="114" /></p>
<p>So, I alluded to the fact I wanted to begin writing about XNA in my last post. Over the Christmas break I began getting to grips with C# and XNA, and wrote some code to have a go at prototyping a game idea I had. I think it’s pretty cool that you can execute your code on a retail 360 as well. It’s not quite as nice as using a devkit with native code, but it’s pretty close.</p>
<p><strong>Note to Microsoft:</strong> Make it easier to launch the XNA connect app from the dashboard. I know it’s not <em>meant</em> to crash, and it doesn’t that often. But I’ve been attempting some dodgy things and I’ve had it fall over several times. It would be great if it appeared at the top of your ‘Game Library’, as the XNA apps themselves do. For the connect app I have to always scroll to the ‘community games’ section and pick it from there.</p>
<p><span id="more-101"></span></p>
<h3>Environment</h3>
<p>Anyway, I thought the best place to start would be to describe the environment I’m working with:</p>
<ul>
<li> I’m targeting both 360 and PC for the moment, but there’s every chance I might drop one platform in the future. I have no plans to write anything for the Zune.</li>
<li> I’ve setup two extra build configurations in addition to the existing ‘debug’ and ‘release’. One named ‘final’, which would be the intended executable for the final version of the game to be dished out to the public. ‘release’ is the configuration which would have optimizations enabled, but would still have debugging ability through assertions. The second new configuration is ‘profile’, which is the same as ‘final’ for all intents and purposes, but compiles in profiling code. I wrote my own basic profiler, as I had nothing but trouble with nprof on PC.</li>
<li> I have the code in two portions: I have a library in which I put what I’d deem as my ‘engine’ code, the stuff in there is (relatively-speaking) clean and what I’d want to keep if I scrapped a game idea and went with something else. The other portion is the game-side code, here I’m less fussy about organization whilst I’m just prototyping some ideas. Any code samples I put on this site though will be in a simple form which just an executable target, no libraries.</li>
<li> The code I do post will be namespaced ‘Cute’. Why? Well, I’m focusing on doing a graphically primitive cutesy style game, with bright colors and simple geo. I’m no artist. Rather than come up with some other namespace for code I put here, I’ll just post the one I use.</li>
</ul>
<h3>Build Configurations</h3>
<p>So, on to the build configurations. Here&#8217;s an explanation of each, and the extra compilation symbols I define:</p>
<p><strong>Debug: </strong>Code optimization is turned off, TRACE and DEBUG are defined. The same as a new project in devstudio would be for it&#8217;s debug configuration. I also define the symbols ASSERT and PROFILE for this build. This would be the build I&#8217;d drop down to diagnose any problems that were tricky on a release build, due to the code optimizations.</p>
<p><strong>Release: </strong>The same as debug, except with code optimizations turned on, and DEBUG/TRACE not being defined. This is generally the build I work with most. It runs at a good frame rate, I have assertions and profiling. As mentioned I&#8217;d only drop down to the debug build to work more accurately with the debugger.</p>
<p><strong>Final:</strong> This is the &#8217;shipping&#8217; build. Compared to release, the ASSERT and PROFILE defines are removed. Essentially all development &#8216;fluff&#8217; is out the window; the executable is expected to behave perfectly. The frame rate should also be somewhat better than release too because of this.</p>
<p>I define a FINAL symbol here as well, in case I want to conditionally compile in or out pieces of code specifically for this build.</p>
<p><strong>Profile: </strong>For this build I use the same setup as final, but with the PROFILE define enabled. I lose the overhead of assert checking from the release build, so have pretty similar performance to my final build. However my profiler is usable, so this build is perfect for testing any optimizations I might perform on the game.</p>
<p>I&#8217;ve shoved some screenshots at the bottom of this post, for clarity too.</p>
<h3>Defined Symbols, Debug Output on 360</h3>
<p>ASSERT and PROFILE defines? I&#8217;ll post in future covering how I use those. It&#8217;s pretty straightforward what they do when turned on and off though.</p>
<p>I define the symbols just a tad differently on 360 though. The Xbox 360 only has working debug output with the TRACE or DEBUG defines turned on. Here&#8217;s a table showing the debug output functions that are available, and how they behave on the two platforms:</p>
<p style="text-align: center;"><strong>PC</strong></p>
<table border="0">
<tbody>
<tr>
<td width="250"></td>
<td width="80">No defines</td>
<td width="80">DEBUG only</td>
<td width="80">TRACE only</td>
<td width="80">Both defined</td>
</tr>
<tr>
<td><strong>System.Console.Write</strong></td>
<td>Works</td>
<td>Works</td>
<td>Works</td>
<td>Works</td>
</tr>
<tr>
<td><strong>System.Diagnostics.Debug.Write</strong></td>
<td>No Output</td>
<td>Works</td>
<td>No Output</td>
<td>Works</td>
</tr>
<tr>
<td><strong>System.Diagnostics.Trace.Write</strong></td>
<td>No Output</td>
<td>No Output</td>
<td>Works</td>
<td>Works</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p style="text-align: center;"><strong>360</strong></p>
<table border="0">
<tbody>
<tr>
<td width="250"></td>
<td width="80">No defines</td>
<td width="80">DEBUG only</td>
<td width="80">TRACE only</td>
<td width="80">Both defined</td>
</tr>
<tr>
<td><strong>System.Console.Write</strong></td>
<td>No Output</td>
<td>No Output</td>
<td>No Output</td>
<td>No Output</td>
</tr>
<tr>
<td><strong>System.Diagnostics.Debug.Write</strong></td>
<td>No Output</td>
<td>Works</td>
<td>No Output</td>
<td>Works</td>
</tr>
<tr>
<td><strong>System.Diagnostics.Trace.Write</strong></td>
<td>No Output</td>
<td>No Output</td>
<td>Works</td>
<td>Works</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>So, the defines differ on my 360 build. I have TRACE enabled on my release and profile builds, so I can get output. My profiler though I hope to eventually get to render to the screen, instead of just dumping captured data in text form. So I may be able to disable TRACE on my 360 profile build at some point in future.</p>
<p>On PC I route my printouts through System.Console.Write, on XBOX through System.Diagnostics. Trace.Write. I have a locally namespaced function that behaves correctly for both platforms. Yes, I could just have TRACE defined on the appropriate builds for parity&#8230; But I just don&#8217;t trust that it has zero other detrimental effects on performance.</p>
<h3>Phew&#8230;</h3>
<p>That&#8217;s it for the moment. Dry preparation is out of the way, this is more of a primer than anything. Something I can link back to in future to explain my #ifdef madness. Somewhat more useful stuff to come next&#8230;</p>
<p>Oh, here&#8217;s those configuration screenshots I mentioned:</p>
<p style="text-align: center;"><strong>PC: Debug, release, final, profile.</strong></p>
<p style="text-align: center;"><a rel="attachment wp-att-120" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/pc_debug/"><img class="aligncenter size-full wp-image-120" title="pc_debug" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/pc_debug.png" alt="pc_debug" width="648" height="232" /></a><a rel="attachment wp-att-122" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/pc_release/"><img class="aligncenter size-full wp-image-122" title="pc_release" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/pc_release.png" alt="pc_release" width="648" height="233" /></a><a rel="attachment wp-att-123" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/pc_final/"><img class="aligncenter size-full wp-image-123" title="pc_final" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/pc_final.png" alt="pc_final" width="648" height="232" /></a><a rel="attachment wp-att-121" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/pc_profile/"><img class="aligncenter size-full wp-image-121" title="pc_profile" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/pc_profile.png" alt="pc_profile" width="648" height="232" /></a><strong></strong></p>
<p style="text-align: center;"><strong>360: Debug, release, final, profile.</strong></p>
<p style="text-align: center;"><strong><a rel="attachment wp-att-168" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/360_debug/"><img class="aligncenter size-full wp-image-168" title="360_debug" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/360_debug.png" alt="360_debug" width="648" height="232" /></a><a rel="attachment wp-att-167" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/360_release/"><img class="aligncenter size-full wp-image-167" title="360_release" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/360_release.png" alt="360_release" width="648" height="233" /></a><a rel="attachment wp-att-169" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/360_final/"><img class="aligncenter size-full wp-image-169" title="360_final" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/360_final.png" alt="360_final" width="648" height="232" /></a><a rel="attachment wp-att-170" href="http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/360_profile/"><img class="aligncenter size-full wp-image-170" title="360_profile" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/360_profile.png" alt="360_profile" width="648" height="233" /></a><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2009/02/07/xnac-an-introduction-build-configurations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guitar Hero : Metallica announced</title>
		<link>http://www.musictomakegamesby.com/2009/02/01/guitar-hero-metallica-announced/</link>
		<comments>http://www.musictomakegamesby.com/2009/02/01/guitar-hero-metallica-announced/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 23:44:44 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[My Games]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=70</guid>
		<description><![CDATA[I only ever seem to write on this blog when there&#8217;s a new GH game coming out&#8230;

That said, I&#8217;ve started to code a little in my free time. I got a block of time over the Christmas break and I decided to have a good go at doing some stuff with XNA and C#. Was [...]]]></description>
			<content:encoded><![CDATA[<p>I only ever seem to write on this blog when there&#8217;s a new GH game coming out&#8230;</p>
<p style="text-align: center;"><img class="size-full wp-image-79 aligncenter" title="metallica" src="http://www.musictomakegamesby.com/wp-content/uploads/2009/02/metallica.jpg" alt="Metallica" width="400" height="117" /></p>
<p>That said, I&#8217;ve started to code a little in my free time. I got a block of time over the Christmas break and I decided to have a good go at doing some stuff with XNA and C#. Was a good experience, I feel a lot more comfortable with C# now. I&#8217;ve learnt to live with some of the annoying differences between it and C++. I code in the latter every day for my day job; for another language that&#8217;s so close to it, it takes a bit of a leap to leave the old ways behind.</p>
<p>So, hopefully I&#8217;ll give this blog a bit of a new lease of life soon with some tidbits from my XNA adventures. I&#8217;ve got a couple of &#8216;in-progress&#8217; articles going already.</p>
<p>Anyway, Metallica&#8230; <span id="more-70"></span></p>
<p>The last time there was rumblings of a Metallica game was back in 2003:<br />
<a href="http://cube.ign.com/articles/422/422960p1.html" target="_new">http://cube.ign.com/articles/422/422960p1.html</a></p>
<p>&#8230; and I would know nothing about such a game at all of course&#8230; *whistles*</p>
<blockquote><p><em>Damage Inc. [Metallica car combat title] (PC/PS2/GC/XBOX, Climax/VU Games)*</em></p></blockquote>
<p><a href="http://www.destructoid.com/surfer-girl-is-back-with-a-cancelled-game-list-50625.phtml" target="_new">http://www.destructoid.com/surfer-girl-is-back-with-a-cancelled-game-list-50625.phtml</a><br />
Seems like a very long time ago now&#8230; I&#8217;d like to say more about it, but it&#8217;s probably not a good idea.</p>
<p>Like Aerosmith last year, my involvement is pretty minimal; I&#8217;m working on something else right now. The Metallica game is based on the World Tour engine, so all four instruments are playable. Unlike with the Aerosmith game, where you were limited to just guitar and bass.</p>
<p>As per usual, with the press-situation for these sorts of things I really can&#8217;t say anything in more detail. It looks fantastic and I think the fans are going to be dead impressed with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2009/02/01/guitar-hero-metallica-announced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting old</title>
		<link>http://www.musictomakegamesby.com/2008/08/26/getting-old/</link>
		<comments>http://www.musictomakegamesby.com/2008/08/26/getting-old/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 21:06:25 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=24</guid>
		<description><![CDATA[
I learned how to code on the Amstrad CPC 464. Used to be mad for the system when growing up, read and re-read magazines, and spent hours playing a lot of very bad games. Plus a few good ones, mind. I think I only stopped using it in 1994, when we got our first PC.
Fast [...]]]></description>
			<content:encoded><![CDATA[<p><center><img class="size-full wp-image-25" title="ebay" src="http://www.musictomakegamesby.com/wp-content/uploads/2008/08/ebay.png" alt="Amstrad Ebay" width="490" height="238" /></center></p>
<p>I learned how to code on the <a href="http://en.wikipedia.org/wiki/Amstrad_CPC" target="_new">Amstrad CPC 464</a>. Used to be mad for the system when growing up, read and re-read magazines, and spent hours playing a lot of very bad games. Plus a few good ones, mind. I think I only stopped using it in 1994, when we got our first PC.</p>
<p>Fast forward fourteen years, and things are very different. <span id="more-24"></span> Whilst I used the CPC well past it&#8217;s best (commercial software dried up in 1991), since then it&#8217;s only had a passing interest. Cool stuff going on with it on the internet like <a href="http://www.symbos.de/apps.htm" target="_new">SymbOS</a>, <a href="http://www.cpczone.net" target="_new">CPCZone</a> and <a href="http://www.cpcwiki.com" target="_new">CPCWiki</a> kind of passed me by.</p>
<p>It was a couple of months ago that my interest picked up again. I was showing a colleague the <a href="http://www.musictomakegamesby.com/old-code/" target="_new">CPC3D</a> emulator I wrote a few years ago, on one slow night whilst we were waiting for a build to be approved. I then spent a little while seeing what&#8217;s going on with the CPC. <a href="http://www.symbos.de/apps.htm" target="_new">SymbOS</a> I first read up about a couple of years ago, a very impressive coding feat. <a href="http://www.cpczone.net" target="_new">CPCZone</a> is kind of interesting, mainly just nostalgic reminiscing about the old machine. What sucked me in though was EBay.</p>
<p>I remember in the early 90&#8217;s when the 8-bits were coming to the end of their life, you had labels like Codemasters releasing budget games. For usually two or three pounds each. A godsend when you&#8217;re on pocket money. Many of them were very good games too. By this stage of the machine&#8217;s life though older software from around launch time was hard to come by. The machine was initially released near the end of 1984, with a bunch of software from Amstrad&#8217;s own publishing label: Amsoft. The internet consensus is that some of the worst games were released on this label, but I beg to differ. Many of the ones I had were real enjoyable, fun games to play.</p>
<p>Having old magazines listing the Amsoft games, I&#8217;d always wanted to get a few more, ones I&#8217;d liked the sound of. <a href="http://www.youtube.com/watch?v=kTRfIUMbTas" target="_new">&#8220;Oh Mummy&#8221;</a> was one that I&#8217;d always wanted. I first got to play that game on an emulator, in the late 90&#8217;s. No store near me whilst growing up stocked the old Amsoft titles. Once I remember there was a place that sold the disc versions of them, but at a ridiculously high price. But that was it.</p>
<p>Disc version? Yes, the vast majority of stuff I had <strong>wasn&#8217;t</strong> on disc. It was on cassette tape. Games took ten to twenty minutes to load, and you had to endure the modem-like screeching noise of the data being read from tape. Yes, I&#8217;m that old. Retelling this to some of my younger colleagues here, I felt positively ancient. Reminded me of teachers at University letting us know about the early days of programming with punch-cards. Ghetto stuff.</p>
<p>So yeah, after seeing some cheap Amsoft games on ebay I thought I&#8217;d like to try buying a few. From the image in this post, you can see though that the high-end price is a little ridiculous. Remember, this is for a <strong>cassette tape</strong>! I bought a number over the past few weeks, ranging from a few pennies each up to I think maybe $20 (USD) for the most expensive one. They have pride of place in my little bookshelf at home now, quite unique items to have in the United States. The CPC was never released out here.</p>
<p><em>By the way, the $67 game is <a href="http://www.cpczone.net/game/747" target="_new">&#8216;Roland Goes Square Bashing&#8217;</a>. It&#8217;s actually one I wanted to purchase, but I really couldn&#8217;t justify spending that on a cassette tape that would sit on a shelf.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2008/08/26/getting-old/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That &#8216;World Tour&#8217; game I&#8217;ve been working on&#8230;</title>
		<link>http://www.musictomakegamesby.com/2008/08/26/that-world-tour-game-ive-been-working-on/</link>
		<comments>http://www.musictomakegamesby.com/2008/08/26/that-world-tour-game-ive-been-working-on/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 19:19:42 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[My Games]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=19</guid>
		<description><![CDATA[
So, updating this site hasn&#8217;t gone entirely to plan. Fortunately though my workload has eased up a little now, there&#8217;s a number of things I wanted to write about so hopefully I&#8217;ll get the chance now.
Speaking of workload, the last ten months or so I&#8217;ve spent working on the now announced: Guitar Hero World Tour. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/search?ie=UTF8&amp;keywords=Guitar%20Hero%20World%20Tour&amp;tag=mutomagaby-20&amp;index=videogames&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_new"><img src="http://www.musictomakegamesby.com/wp-content/uploads/2008/08/box.jpg" alt="Guitar Hero World Tour Box Art" /></a><img style="margin: 0px; border: medium none" src="http://www.assoc-amazon.com/e/ir?t=mutomagaby-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p>So, updating this site hasn&#8217;t gone entirely to plan. Fortunately though my workload has eased up a little now, there&#8217;s a number of things I wanted to write about so hopefully I&#8217;ll get the chance now.</p>
<p>Speaking of workload, the last ten months or so I&#8217;ve spent working on the now announced: <a href="http://www.amazon.com/gp/search?ie=UTF8&amp;keywords=Guitar%20Hero%20World%20Tour&amp;tag=mutomagaby-20&amp;index=videogames&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_new">Guitar Hero World Tour.</a><img style="margin: 0px; border: medium none" src="http://www.assoc-amazon.com/e/ir?t=mutomagaby-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /> <span id="more-19"></span> It&#8217;s the first Guitar Hero game I&#8217;ve been involved with properly, having previously worked on the &#8216;Tony Hawk&#8217; series at the same studio. I&#8217;m really proud of what we&#8217;ve done with the new game, and I&#8217;m sure everyone&#8217;s going to enjoy it when it gets released. Really hoping we can get into that 90-100 range on <a href="http://www.metacritic.com/" target="_blank">Metacritic</a>, it deserves to.</p>
<p>It&#8217;s a double-edged sword working on something so popular. On one hand it&#8217;s nice to read the buzz about your game on the internet, people looking forward to new tracks being announced, and seeing how much some people can&#8217;t wait for it&#8217;s release. On the other hand, there&#8217;s the &#8216;fanboys&#8217;. I probably shouldn&#8217;t go into it too much, but our game tends to get a bit of rough treatment by commenters on various game websites. Our competition, Harmonix makes great games and has a very loyal following.  Some people have invested heavily into their product, both finanically and emotionally. It&#8217;s a shame this clouds objectivity of what we&#8217;re offering at times.</p>
<p>It&#8217;s widely publicized that our guys at Neversoft used to play the first two Harmonix-developed Guitar Hero games at company parties. In fact I think one of the first times I had beers with the guys I work with now, was over a game of Guitar Hero in our warehouse. We have massive respect for what those guys did with those games, they&#8217;re a quality developer. The first game prompted me to get my first console since emigrating to the US (I left my old ones back in England). I remember lugging that PS2 and the guitar bundle a few blocks back to my apartment from the local Best Buy, in the days before I got a car.</p>
<p>Most of my game playing time in this country has been on Guitar Hero. I&#8217;d played a decent amount of Tony Hawk before working on those games, but only casually on a couple of games in that series. GH though is a totally different story, one of my favourite games of all time for sure. I remember excitedly bringing my PS2 and the game in my luggage to <a href="http://www.simonrules.com/" target="_blank">Simon&#8217;s</a> place in Colorado, for his birthday weekend in 2006. Went down a storm. <img src='http://www.musictomakegamesby.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;d never have thought in a million years that I&#8217;d end up working on it.</p>
<p>Dream come true.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2008/08/26/that-world-tour-game-ive-been-working-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dead Rising 2: Grey, Brown Sparsefest?</title>
		<link>http://www.musictomakegamesby.com/2008/02/25/dead-rising-2-grey-brown-sparsefest/</link>
		<comments>http://www.musictomakegamesby.com/2008/02/25/dead-rising-2-grey-brown-sparsefest/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 05:39:24 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[New Games]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=11</guid>
		<description><![CDATA[
Recently there has been news of that great game &#8216;Dead Rising&#8217; getting a sequel. It was a big success for Capcom, and I guess came as no surprise that it was coming.
However, the big thing that has generated a talking point is that it&#8217;s going to be done by a Western developer. Now, as I [...]]]></description>
			<content:encoded><![CDATA[<p><center><img align="center" src="http://www.musictomakegamesby.com/wp-content/uploads/2008/02/dr3.jpg" alt="dr3.jpg" /></center></p>
<p>Recently there has been <a target="_new" href="http://www.kotaku.com.au/games/2008/02/dead_rising_2_coming_from_the_bigs_team-2.html">news</a> of that great game &#8216;Dead Rising&#8217; getting a sequel. It was a big success for Capcom, and I guess came as no surprise that it was coming.</p>
<p>However, the big thing that has generated a talking point is that it&#8217;s going to be done by a Western developer. Now, as I work for one of those myself; I shouldn&#8217;t be slinging mud. But I&#8217;m really a bit concerned that this game can go down some bad avenues.</p>
<p><span id="more-11"></span></p>
<p>Here&#8217;s what I fear:</p>
<ul>
<li>Game starts development. Team are giddy, they come up with some great ideas. This is good, very good.</li>
<li>A lot of stuff sounds great, code are on the new mechanics, and the concept art is looking superb.</li>
<li>Player in the game, zombies in the game. Game chugs a bit, but that&#8217;s okay as we&#8217;re just starting out.</li>
<li>Milestone one, a first playable of sorts approaches, all hands on deck!</li>
<li>Game gets a bit of polish, environments look nicer, characters look great.</li>
<li>It&#8217;s dropping frames though, lets only have a dozen zombies spawned at once. <em>Just for the milestone.</em><strong>(TM)</strong></li>
<li>Man, those zombies look good. Engine coders and artists given lots of praise. Milestone passes fine.</li>
<li>Design folk are a bit bewildered, and finding it difficult to put in new mechanics with the sparse zombie layout.</li>
<li>Art plays with fancy new <a target="_new" href="http://en.wikipedia.org/wiki/High_dynamic_range_rendering">HDR</a> rendering and of course, <a target="_new" href="http://en.wikipedia.org/wiki/Bloom_(shader_effect)">bloom</a>. It looks great on the HDTV in the conference room!</li>
<li>People high up decide that as it&#8217;s an Xbox game, so it&#8217;s for hardcore gamers only. None of this primary colours shit, we want it gritty! Game becomes grey and brownfest.</li>
<li>Design are still wondering why there&#8217;s only eight zombies shown at a time.</li>
<li>Ship date is a few months away. Design accept that we&#8217;re not going to have as many zombies as the first one. No aggressive LODding either like the first one, the pop-in when you walked into shops was awful! We can use the memory we save on the zombie instances and textures on the environment!</li>
<li>Screenshots are released, and gameplay video. Youngsters on the internet love how great it looks.</li>
<li>Everything continues along same vein.</li>
<li>Game ships. Gavin buys the game and is disappointed that yet again tech wins out over gameplay. <img src='http://www.musictomakegamesby.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ul>
<p><center><br />
<img align="center" src="http://www.musictomakegamesby.com/wp-content/uploads/2008/02/dr1.jpg" alt="dr1.jpg" /></center></p>
<p>Now, this isn&#8217;t actually how it&#8217;s gone on any game I&#8217;ve worked on, despite the ranty sound of it! There&#8217;s always been strong people around to reign in this sort of thing to a sensible level. There&#8217;s no reason that the new developer may go down the route I detailed, it&#8217;s just that I think it&#8217;s real easy to lose sight of what Dead Rising was all about:</p>
<p><em>Lots and lots</em> of zombies.</p>
<p>If you take that away, you&#8217;ve got a shell of a game. The tech of the game has to revolve around aggressive LOD-ing, that&#8217;s the focus. I just hope your code team consists of some seasoned PS1/2 era guys, and certainly not more than one or two fresh from University. Put the ShaderX7 book down, and back away slowly.</p>
<p>It&#8217;s <em>okay</em> that the zombie in the distance, twenty pixels tall, looks shit. It&#8217;s <em>okay</em> that the contents of any stores or buildings pop in a bit if you&#8217;re running fast. You don&#8217;t need to fix these things. What isn&#8217;t okay is dropping the sense of humour; and please for the love of God, don&#8217;t make it <em>gangsta!</em></p>
<p>Guys&#8230; Make the game fun, that&#8217;s all. Just make it fun, and I&#8217;ll love you for it; and everyone will think that you rock. <img src='http://www.musictomakegamesby.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><center><br />
<img align="center" src="http://www.musictomakegamesby.com/wp-content/uploads/2008/02/dr2.jpg" alt="dr2.jpg" /></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2008/02/25/dead-rising-2-grey-brown-sparsefest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crave? Who the hell are Crave?</title>
		<link>http://www.musictomakegamesby.com/2008/02/18/crave-who-the-hell-are-crave/</link>
		<comments>http://www.musictomakegamesby.com/2008/02/18/crave-who-the-hell-are-crave/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 09:00:45 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[My Games]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=8</guid>
		<description><![CDATA[This afternoon, I was checking out eBay for the Gamecube version of the first game I worked on. I&#8217;ve pretty much every copy of all my games for each platform, but I didn&#8217;t have an NTSC Gamecube one of this title. I spotted a few at decent prices, but I was suprised to see that [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon, I was checking out eBay for the Gamecube version of the first game I worked on. I&#8217;ve pretty much every copy of all my games for each platform, but I didn&#8217;t have an NTSC Gamecube one of this title. I spotted a few at decent prices, but I was suprised to see that there were actually two different versions on offer. One from &#8216;AKA&#8217; Akklaim (a moniker Acclaim adopted to be &#8216;down with the kids&#8217;), and one from a company named Crave Entertainment.</p>
<p align="center"><img src="http://www.musictomakegamesby.com/wp-content/uploads/2008/02/atv2acclaim.png" alt="atv2acclaim.png" />  <img src="http://www.musictomakegamesby.com/wp-content/uploads/2008/02/atv2crave.png" alt="atv2crave.png" /></p>
<p><span id="more-8"></span><br />
I&#8217;ve never heard of Crave, nor that they ever published my game. A bit of googling later, and indeed it looks like they paid <a target="_new" href="http://www.gamespot.com/xbox/sports/davemirrafreestylebmx2/news.html?sid=6129466&amp;mode=recent">$120k</a> for rights to the game. I&#8217;m not sure what to make of Crave, with such titles as <a target="_new" href="http://www.cravegames.com/games/ps2.asp">The Bible Game</a> under their belt, I&#8217;m dubious as to whether they can be considered a quality publisher.</p>
<p>It looks like they only ever re-released it on Gamecube, I can&#8217;t find any for the Xbox or PS2. The copy I ended up purchasing from eBay was the Crave one, for $10. I&#8217;ll be curious to see what the manual looks like. But I guess until I get a Wii (again), I won&#8217;t know what the actual game differences are, if any&#8230; There was a bunch of movies and legal screens which had Acclaim logos in. But I&#8217;d be really surprised though if they managed to get hold of the old code and data and replace that stuff.</p>
<p>One thing is for sure, I didn&#8217;t see a penny of royalties! <img src='http://www.musictomakegamesby.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2008/02/18/crave-who-the-hell-are-crave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guitar Hero: Aerosmith Announced!</title>
		<link>http://www.musictomakegamesby.com/2008/02/17/guitar-hero-aerosmith-announced/</link>
		<comments>http://www.musictomakegamesby.com/2008/02/17/guitar-hero-aerosmith-announced/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 07:00:57 +0000</pubDate>
		<dc:creator>Gavin</dc:creator>
				<category><![CDATA[My Games]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.musictomakegamesby.com/?p=5</guid>
		<description><![CDATA[
Finally, it&#8217;s officially announced.

I didn&#8217;t really get any sort of hand in Guitar Hero III. Probably a few lines of shared engine code, and the odd bugfix shared from a game I was working on at the time: Tony Hawk&#8217;s Proving Ground.
The Aerosmith game though, I&#8217;ve done a little bit of work on. So even [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://www.musictomakegamesby.com/wp-content/uploads/2008/02/guitar-hero-aerosmith.png" alt="guitar-hero-aerosmith.png" /></p>
<p>Finally, it&#8217;s officially <a target="_new" href="http://www.aeroforceone.com/index.cfm?pk=view&amp;cd=NAA&amp;cdid=993147&amp;pid=302766&amp;utm_medium=email&amp;utm_source=newsletter">announced</a>.<br />
<span id="more-5"></span><br />
I didn&#8217;t really get any sort of hand in Guitar Hero III. Probably a few lines of shared engine code, and the odd bugfix shared from a game I was working on at the time: Tony Hawk&#8217;s Proving Ground.</p>
<p>The Aerosmith game though, I&#8217;ve done a little bit of work on. So even though like GH3, I&#8217;ll be appearing in the credits&#8230; This time I can actually feel like I deserve a mention.</p>
<p>It&#8217;s nice to be able to talk about this game a bit now. We had the band at our building a few times late last year. It was real cool to be able to hear them doing their mocap (they played the music when doing the capture), whilst making myself a cuppa during the day. Nothing quite beats hearing Aerosmith tracks played live whilst drinking some Tetley. <img src='http://www.musictomakegamesby.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Tyler even paged the entire company when he saw the game in person, to tell us what a good job we&#8217;ve been doing. Top guy!</p>
<p>Game does indeed look very good. But obviously I can&#8217;t really say any more than that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.musictomakegamesby.com/2008/02/17/guitar-hero-aerosmith-announced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
