<?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>Blogs &#187; tommunism</title>
	<atom:link href="http://software.intel.com/en-us/blogs/author/tommunism/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/en-us/blogs</link>
	<description></description>
	<lastBuildDate>Fri, 25 May 2012 22:49:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Super Meat Boy, a game of Tech, Saws, and Awesome</title>
		<link>http://software.intel.com/en-us/blogs/2009/09/24/super-meat-boy-a-game-of-tech-saws-and-awesome/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/09/24/super-meat-boy-a-game-of-tech-saws-and-awesome/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 16:40:53 +0000</pubDate>
		<dc:creator>tommunism</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Engine Design]]></category>
		<category><![CDATA[goo]]></category>
		<category><![CDATA[Super Meat Boy]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/09/24/super-meat-boy-a-game-of-tech-saws-and-awesome/</guid>
		<description><![CDATA[Hello again, It's been a while since I last posted (I believe its been about 8 months), but I've been incredibly busy. I've been recently working on a game, due out on WiiWare and PC something in Q1 2010, called Super Meat Boy. For those interested, you can find a trailer here: Super Meat Boy [...]]]></description>
			<content:encoded><![CDATA[<p>Hello again,</p>
<p>It's been a while since I last posted (I believe its been about 8 months), but I've been incredibly busy. I've been recently working on a game, due out on WiiWare and PC something in Q1 2010, called <a href="http://www.supermeatboy.com" target="_blank">Super Meat Boy</a>. For those interested, you can find a trailer here:</p>
<p><a href="http://www.youtube.com/watch?v=POYXzcnDiPg">Super Meat Boy Trailer</a></p>
<p><center><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/POYXzcnDiPg&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/POYXzcnDiPg&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></center></p>
<p>I just recently got back from an event in London showcasing Super Meat Boy at a Nintendo WiiWare event. It was great fun, the game went over well and we are very excited. But blah blah blah lets talk some tech about this meaty game (get it?).</p>
<p>The engine for Super Meat Boy has very much been a labor of love. The game is being developed mainly on two machines, an Intel Core 2 Duo 2.16Ghz housed in my (seemingly soon to be dead) laptop and a Intel Core 2 Quad 2.4Ghz desktop. 100% of the development is being done on these two PCs with the engine constructed in such a way that I link in drivers for different renders, input, core, and audio functionality. So far this method of engine design has worked out perfectly. Each module is abstracted out away from engine and game code and is placed in a seperate library. When I need a Wii Build, I link in my Wii libraries and poof, I have a Wii Build. Same with Xbox, PC, etc, etc, etc. This isn't that special really, its actually pretty standard. The specialness of this is due to the threading library I originally wrote for <a href="http://goo.pillowfortgames.com" target="_blank">Goo!</a>. Super Meat Boy runs on the second generation Goo! engine that features a self detecting threaded renderer...which is just fancy talk for a threaded renderer that does a little bit of a system test on your machine to determine if A. If it can thread it (i.e. is the processor multicore) and B. If it should thread it (i.e. Is the processor fast enough, is the processing power required by the renderer worth threading the rendering). So far it works very well....it even runs well on my little Acer Aspire One with a little Intel GMA 950 and a 1.6Ghz Atom Processor. It threads the renderer on that little thing and it does surprisingly well...I was impressed. On a machine where it should run a threaded renderer (My Core 2 Quad or Duo or the Xbox 360) it sets up the render threads on its own and goes to town, where on lower end PCs and the Wii, it doesn't need to thread the renderer so it doesn't. It makes my life easier and it utilizes the processors in a users machine, be it console or PC, to provide a nice, smooth gaming experience. The game runs beautifully at 1920x1440...which again, isn't saying too much for a game like Super Meat Boy, as it is a 2D platformer with some pretty lights and replays...but its scalable and that's what makes it special.</p>
<p>Right now, on the Wii in particular, I'm working on doing some threaded level loading, because I'm not a fan of load times, and neither are gamers. With a game like Super Meat Boy, you die often and you beat levels often, so even the slightest amount of wait is just a pain for gamers. Right now, the load time between levels is I believe is less than half a second, but I don't like that it pauses. So, what I'm doing is loading level A and when level A is loaded, I'll fire up a thread that starts the loading of Level B in the background on a very very low priority thread. Since the average level for a pro (like myself) takes anywhere between 5 and 10 seconds (again, I'm very pro, most new players will spend between 10 to 20 seconds on easy levels, and probably about 10 minutes on harder levels...this is how it happened in London anyway:)) to play through, this huge amount of time in between levels will allow plenty of processor time for a low priority thread to load the level in and be able to instantly switch to the new level in between level transitions, while then firing up another thread to load the next level. The system will work just fine, and we'll be blessed with the gift of little to no load times...that's something that we haven't had since the days of cartridge based games:)</p>
<p>That's it for me now, I must sleep, then get back to work. If you're interested in more game engine threading and design, shoot me an email. If you want to keep up with Super Meat Boy, follow us on twitter: <a href="http://twitter.com/SuperMeatBoy" target="_blank">http://twitter.com/SuperMeatBoy</a>.</p>
<p>Good Night!!!!</p>
<p>Tommy</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/09/24/super-meat-boy-a-game-of-tech-saws-and-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Engines, Meatboy, and Scratch Off iPhone games</title>
		<link>http://software.intel.com/en-us/blogs/2009/03/04/engines-meatboy-and-scratch-off-iphone-games/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/03/04/engines-meatboy-and-scratch-off-iphone-games/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 01:13:14 +0000</pubDate>
		<dc:creator>tommunism</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[engines]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MeatBoy]]></category>
		<category><![CDATA[scratch n' win]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/03/04/engines-meatboy-and-scratch-off-iphone-games/</guid>
		<description><![CDATA[Hello once again, I'm in Santa Cruz these days working in the Cryptic Sea offices (Gish, BlastMiner) on Super MeatBoy and another secret project that I hope to be able to announce soon. The cross platform crazy engine I'm doing for Meatboy is coming along well. After doing extensive reading on how the Wii GPU [...]]]></description>
			<content:encoded><![CDATA[<p>Hello once again,</p>
<p>I'm in Santa Cruz these days working in the Cryptic Sea offices (Gish, BlastMiner) on Super MeatBoy and another secret project that I hope to be able to announce soon. The cross platform crazy engine I'm doing for Meatboy is coming along well. After doing extensive reading on how the Wii GPU does texture tiling and how it accesses texture memory I now have a cool texture and material system that is totally cross platform. That might not sound like much, but going from a PC/DirectX powered game to a Wii/OpenGLesque game with a recompile isn't an easy task. Right now I'm in the process of converting the graphics pipeline from 100% shader driven (I'm all directX) to something that can transfer to either a fixed function pipeline, like Wii or iPhone, or shader driven, like PS3, Xbox, and PC. I feel this should be basically done by the end of the week, with further improvements to be built in as I need them. The goal is to have all of the flexibility to create a game like Goo! on PC and Xbox, but still be able to make a more simple game, like Meatboy, and port it to all platforms by replacing system files, input, sound, and graphics drivers. So far, I'm winning:)</p>
<p>Speaking of Winning, I made a really really stupid fun game. It's called Free Money* Scratch n' Win and its on the AppStore for $0.99. The purpose of this game is to make people laugh as its a totally stupid lottery scratch off simulator. I did all the voices and put the most appropriate music to it that I could find. Give it a go, you'll laugh..and that's really all I'm going for:)</p>
<p>Free Money*: <a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">http://</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">itunes</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">.apple.com/</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">WebObjects</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">/</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">MZStore</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">.</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">woa</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">/</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">wa</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">/</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">viewSoftware</a><a title="freemoney" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305612915&amp;mt=8">?id=305612915&amp;mt=8</a></p>
<p>I'll post again in a few weeks with maybe some Meatboy videos...maybe not. We'll just see how it goes! In the coming months I will be creating Tools for the engine, Flash exporters, texture tools, etc and I plan to talk a lot about that. Hopefully I'll be able to talk about the other project which is a much more technical project that can give some insights into threading on some next gen consoles.</p>
<p>Tommy</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/03/04/engines-meatboy-and-scratch-off-iphone-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone and Wii Game, plus other news</title>
		<link>http://software.intel.com/en-us/blogs/2009/02/02/iphone-and-wii-game-plus-other-news/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/02/02/iphone-and-wii-game-plus-other-news/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 21:14:06 +0000</pubDate>
		<dc:creator>tommunism</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Beat]]></category>
		<category><![CDATA[goo]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MeatBoy]]></category>
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/02/02/iphone-and-wii-game-plus-other-news/</guid>
		<description><![CDATA[Hello everyone, I've recently been hard at work on a few projects. One being an iPhone game, and another being a Wii game. First I'll touch on the iPhone (pun totally intended). The iPhone game I have been working on is called Beat!. Beat! is basically Simon mixed with a random beat generator with a [...]]]></description>
			<content:encoded><![CDATA[<p>Hello everyone,</p>
<p>I've recently been hard at work on a few projects. One being an iPhone game, and another being a Wii game. First I'll touch on the iPhone (pun totally intended).</p>
<p>The iPhone game I have been working on is called Beat!. Beat! is basically Simon mixed with a random beat generator with a custom dynamic sound track and some neat sorta retro looking visuals. As the player progresses in the game, the sound track gets more and more intense. All in all its a pretty simple game but at one point it had a pretty complicated back end to it. I ported most of my engine over to the iPhone to help with this game. My main concern were the memory limitations presented by the iPhone, and with the dynamic sound track the game I was afraid of having (and did initially run into) memory issues. The first iteration of this game had a threaded music loading system. Basically as the user played, the next level of intensity would load into memory on a separate thread and when it was time to play the next level of intensity the current level would unload while the new one played. This took up at most 3 to 5MB of memory and provided a seamless transition from level to level. When being done all on one thread, there would be a very brief pause as one sound unloaded and another one loaded and played. However, there were some problems with the sound engine properly unloading sounds and I eventually had the sounds converted down to 32Khz and shortened their duration and ended up loading them into memory. I wanted to have a cool threaded loading system I could gloat about, and for a time I did but it just wasn't meant to be. I plan on exploring more threading options on the iPhone in the future, but I was generally impressed with the amount of load it could take. If you want to check the game out its called "Beat!" and its <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=303057162&amp;mt=8">available on the iTunes store here</a>. </p>
<p>The official site for Beat! is here <a href="http://beat.pillowfortgames.com">http://beat.pillowfortgames.com</a> </p>
<p>In other news I'm working with Edmund McMillen on Super Meat Boy which is a game for the Wii (<a href="http://www.supermeatboy.com">http://www.supermeatboy.com</a>). Super Meat Boy is a platforming game where you control a little cube of meat trying to save his girlfriend. It sounds cute, but it is a very difficult and satisfying game to play. SMB won't be a difficult game to develop, there's no crazy threading that will go on, maybe a bit of resource management but nothing too spectacular. SMB is kind of a cleansing game for me to develop since Goo! is a difficult and (at this point) tiring game to work on. SMB on the Wii gives me the opportunity to not only port the engine that powers Goo! over to the Wii, but also it gives me a unique opportunity to determine if Goo! can possibly run on the hardware. My initial stance is, no, it won't, but as I delve further into development I'm going to keep exploring the capabilities of the Wii. So far I'm impressed with the processor, it's pretty powerful for not being a totally top of the line latest and greatest processor like in the 360 and in the PS3. The biggest challenge in porting my engine over to the Wii for Super Meat Boy is the graphics pipeline. I never thought I'd be developing anything for the Wii, so I went with a totally shader driven graphics pipeline. Wii is Fixed Function all the way, so there are going to be some challenges along the way, but this again will prove to be a huge disadvantage in getting Goo! up and running on a Wii since it's pretty heavily shader driven. We'll see though.</p>
<p>Speaking of Goo!, development is sort of on hold as I'm waiting to see what the future will be. Right now there are some promising leads and if something pans out I will post here. Hopefully I'll know something in the next few weeks.</p>
<p>That about does it, I'll post more when more stuff comes up!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/02/02/iphone-and-wii-game-plus-other-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Me and Goo</title>
		<link>http://software.intel.com/en-us/blogs/2008/12/18/me-and-goo/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/12/18/me-and-goo/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 22:11:56 +0000</pubDate>
		<dc:creator>tommunism</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Parallel Programming]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[game demo]]></category>
		<category><![CDATA[goo]]></category>
		<category><![CDATA[level up]]></category>
		<category><![CDATA[Level Up 2009]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/12/18/me-and-goo/</guid>
		<description><![CDATA[Hello. I'm Tommy Refenes. This is my first post on my shiny new Intel blog. Here I'll mainly be blogging about using multi-threaded programming practices and concepts to boost performance in game development. For those of you who don't know me (which is all of you) here's a little bit about me: Currently, and for [...]]]></description>
			<content:encoded><![CDATA[<p>Hello. I'm Tommy Refenes. This is my first post on my shiny new Intel blog. Here I'll mainly be blogging about using multi-threaded programming practices and concepts to boost performance in game development. For those of you who don't know me (which is all of you) here's a little bit about me:</p>
<p>Currently, and for the last couple of years on and off, I've been working on a game called Goo!. Goo! is a game where you control a big glob of goo and try to eat other goos while avoiding and fighting against an ever changing environment. Goo! is a highly technical game that earned a nomination in Technical Excellence at the 2008 IGF awards, took the grand prize in the 2008 Intel Game Demo contest for Best Threaded Game and placed 3rd for Best Game on Intel Graphics. I'm trying to get the game done and have it released sometime next year so we'll see. You can see some screenshots and videos here:</p>
<p><a href="http://goo.pillowfortgames.com" target="_blank">http://goo.pillowfortgames.com</a></p>
<p>Right now I have taken the demo down as I'm converting the game to my new and final engine, but it will be back up soon. I'm also working on a handful of other projects while doing this...so I'm a pretty busy guy.</p>
<p>That's basically it. Despite the extreme business, I'm usually good about responding to emails and comments...so anything you want to ask just throw it at me. If it isn't stupid, I'm sure you'll get an email back.</p>
<p>Something clever,</p>
<p>Tommy</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/12/18/me-and-goo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

