<?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>Stephen Belanger &#187; Game Programming</title>
	<atom:link href="http://stephenbelanger.com/category/game-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://stephenbelanger.com</link>
	<description>Just another coder making the web a better place.</description>
	<lastBuildDate>Fri, 18 Nov 2011 20:46:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An eventful week&#8230;</title>
		<link>http://stephenbelanger.com/2011/04/22/an-eventful-week/</link>
		<comments>http://stephenbelanger.com/2011/04/22/an-eventful-week/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 04:17:26 +0000</pubDate>
		<dc:creator>Qard</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[Peint]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[socket.io]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Programming]]></category>
		<category><![CDATA[Canvas. Yammer]]></category>
		<category><![CDATA[Chattan]]></category>
		<category><![CDATA[DuoStack]]></category>
		<category><![CDATA[Galaxy S]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Opzi]]></category>
		<category><![CDATA[PlayBook]]></category>
		<category><![CDATA[San Francisco]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[TechCrunch]]></category>

		<guid isPermaLink="false">http://stephenbelanger.com/?p=158</guid>
		<description><![CDATA[It's been an interesting week so far. I had a job interview at Yammer in San Francisco on Tuesday morning, so I was to fly out from Kelowna on Monday.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been an interesting week so far. I had a job interview at Yammer in San Francisco on Tuesday morning, so I was to fly out from Kelowna on Monday. My passport however, had expired. I ended up having to drive to Vancouver through the middle of the night and go to the passport office there at 7:30AM Monday morning. The process would take awhile, so I slept in the van for a few hours while I waited and hoped. They managed to have the passport put together just in time for me to pick it up and go straight to the airport.</p>
<p>Eventually I made it to San Francisco, but the problems still hadn&#8217;t ended. From the airport I took a shuttle&#8230;to the wrong hotel. Then I caught a cab to the right one. Finally at my hotel, I checked in and went up to my room. Much to my dismay however, their internet login system doesn&#8217;t work with Linux so my &#8220;complimentary&#8221; internet went entirely to waste. I had to resort to my Galaxy S for checking emails&#8211;no doubt my next bill is going to be scary expensive. In typical hotel fashion, they charge you to do pretty much anything but sleep, so I slept.</p>
<p>The next day was somewhat better. I was to meet at the Yammer HQ, in the same building as TechCrunch, for a few hours at 10AM. Checkout time at the hotel was noon, so I had to pack my luggage along with me. I quickly packed up my things and took a cab over to their offices, which were just a few minutes away.</p>
<p>The interview seemed to go pretty well, hopefully I can get the job because they&#8217;d be a pretty awesome crew to work with. There was several sets of interviews with people from the various teams at Yammer. They asked me various questions about Javascript to test my knowledge, which was refreshing&#8211;sometimes I just get disregarded because of my lack of formal training. Most of the questions were pretty easy but there was a few things that they were a bit vague about so it took a bit of prodding to figure out what exactly they were fishing for. Overall the interview seemed to go over pretty well though. I got to share a tasty catered lunch with them too.</p>
<p>After the interview I basically stepped outside the office, jumped into a cab and went straight to the airport. It was a much smoother exit from San Francisco than the entrance. There was a stop in Seattle though that was a bit on the long side. I sat at the gate for my next flight for about 3 hours. Fortunately there is plenty to do at the Seatac airport, so I managed to keep myself entertained. I got to try out a PlayBook while I was there, which was neat. I can kind of see where people are coming from about the complaints of it being &#8220;incomplete&#8221;, but it&#8217;s still a pretty neat piece of tech. I think application development should make it a pretty exciting platform.</p>
<p>Anyway, eventually I got back to Kelowna and finally got the sleep I had been longing for since Monday morning. I slept until almost noon on Wednesday, which I haven&#8217;t done in awhile. But eventually I felt compelled to get up and get some programming in. I wanted to get some more work done on the game engine I&#8217;ve been working on for a web game I&#8217;ve been making. I made a few updates to my Actor class to add RM2K support and animations, so I decided I&#8217;d do some benchmarks. I managed to get 484 unique Actors on a grass-tiled screen at 1920&#215;968 before it the rendering started to drop below 30 fps. That&#8217;s some pretty decent performance. Now I need to work on layer grouping and pre-rendering so I&#8217;m not drawing each tile of each layer for every frame. I&#8217;m convinced I can actually make an infinite scrolling tilemap render fast enough to be viable for large scale game development.</p>
<p>Thursday morning was the second Evoke Game Group meeting. Unfortunately there was only three of us this time&#8211;the weather was a bit ugly and I think there was a bit of confusion with moving the meet to Thursday because of Good Friday. It should pick up again for the next meet though. I&#8217;ve got a few people who&#8217;ve invited some programmers to join us, so I&#8217;m optimistic that I can get a hacknight going soon. I&#8217;ll keep my fingers crossed.</p>
<p>Today was more game dev stuff and deploying Chattan to DuoStack. Hopefully I can get Cloudant working too so I can deploy another secret project I&#8217;ve been working on. Cloudant was one of the many SaaS companies hit hard by the EC2 outage today. Hopefully they recover soon, it&#8217;s a pretty awesome service. I also got a few more calls from some web companies in San Francisco, including Opzi; one of the startups presented at this years TechCrunch Disrupt. They are somewhat smaller than Yammer, but it sounds like they are trying to do some pretty neat stuff. I can&#8217;t wait to see where that goes.</p>
<img src="http://stephenbelanger.com/?ak_action=api_record_view&id=158&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://stephenbelanger.com/2011/04/22/an-eventful-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSGame &#8211; Game development in Javascript!</title>
		<link>http://stephenbelanger.com/2010/03/30/jsgame-game-development-in-javascript/</link>
		<comments>http://stephenbelanger.com/2010/03/30/jsgame-game-development-in-javascript/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 22:01:09 +0000</pubDate>
		<dc:creator>Qard</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[JSGame]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[OpenAL]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[v8]]></category>
		<category><![CDATA[V8-GL]]></category>

		<guid isPermaLink="false">http://www.stephenbelanger.com/?p=90</guid>
		<description><![CDATA[I&#8217;ve recently started work on my newest Github project; JSGame. It&#8217;s a fork of philogb&#8217;s V8-GL which, as you can likely assume by the name; is an implementation of OpenGL using Google Chrome&#8217;s V8 javascript runtime. At the moment, the only difference in JSGame is a mostly untested implementation of OpenAL. I also plan to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently started work on my newest Github project; <a href="http://github.com/Qard/jsgame">JSGame</a>. It&#8217;s a fork of philogb&#8217;s V8-GL which, as you can likely assume by the name; is an implementation of OpenGL using Google Chrome&#8217;s V8 javascript runtime. At the moment, the only difference in JSGame is a mostly untested implementation of OpenAL. I also plan to add networking support and likely SDL. Once the various libraries I plan to implement have had Javascript interfaces made I&#8217;ll begin work on making helper classes for easier access to common actions.</p>
<img src="http://stephenbelanger.com/?ak_action=api_record_view&id=90&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://stephenbelanger.com/2010/03/30/jsgame-game-development-in-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tiled Maps for XNA &#8211; Full support for the Tiled Map XML specification!</title>
		<link>http://stephenbelanger.com/2009/07/14/tiled-maps-for-xna-full-support-for-the-tiled-map-xml-specification/</link>
		<comments>http://stephenbelanger.com/2009/07/14/tiled-maps-for-xna-full-support-for-the-tiled-map-xml-specification/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 16:41:18 +0000</pubDate>
		<dc:creator>Qard</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[2D]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tiled Maps]]></category>
		<category><![CDATA[Xbox 360]]></category>

		<guid isPermaLink="false">http://www.stephenbelanger.com/?p=5</guid>
		<description><![CDATA[So yesterday I came across a very basic loader for Tiled Maps (*.tmx) made with the Tiled Map Editor. It only supported the basics--Tileset loading and Layer rendering--so I took it upon myself to complete the loader by adding support for the rest of the features that were left out.]]></description>
			<content:encoded><![CDATA[<p>So yesterday I came across a <a href="http://www.luminance.org/code/2009/06/17/tiled-map-loader-for-xna">very basic loader for Tiled Maps (*.tmx)</a> made with the <a href="http://mapeditor.org/index.html">Tiled Map Editor</a>. It only supported the basics&#8211;Tileset loading and Layer rendering&#8211;so I took it upon myself to complete the loader by adding support for the rest of the features that were left out;</p>
<p>-added ProhibitDtd = false, so you don&#8217;t need to remove the doctype line after each time you edit the map.<br />
-changed everything to use SortedLists for named referencing&#8211;so much easier<br />
-added objectgroups<br />
-added movable and resizable objects<br />
-added object images<br />
-added meta property support to maps, layers, object groups and objects<br />
-added support for non-binary encoded layer data<br />
-added layer and object group transparency</p>
<p>I created a simple demo to show off some of the features. You should see a partially transparent object with a resized image of Ness (Earthbound) on top of a partially transparent layer of grass with the words &#8220;Tile Maps Rule&#8221; written in rock with a pulsating opacity. Use the arrow keys to move Ness around. All objects and object groups can have their X and Y coordinates set dynamically, so you can do cool stuff like parallax clouds drifting overhead.</p>
<p><a href="http://www.nerdculture.org/wp-content/uploads/2009/07/Tiled1.rar">Download the Tiled Maps Loader</a></p>
<img src="http://stephenbelanger.com/?ak_action=api_record_view&id=5&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://stephenbelanger.com/2009/07/14/tiled-maps-for-xna-full-support-for-the-tiled-map-xml-specification/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

