<?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>robburke.NET &#187; Greasepole</title>
	<atom:link href="http://robburke.net/tag/greasepole/feed/" rel="self" type="application/rss+xml" />
	<link>http://robburke.net</link>
	<description>Robert Burke&#039;s home on the web.</description>
	<lastBuildDate>Wed, 18 Apr 2012 19:15:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Legend of the Greasepole gets the Silverlight 4 + Analytics treatment</title>
		<link>http://robburke.net/2010/04/legend-of-the-greasepole-gets-the-silverlight-4-analytics-treatment/</link>
		<comments>http://robburke.net/2010/04/legend-of-the-greasepole-gets-the-silverlight-4-analytics-treatment/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 18:56:01 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Achievements]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Legend of the Greasepole]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight 4]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://robburke.net/?p=2444</guid>
		<description><![CDATA[Legend of the Greasepole has been ported to Silverlight 4 and reincarnated on http://greasepole.net. Greasepole is the long-suffering game about multimedia tribute to the inexplicable Engineering traditions at Queen’s University in Canada. Over 50 students contributed to the project back in the day. There&#8217;s a significant AI component to Greasepole &#8211; the autonomous &#8220;frosh&#8221; characters have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://greasepole.net" target="_blank"><img class="alignnone size-full wp-image-2446" title="Legend of the Greasepole - Click to Play" src="http://robburke.net/wp-content/uploads/2007/12/GreasepoleTitleScreen.jpg" alt="Legend of the Greasepole Title Screen" width="721" height="541" /></a></p>
<p>Legend of the Greasepole has been ported to Silverlight 4 and reincarnated on <a href="http://greasepole.net">http://greasepole.net</a>.</p>
<p>Greasepole is the long-suffering <strike>game about</strike> multimedia tribute to the inexplicable Engineering traditions at Queen’s University in Canada. Over 50 students contributed to the project back in the day.</p>
<p>There&#8217;s a significant <a href="http://engsoc.queensu.ca/polegame/technical.htm">AI component</a> to Greasepole &#8211; the autonomous &#8220;frosh&#8221; characters have models for learning and communicating with one another.</p>
<p>A couple of years ago I <a href="http://robburke.net/2007/09/20/portrait-of-the-artist-playing-greasepole-on-the-xbox360/">ported it from C++ to C# and XNA</a>. I abstracted out <a href="http://robburke.net/2008/03/25/silverlight-2-greasepole-game-engine-services/">a series of services</a> (graphics, sound, input, timer, persistence) so that it might ultimately be ported again to a platform like, say, Silverlight or something. Why? I don&#8217;t know, maybe I&#8217;m a little obsessed with <a href="http://robburke.net/2010/01/21/standards-sands-of-time-and-preservation/">the illusion of preservation</a>.</p>
<p>The <a href="http://robburke.net/2008/03/25/silverlight-2-beta-performance/">Silverlight 2 version</a> was a bit shaky. Silverlight 4&#8242;s hardware acceleration and bitmap caching make it pretty solid. It is also awesome to hear from friends that it apparently works on the Mac.</p>
<h3>Analyze These&#8230; Shenanigans</h3>
<p>I also added a little analytics. Although it should probably be said that the Greasepole event largely defies analysis, the game itself does not, and so this is the first time I can let someone poke their head in and see how the froshies are doing all around the world.</p>
<p>Back in the day, the worldwide best time was <a href="http://engsoc.queensu.ca/polegame/highscores.htm">in excess of a mere 53 minutes</a>. But I had to learn that by way of Sean Murray (class of &#8217;05; wonder where he is now) sending me a screenshot. Now the interwebs will tell us immediately. (Admittedly, it&#8217;s not a fair fight against Sean, because the frosh are now permanently in &#8220;keener&#8221; mode, and the Options screen has been replaced by a dozen trendy <a href="http://robburke.net/2007/09/20/greasepole-achievements-list/">Achievements</a> for you to &#8220;unlock&#8221;).</p>
<p>So get going stalling those frosh, and my question for you is &#8211; <strong>what statistics would you like to see? </strong></p>
<p style="padding-left: 30px;"><strong></strong>&#8220;Number of pints Al &#8216;Pop Boy&#8217; Burchell has quaffed?&#8221;</p>
<p style="padding-left: 30px;">&#8220;Number of hippos fed&#8221;?</p>
<p style="padding-left: 30px;">&#8220;Height of human pyramid vs time&#8221;?</p>
<p>I am going to enjoy cooking up visualizations for some of those.</p>
<p><em>(Coding notes: A few new VS2010 things helped with this update: Web.config transformation (rocks), improvements to Web Publish functionality, XAML designer, Entity Framework experience&#8230; and more.)</em></p>
<h3><a href="http://greasepole.net">Play Legend of the Greasepole Online Edition</a>.</h3>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2010/04/legend-of-the-greasepole-gets-the-silverlight-4-analytics-treatment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 2 Greasepole Game Engine</title>
		<link>http://robburke.net/2008/03/silverlight-2-greasepole-game-engine-services/</link>
		<comments>http://robburke.net/2008/03/silverlight-2-greasepole-game-engine-services/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 06:29:56 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://robburke.net/2008/03/25/silverlight-2-greasepole-game-engine-services/</guid>
		<description><![CDATA[If you&#8217;re authoring multimedia applications in Silverlight, you might be interested in how each of the core game engine services for Legend of the Greasepole is now implemented for the Silverlight 2 Beta. From C/C++ to a Provider Model-Based .NET Engine Some brief history to explain how we got here: Greasepole&#8217;s first incarnation was manky [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Legend of the Greasepole" href="http://robburke.net/projects/greasepole"><img title="ThinkerFrosh" src="http://robburke.net/images/ThinkerFrosh.jpg" border="0" alt="" align="right" /></a>If you&#8217;re authoring multimedia applications in Silverlight, you might be interested in how each of the core game engine services for <a href="http://robburke.net/2008/03/24/legend-of-the-greasepole-silverlight-2-beta-edition/">Legend of the Greasepole</a> is now implemented for the Silverlight 2 Beta.</p>
<p><strong>From C/C++ to a Provider Model-Based .NET Engine</strong></p>
<p>Some brief history to explain how we got here: Greasepole&#8217;s first incarnation was manky C/C++ stuff that I&#8217;d perf-optimized to bits back in 1997-98.  Trainwreck stuff.</p>
<p>Migrating that C/C++ mess to a C# mess involved writing a lot of Visual Studio 2008 macros. These macros could gain surprising insight into non-compiling half-C++, half-C# code, in order to sweep through and perform laborious changes.</p>
<p>What came out the other end of the refactor was a C# core engine for the game that required the implementation of <em>five platform-specific services:</em></p>
<ul>
<li><strong>RenderingService</strong>,</li>
<li><strong>SoundService</strong>,</li>
<li><strong>InputService</strong>,</li>
<li><strong>GameTimerService</strong>, and</li>
<li><strong>GameSettingsService</strong>.</li>
</ul>
<p>I previously implemented those services for the <a href="http://robburke.net/2007/09/18/legend-of-the-greasepole-2007-for-pc-and-xbox360/">XNA version</a>.  Now let&#8217;s look at the Silverlight versions of these services.</p>
<p><span style="text-decoration: underline;"><strong>Silverlight RenderingService</strong></span></p>
<p>When each frame is rendered, the engine ultimately requests that the RenderingService draws a series of sprites from particular &#8220;frame descriptions&#8221; or &#8220;FrameDesc&#8221;s (a vestigial name, essentially meaning bitmaps with metadata) at given (x,y) coordinates:</p>
<p><em>public void DrawBitmap(TSprite associatedSprite, FrameDesc frameDesc, int nScrx, int nScry, byte[] replaceRGB, byte[] substituteRGB)</em></p>
<p>The bitmaps themselves are stored as Resources in two assemblies (SilverLegendAssetsMenu.dll and SilverLegendAssetsGame.dll) that I <a href="http://msdn2.microsoft.com/en-us/library/cc189021(VS.95).aspx">download on-demand using WebClient</a>.  This has the advantage of dramatically reducing startup time, and only requiring the game engine to manage the downloading of two files over the web after startup. An equivalent option would have been downloading archives full of bitmaps, but I was concerned that this would require decompressing the bitmaps at runtime.</p>
<p>The RenderingService pre-caches the URIs for the bitmap associated with each FrameDesc (e.g. <em>&#8220;SilverLegendAssetsGame;component/Graphics/Frosh4a.BMP&#8221;</em>) so that the bitmap can be looked up without string manipulation whenever it is requested by a sprite.</p>
<p>Each game sprite is assigned its own System.Windows.Control.Image by the RenderService, which is initialized by having its UriSource Property set to a System.Windows.Media.Imaging.BitmapImage.  When the FrameDesc for the sprite changes (and therefore the sprite&#8217;s bitmap appearance has changed), the Source Property of the BitmapImage, a URI, is changed to the appropriate cached Uri.  (It looks as though you&#8217;re not permitted to re-use BitmapImage instances across multiple Images.)</p>
<p>Mirrored images are achieved by setting a MatrixTransform on the sprite&#8217;s Image&#8217;s RenderTransform.</p>
<p>Z-Ordering is performed by using the ZOrder property on the Images.</p>
<p>After each frame is rendered, the RenderingService iterates through all the Images on the Canvas, looking for any that weren&#8217;t rendered during that frame and therefore should be removed from the Canvas.</p>
<p>But what&#8217;s with the <em>byte[] replaceRGB, byte[] substituteRGB </em>parameters on the DrawBitmap call?  In all the other versions of Greasepole, the characters became multicultural by performing color-key swapping of their solid skintones.  The DirectX engine used two BitBlts, and the XNA engine uses custom shaders. Achieving this in real-time with Silverlight 2 is something I haven&#8217;t yet figured out.</p>
<p><span style="text-decoration: underline;"><strong>Silverlight SoundService</strong></span></p>
<p>Sounds assets are stored as MP3 Resources in the previously-mentioned download-on-demand assemblies SilverLegendAssetsMenu.dll and SilverLegendAssetsGame.dll.</p>
<p>Just as with with RenderService, the SoundService pre-caches the URIs to all the sound files.</p>
<p>The SoundService keeps a static collection of MediaElements around. These are added as children to an invisible Canvas called SoundCanvas.  When the engine requests that a sound is played, the SoundService finds an unused MediaElement in the static collection, sets its Source Property to the correct URI, and Play()s it.</p>
<p>The MediaElement&#8217;s MediaEnded event is handled to either loop the sound by either (1) setting .Position=TimeSpan.Zero and calling Play() again, or, (2) if it&#8217;s not looping, to add the MediaElement back to the static collection of available Media Elements.</p>
<p>Incidentally, this whole MediaElement juggling trick was a highly unstable process in the Silverlight 2 Alpha which seems to work reliably in the beta.</p>
<p><span style="text-decoration: underline;"><strong>Silverlight InputService</strong></span></p>
<p>In the Silverlight 2 Beta, handling input was a piece of cake.  Mouse and Keyboard events are handled for events on the main Canvas to inform the InputService of human interaction.</p>
<p>Unfortunately for game developers, keyboard input is <a href="http://silverlight.net/forums/p/11519/36798.aspx">more or less crippled</a> when Silverlight is in fullscreen mode.   Luckily, we&#8217;d designed Greasepole to be playable with just one mouse button.</p>
<p>I also wish I could use the right mouse button for input, but instead it brings up the <em>Silverlight Configuration</em> menu.</p>
<p><span style="text-decoration: underline;"><strong>Silverlight GameTimerService</strong></span></p>
<p>To create a game loop, Greasepole uses the &#8220;empty Storyboard technique&#8221; outlined at <a href="http://silverlightrocks.com/community/blogs/silverlight_games_101/archive/2008/03/14/creating-a-game-loop-part-1.aspx">Silverlight Games 101</a>.  The game loop calls Update enough time to ensure a constant 24 updates-per-second update rate, and Render whenever possible, which triggers the RenderingService (see above).</p>
<p>In every other respect, the game timer is the exact same as in the XNA version.  DateTime.Now works as advertised!  Here&#8217;s to a common set of .NET Framework classes!</p>
<p><span style="text-decoration: underline;"><strong>Silverlight GameSettingsService </strong></span></p>
<p>The IsolatedStorageFile API makes it very easy to rapidly save and load game settings in a local sandbox.</p>
<p>See <a href="http://www.silverlight.net/QuickStarts/IsoStore/StoreData.aspx">this sample</a> for more information on how to use the virtual file system in Silverlight.  The GameSettingsService uses a very similar technique.</p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2008/03/silverlight-2-greasepole-game-engine-services/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Silverlight 2 Beta Performance</title>
		<link>http://robburke.net/2008/03/silverlight-2-beta-performance/</link>
		<comments>http://robburke.net/2008/03/silverlight-2-beta-performance/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 05:27:26 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robburke.net/2008/03/25/silverlight-2-beta-performance-video/</guid>
		<description><![CDATA[One of the reasons I&#8217;m pleased with the Silverlight version of Legend of the Greasepole is that it represents a reasonably-scaled multimedia application, and therefore a good way to learn about the Silverlight 2 runtime&#8217;s performance. The Silverlight 2 Beta game engine runs rings around the game engine I tried to create using the Silverlight [...]]]></description>
			<content:encoded><![CDATA[<p>One of the reasons I&#8217;m pleased with the Silverlight version of Legend of the Greasepole is that it represents a reasonably-scaled multimedia application, and therefore a good way to learn about the Silverlight 2 runtime&#8217;s performance.</p>
<p>The Silverlight 2 Beta game engine runs rings around the game engine I tried to create using the Silverlight 2 Alpha. Yes, samples existed during the Alpha days that let you build a simple Silverlight game engine, but I didn&#8217;t see any applications that were successfully pushing push over 100 bitmap-animated sprites around the screen. I certainly was unsuccessful.<br />
Although, as evidenced by the current build of Greasepole, the Silverlight 2 Beta situation is dramatically imrpoved, the lack of hardware acceleration is still very noticable when running at higher resolutions.  This performance impact is relevant to an Image-oriented application like <a href="http://robburke.net/2008/03/24/legend-of-the-greasepole-silverlight-2-beta-edition/">Legend of the Greasepole</a>.</p>
<p><u><strong>Can the game&#8217;s framerate be improved at high resolutions? </strong></u></p>
<p>Late last year, I tried to make a version of the game run on the <strong>Silverlight 2 Alpha</strong>.<br />
While the perf in the game&#8217;s menus was passable, the actual gameplay caused the Silverlight plugin to grind to a halt and crash (as 150+ sprites, rendered as Images with opacity blending, were presented simultaneously).</p>
<p><strong>When updating my Silverlight game engine to the Silverlight 2 Beta, changes included:</strong></p>
<ul>
<li>using ZOrder instead of manually re-ordering Images in the Canvas&#8217;s Children collection between frames</li>
<li>moving bitmaps and sounds from <em>loose, pre-downloaded files</em> to <em>Resources in Assemblies</em></li>
<li>an overall reduction in the number of RenderTransforms in the scene</li>
<li>avoiding setting of Width and Height as per <a href="http://msdn2.microsoft.com/en-us/library/bb980012.aspx">Silverlight Performance Tips (in the MSDN docs)</a></li>
</ul>
<p>At game time, performance is superb when running in a window of around the game&#8217;s native resolution of 640&#215;480.  But when the player toggles fullscreen mode (achieved in code by scaling the Canvas on which the 150+ Images are being drawn), it <em>kinda sorta almost </em>looks good.  It definitely achieves less than the game&#8217;s desired 24 frames per second.</p>
<p><u><strong>So&#8230; Is the Engine Fill-Rate Limited? </strong></u></p>
<p>Since the game performs so well at reduced resolutions, I&#8217;m currently theorizing that the engine is <em><a href="http://en.wikipedia.org/wiki/Fillrate">fill-rate limited</a> in Silverlight </em>at high resolutions<em>.  </em>That makes sense, because the Silverlight 2 Beta plug-ins for IE7 and Firefox2 aren&#8217;t hardware accelerated.</p>
<p>Still, the changes that took place in the plug-in and the engine that were enabled by the switch between Silverlight 2 Alpha and Beta have made dramatic improvements to the game&#8217;s performance.  They were enough to bring the game to life.</p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2008/03/silverlight-2-beta-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Legend of the Greasepole, Silverlight 2 Beta Edition</title>
		<link>http://robburke.net/2008/03/legend-of-the-greasepole-silverlight-2-beta-edition/</link>
		<comments>http://robburke.net/2008/03/legend-of-the-greasepole-silverlight-2-beta-edition/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 03:12:43 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Queens University]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://robburke.net/2008/03/24/legend-of-the-greasepole-silverlight-2-beta-edition/</guid>
		<description><![CDATA[The Legend of the Greasepole is a game that began its life on July 1st, 1996, when a group of Engineering students from Queen&#8217;s University in Canada decided they&#8217;d create a way to re-live their unexplainable annual tradition from the comfort of their long-suffering computers. The release of the Silverlight 2 Beta has allowed the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://engsoc.queensu.ca/polegame">The Legend of the Greasepole</a> is a game that began its life on July 1st, 1996, when a group of Engineering students from Queen&#8217;s University in Canada decided they&#8217;d create a way to re-live their unexplainable annual tradition from the comfort of their long-suffering computers.</p>
<p><devlive:slscontrol silverlightversion="1.0" src="/20718/SilverLegend/" width="500" height="375" installationMode="inline" initParams="IsMuted=true"></devlive:slscontrol></p>
<p>The release of the Silverlight 2 Beta has allowed the game to goop its way to the web!  In fact, here it is! (There are sound and fullscreen toggles in the upper-right-hand corner.)</p>
<p><a href="http://engsoc.queensu.ca/polegame/LegendWeb/PoleGame/index.htm">Read the &#8216;cooks&#8217; (lingo for student notes) for tips</a>. Click mouse to perform actions, Shift to toggle tools, Space to do something silly (try it with beer).</p>
<p>Over the next few days, I&#8217;ll write more about how this was possible, and some of the many things I&#8217;ve learned about Silverlight development in the process.</p>
<p>For now, though, I&#8217;d love to hear how/if the game works for you!</p>
<p>If you didn&#8217;t study Engineering at Queen&#8217;s, the game isn&#8217;t going to make much sense. I mean, honestly, it hardly makes sense to me any more, and I&#8217;ve been to six real-life greasepole events myself.</p>
<p>Basically, the premise of the game is that the Frosh (first-year students), who are supposed to learn teamwork through the pole climb event, are a little too keen this year. So, as a thoughtful upper-year student, you need to gently stall the Frosh for as long as you can with whatever you can find as they attempt to (and ultimately <em>do) </em>wrest the tam from the top of the greasepole.</p>
<p>First one to 900 Achievement Points gets a pizza.  Really&#8230; send me a screenshot and a mailing address.</p>
<p><strong>Related Posts:</strong> [updated 30 Jul 08]
<p><a href="http://robburke.net/2008/03/25/silverlight-2-greasepole-game-engine-services/">Silverlight Greasepole Game Engine Notes</a></p>
<p><a href="http://robburke.net/2008/03/25/silverlight-2-beta-performance/">Silverlight 2 Beta Performance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2008/03/legend-of-the-greasepole-silverlight-2-beta-edition/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Greasepole Achievement List</title>
		<link>http://robburke.net/2007/09/greasepole-achievements-list/</link>
		<comments>http://robburke.net/2007/09/greasepole-achievements-list/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 14:27:09 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Queens]]></category>
		<category><![CDATA[Queens University]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robburke.net/2007/09/20/greasepole-achievements-list/</guid>
		<description><![CDATA[Congratulations to Sci &#8217;11 for their one-hour, 47-minute conquering of this year&#8217;s greasepole! Can we all just take a moment to reflect on the academic year called &#8220;Sci &#8217;11&#8243;?  Man, I feel old all of a sudden. Just for giggles, here&#8217;s the current list of achievements for Legend of the Greasepole.  I wonder how the [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Legend of the Greasepole" href="http://robburke.net/projects/greasepole"><img title="ThinkerFrosh" src="http://robburke.net/images/ThinkerFrosh.jpg" border="0" alt="" align="right" /></a>Congratulations to Sci &#8217;11 for their one-hour, 47-minute <a href="http://www.queensjournal.ca/story/2007-09-11/news/grease-pole-climb-amazing/">conquering</a> of this year&#8217;s greasepole!</p>
<p>Can we all just take a moment to reflect on the academic year called &#8220;Sci &#8217;11&#8243;?  Man, I feel old all of a sudden.</p>
<p>Just for giggles, here&#8217;s the current list of achievements for <a href="http://engsoc.queensu.ca/polegame" title="Legend of the Greasepole Website">Legend of the Greasepole</a>.  I wonder how the crowd around this year&#8217;s greasepole would have done.</p>
<p><strong>Pole in Ten (Years!) </strong>- (100) -  Stall the frosh for at least 10 minutes<br />
<strong>Show Some Discipline </strong>- (10) &#8211; Proudly display the Discipline bar on your Engineering jacket.<br />
<strong>Desperate Times, Desperate Measures </strong>- (10) &#8211; Wind up your arm fully, completely before you toss a road apple.<br />
<strong>It&#8217;s The Jam, It&#8217;s All Good For You </strong>- (20) &#8211; Offer &#8216;za or a drink to the Engineering Society President.<br />
<strong>You&#8217;re a Hoser</strong> - (20) &#8211; Cool down the frosh with water from the firehose.<br />
<strong>Golden Soda </strong>- (50) &#8211; Offer a drink to hard-working Al &#8216;Pop Boy&#8217; Burchell.<br />
<strong>Like Homecoming, But With Lanolin </strong>- (50) &#8211; Quench the crowd&#8217;s thirst &#8217;til they slam their leather jackets.<br />
<strong>Dizzying Heights </strong>- (50) &#8211; Send a frosh flying all the way from tam to pit-water.<br />
<strong>Iron Ring Ceremony</strong> &#8211; (100) &#8211; Unleash the power of the mighty Iron Ring.<br />
<strong>Double Fisting </strong>- (150) &#8211; Wear two Iron Rings at the same time!<br />
<strong>Exam Avoidance</strong> &#8211; (50) &#8211; Stall the frosh for five minutes without lobbing a physics &#8216;smart bomb&#8217;.<br />
<strong>Fully Loaded Fun Fur </strong>- (70) &#8211; Stuff your pockets with 99 apples, 99 slices of &#8216;za, or 99 Clark mugs.<br />
<strong>Secret Achievement </strong>- (??) &#8211; Keep stalling the frosh to discover this achievement!<br />
<strong>Secret Achievement </strong>- (??) &#8211; Keep stalling the frosh to discover this achievement!<br />
<strong>Secret Achievement </strong>- (??) &#8211; Keep stalling the frosh to discover this achievement!<br />
<strong>Secret Achievement </strong>- (??) &#8211; Keep stalling the frosh to discover this achievement!</p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2007/09/greasepole-achievements-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Legend of the Greasepole 2007 released for PC and XBox360</title>
		<link>http://robburke.net/2007/09/legend-of-the-greasepole-2007-for-pc-and-xbox360/</link>
		<comments>http://robburke.net/2007/09/legend-of-the-greasepole-2007-for-pc-and-xbox360/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 05:17:57 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robburke.net/2007/09/18/legend-of-the-greasepole-2007-for-pc-and-xbox360/</guid>
		<description><![CDATA[I&#8217;ve posted Windows and XBox360 versions of Legend of the Greasepole 2007 to the Queen&#8217;s EngSoc website! The new version is built with XNA and includes the following new features: Controller support for either the mouse or the XBox360 Controller attached to the PC 3D sound  Modestly enhanced graphics (although we realized it was ultimately a choice [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://robburke.net/projects/greasepole" title="Legend of the Greasepole's TetherFrosh"><img border="0" align="right" src="http://robburke.net/images/TetherFrosh.jpg" alt="Legend of the Greasepole's TetherFrosh" title="Legend of the Greasepole's TetherFrosh" /></a>I&#8217;ve posted Windows and XBox360 versions of <a href="http://robburke.net/projects/greasepole" title="Legend of the Greasepole Website">Legend of the Greasepole 2007</a> to the Queen&#8217;s EngSoc website!</p>
<p>The new version is built with <a href="http://creators.xna.com" title="XNA Creators Club">XNA</a> and includes the following new features:</p>
<ul>
<li>Controller support for either the mouse or the XBox360 Controller attached to the PC</li>
<li>3D sound </li>
<li>Modestly enhanced graphics (although we realized it was ultimately a choice between a total revamp or maintaining the &#8220;retro&#8221; look, and we opted for the nostalgic solution)</li>
<li>An installer that can detect and install all prerequisites, and integrate with Windows Vista&#8217;s Game Explorer</li>
<li>A new version that runs on the XBox360! (!!)</li>
<li><strong>&#8220;Achievements&#8221; </strong>which can be unlocked by stalling the Frosh in creative ways.</li>
</ul>
<p><strong>The Windows version </strong>requires a graphics card capable of supporting Pixel Shader version 2.0.  Almost any computer bought within the last couple of years should do.  If your card doesn&#8217;t have this support, I&#8217;ve also left the Classic Version of Legend of the Greasepole available for download, with a new installer that runs more quickly and also can detect and install the needed prerequisite for Classic Edition (the DirectX runtime).</p>
<p><strong>The XBox360 </strong>version is built with XNA and, as such, you currently require a subscription to the XNA Creators Club in order to play it.  If you want to get it up and running on your XBox360, please let me know!</p>
<p><strong>Introducing Legend of the Greasepole Achievements!</strong></p>
<p>For the uninitiated, retail XBox360 games each are gifted with 1,000 &#8220;achievement points,&#8221; which the game&#8217;s designers can divvy up and dish out to players when they accomplish tasks within the game.</p>
<p>Legend of the Greasepole is peppered with &#8220;easter eggs&#8221; and innovative ways to stall the Frosh that the curious can discover by messing about.  Previously, cleverness would get the crowd roaring and accelerate your earning an <a href="http://en.wikipedia.org/wiki/Iron_Ring">Iron Ring</a>.  Adding a more formal Achievement system seemed like an ideal way to further reward a player&#8217;s experimentation and creativity, which in fairness is really what The Pole Game (and the actual greasepole, for that matter) is meant to be about.</p>
<p>Our design goal was to create an fun experience rather than a brutally challenging one, including as many references to the memorable traditions of Queen&#8217;s Engineering and the Greasepole event as we could possibly cram in.  Hopefully the Achievements will help you find some of them!</p>
<p>XNA doesn&#8217;t let you tap into the &#8220;official&#8221; achievement system, so I had to roll my own.  With thanks to <a href="http://cremma.com">Craig Calvert</a> and <a href="http://thewindonmyface.blogspot.com">McKay Savage</a>, we&#8217;ve come up with a first set of achievements and allocated 900 of the 1,000 points. </p>
<p>If you unlock all the current achievements, we definitely want to hear from you.  (Four of them are secret, the rest are visible from within the game&#8217;s main menu.)  If you have ideas for how we should allocate the remaining achievement points, we&#8217;d love to hear those too.</p>
<p>Please let me know how you get on with the game, and if you experience any technical difficulties, also please don&#8217;t hesitate to let me know, and I&#8217;ll do what I can to resolve them.</p>
<p>I have to tip my cap again to the dozens and dozens of Queen&#8217;s students who were involved in the game&#8217;s production from 1997 through 1999.  It was an enormous amount of fun making this game, and a wash of memories of the very best kind porting it to XNA for re-release.</p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2007/09/legend-of-the-greasepole-2007-for-pc-and-xbox360/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Greasepole 2007 is today&#8230;</title>
		<link>http://robburke.net/2007/09/greasepole-is-today/</link>
		<comments>http://robburke.net/2007/09/greasepole-is-today/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 13:31:40 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Queens]]></category>
		<category><![CDATA[Queens University]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robburke.net/2007/09/08/greasepole-is-today/</guid>
		<description><![CDATA[&#8230; in fact it&#8217;s probably happening as I type, but I&#8217;m three-and-a-half hours down the 401 in Toronto. Sigh. A huge thanks to the folks who have beta tested the re-release of the game.  I had hoped to have it ready for today, but I&#8217;ve received some great feedback about a few things to tweak, and [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; in fact it&#8217;s probably happening as I type, but I&#8217;m three-and-a-half hours down the 401 in Toronto. Sigh.</p>
<p><a href="http://www.flickr.com/photos/pcorey/63126201/" title="PCorey's great greasepole shot"><img border="0" width="500" src="http://farm1.static.flickr.com/31/63126201_3f920dbfc9.jpg" alt="PCorey's great Greasepole shot" height="333" style="width: 500px; height: 333px" title="PCorey's great Greasepole shot" /></a></p>
<p>A huge thanks to the folks who have beta tested the re-release of the game.  I had hoped to have it ready for today, but I&#8217;ve received some great feedback about a few things to tweak, and particularly in light of the new XBox control mechanism, I need to hold off a few days to find time to finish it up.  Also, my partner-in-crime <a href="http://www.ccalvert.com/">Craig Calvert</a>, who was Legend&#8217;s Artistic Director, still hasn&#8217;t weighed in&#8230; I hope he&#8217;ll have a chance to look at the game soon.</p>
<p>A <em>particularly </em>huge thanks to McKay Savage, principal author of the LegendWeb, whose history of the Greasepole (and even poetry about the Greasepole!) was an integral part of the original CD release, and now can be found online.  He&#8217;s really been enjoying the beta testing and <a href="http://thewindonmyface.blogspot.com/2007/09/sidebar-3-legend-of-greasepole-game.html">wrote about it in his blog</a>, which has the great name <em>The Wind on My Face.</em>  I remember receiving the most amazingly thoughtful and detailed e-mails from McKay back in the day &#8212; and now he&#8217;s living in India.  I think the blogging medium was made for folks like him.</p>
<p><a href="http://www.flickr.com/photos/robertburke/1343222083/"><img border="0" width="500" src="http://farm2.static.flickr.com/1043/1343222083_7b792acc1a.jpg" alt="Odd Greasepole shot" height="374" style="width: 500px; height: 374px" title="Odd Greasepole shot" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2007/09/greasepole-is-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Greasepole XNA: Looking for a few beta testers</title>
		<link>http://robburke.net/2007/09/greasepole-xna-looking-for-a-few-beta-testers/</link>
		<comments>http://robburke.net/2007/09/greasepole-xna-looking-for-a-few-beta-testers/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 05:00:54 +0000</pubDate>
		<dc:creator>Rob Burke</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Greasepole]]></category>
		<category><![CDATA[Legend of the Greasepole]]></category>
		<category><![CDATA[Queens University]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robburke.net/2007/09/04/greasepole-xna-looking-for-a-few-beta-testers/</guid>
		<description><![CDATA[By my reckoning, it&#8217;ll be next Saturday when Queen&#8217;s University frosh week will culminate this year for a new batch of fresh-faced Engineering students.  Surrounded by upper-years dyed purple with gentian violet, they&#8217;ll struggle to form a pyramid and climb a lanolin-covered pole to liberate a Scottish tam that&#8217;s been nailed to its top, and officially [...]]]></description>
			<content:encoded><![CDATA[<p>By my reckoning, it&#8217;ll be next Saturday when Queen&#8217;s University frosh week will culminate this year for a new batch of fresh-faced Engineering students.  Surrounded by upper-years dyed purple with gentian violet, they&#8217;ll struggle to <a href="http://engsoc.queensu.ca/polegame/LegendWeb/Legends/index.htm">form a pyramid and climb a lanolin-covered pole</a> to liberate a Scottish tam that&#8217;s been nailed to its top, and officially be declared a Year.</p>
<p><a href="http://www.flickr.com/photos/robertburke/1318436932/"><img border="0" src="http://farm2.static.flickr.com/1275/1318436932_db08915908.jpg" alt="Ancient Greasepole photo" style="width: 500px; height: 375px" title="Ancient Greasepole photo" /></a></p>
<p>Back in &#8217;99 I was part of a team that wrote <em>Legend of the Greasepole</em>, a game inspired by this most bizarre (and awesome, and memorable) of the Queen&#8217;s Engineering rituals.  Over <a href="http://engsoc.queensu.ca/polegame/involvement.htm">50 Queen&#8217;s students</a> ended up involved, and in an era before ubiquitous digital recording equipment, we <a href="http://engsoc.queensu.ca/polegame/LegendWeb/Gallery/Betas/index.htm">somehow managed</a> to create a game that gave people a chance to re-live the unexplainable.</p>
<p>Anyway, if I may let a cat out of a bag, I am close to re-releasing the game in XNA.  I&#8217;ve ported it from C++ to C# (a task that involved exploring Visual Studio&#8217;s underbelly rather intimately), and added a couple of new features along the way.</p>
<p>Why would I do such a thing?  Fellow Sci &#8217;99 Brendan Carroll (who happens to be part of the game&#8217;s voice talent) quipped on my Facebook stream <em>&#8220;So when should we expect The Legend of the Greasepole to be released for the XBox 360?&#8221;</em>  And I got to thinking, dude, that sounds like an awesome idea.  You know, if <a href="http://engsoc.queensu.ca/clark/">Clark Hall Pub</a> is ever re-opened, maybe they could play it on the big screen like we did for the launch party back in &#8217;98&#8230; but with wireless XBox controllers instead of a wired mouse!</p>
<p>So, since XNA is so accommodating, I figured I&#8217;d re-release the game fuelled by XNA for both the PC and the XBox 360.  And you thought I was faffing about travelling the globe or something.</p>
<p>I&#8217;m <strong>looking for a few beta testers </strong>who are running different flavours of Windows to give the game a whirl, give some feedback, and make sure it works on your systems.  I&#8217;m using some shader techniques that make me keen to test for compatibility as well as framerate.  I have put together an installer that seems to reliably install all the prerequisites, and even integrate into Vista&#8217;s Game Explorer if possible, so the process should be easy for anyone who wants to give it a try.</p>
<p>If you&#8217;re keen, drop me a line&#8230; oh, and by the way&#8230;</p>
<p><a href="http://engsoc.queensu.ca/polegame"><strong>how high is the pole, frosh?!</strong></a></p>
<p><a href="http://engsoc.queensu.ca/polegame"><img border="0" width="500" src="http://farm2.static.flickr.com/1322/1318289134_84955b8a12.jpg" alt="The Legend of the Greasepole..." height="375" style="width: 500px; height: 375px" title="The Legend of the Greasepole..." /></a></p>
<p><em>(postscript for the uninitiated: the InstallShield installer for the old 1999 version of Legend doesn&#8217;t seem to be working very well on Vista.  It spins its wheels for a very long time.  Give it a few days and I&#8217;ll post a new installer for the old version as well.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://robburke.net/2007/09/greasepole-xna-looking-for-a-few-beta-testers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

