<?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>Richard Carter</title>
	<atom:link href="http://blog.rickyc.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rickyc.org</link>
	<description>Computer Science &#38; Game Development Student at North Carolina State University</description>
	<lastBuildDate>Thu, 22 Sep 2011 06:58:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Multiple Game Loops</title>
		<link>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/</link>
		<comments>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 06:58:00 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[All the game development books and tutorials teach one game loop. Sometimes they implement some sort of finite state machine, but they pretty much always use one main game loop, with some sort of conditional statements to choose what to draw at what time. But why limit yourself to just one loop? The general format [...]]]></description>
			<content:encoded><![CDATA[<p>All the game development books and tutorials teach one game loop. Sometimes they implement some sort of finite state machine, but they pretty much always use one main game loop, with some sort of conditional statements to choose what to draw at what time.</p>
<p>But why limit yourself to just one loop? The general format of a game loop is pretty simple, so instead of transitioning with booleans or a state machine object, why not transition with the natural flow of the language, by exiting one loop and entering another? This generally cleans up code. Take for example the following example main loop:</p>
<p><pre><pre>while(!userQuit) {
&nbsp;&nbsp;&nbsp;&nbsp;clearScreen();
&nbsp;&nbsp;&nbsp;&nbsp;if(stillLoading()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loadingImage.draw();
&nbsp;&nbsp;&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuff.draw();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gui.draw();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// etc.
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;presentScreen();
}</pre></pre></p>
<p>That&#8217;s just a simple example, and that conditional could potentially have more branches for transitions between levels, a pause menu, etc. But why not, for discrete states, do the following?</p>
<p><pre><pre>while(stillLoading()) {
&nbsp;&nbsp;&nbsp;&nbsp;clearScreen();
&nbsp;&nbsp;&nbsp;&nbsp;loadingImage.draw();
&nbsp;&nbsp;&nbsp;&nbsp;presentScreen();
}
while(!userQuit) {
&nbsp;&nbsp;&nbsp;&nbsp;clearScreen();
&nbsp;&nbsp;&nbsp;&nbsp;stuff.draw();
&nbsp;&nbsp;&nbsp;&nbsp;gui.draw();
&nbsp;&nbsp;&nbsp;&nbsp;// etc.
&nbsp;&nbsp;&nbsp;&nbsp;presentScreen();
}</pre></pre></p>
<p>This is much cleaner and easier to follow.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Downloading Content From Mediasite</title>
		<link>http://blog.rickyc.org/2011/07/07/downloading-content-from-mediasite/</link>
		<comments>http://blog.rickyc.org/2011/07/07/downloading-content-from-mediasite/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 02:21:07 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.rickyc.org/?p=154</guid>
		<description><![CDATA[If your professor disabled the ability to download the lectures, here&#8217;s the way to get around it. First, here&#8217;s the snippet you will need; then read below it for instructions. javascript:__doPostBack(&#039;__Page&#039;,&#039;DownloadPresentation:1299fb37-f10a-31be-97fe-0224842e6cdd&#039;) On the lectures list, hover over the link to the lecture you want and copy the peid from the URL. Put it after &#8220;DownloadPresentation&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>If your professor disabled the ability to download the lectures, here&#8217;s the way to get around it. First, here&#8217;s the snippet you will need; then read below it for instructions.</p>
<p><code>javascript:__doPostBack(&#039;__Page&#039;,&#039;DownloadPresentation:1299fb37-f10a-31be-97fe-0224842e6cdd&#039;)</code></p>
<p>On the lectures list, hover over the link to the lecture you want and copy the peid from the URL. Put it after &#8220;DownloadPresentation&#8221; in the above JavaScript snippet, and add dashes exactly where that peid has them &#8211; you should have an extra &#8220;1d&#8221; on the end which you should just delete. Then run that javascript on the lecture list, and the download dialog will pop up.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/07/07/downloading-content-from-mediasite/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows Event ID 50034 and 50068 repeatedly displayed</title>
		<link>http://blog.rickyc.org/2011/05/10/event-id-50034-50068/</link>
		<comments>http://blog.rickyc.org/2011/05/10/event-id-50034-50068/#comments</comments>
		<pubDate>Wed, 11 May 2011 03:51:58 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.rickyc.org/?p=151</guid>
		<description><![CDATA[Are you getting events in the event viewer every few seconds? Event IDs 50034 and 50068? The text of event 50034 is &#8220;An error has occurred in initializing the adapter 15. Error Code is 0&#215;1392&#8243; (perhaps a different adapter number), and event 50068 is &#8220;Address 192.168.1.100 being plumbed for adapter 15 already exists&#8221; (with a [...]]]></description>
			<content:encoded><![CDATA[<p>Are you getting events in the event viewer every few seconds? Event IDs 50034 and 50068? The text of event 50034 is &#8220;An error has occurred in initializing the adapter 15. Error Code is 0&#215;1392&#8243; (perhaps a different adapter number), and event 50068 is &#8220;Address 192.168.1.100 being plumbed for adapter 15 already exists&#8221; (with a different address and/or adapter number). Here&#8217;s the solution:</p>
<p>First check if one of your adapters has a static IP address that you assigned it.</p>
<p>If not, then just <strong>disable one of the adapters</strong>. Suddenly the other one will be connected no problem. The reason is simply that one of the adapters was previously assigned address 192.168.1.100 (or whatever your error is saying), and even though that adapter is disconnected, it is still conflicting with your new adapter trying to become 192.168.1.100. The DHCP-client service won&#8217;t assign two adapters the same address, so it keeps renewing attempting to get a new IP, but the DHCP server (your router) keeps assigning it the same conflicting address.</p>
<p>It&#8217;s safe to leave the adapter disabled, but if you don&#8217;t like the idea of having one of your adapters disabled even when it&#8217;s unplugged, then re-enable it and plug it in to something which assigns the adapter (via DHCP) a new address. Then Windows will allow your other adapter to take the address it has been trying to get all along.</p>
<p>I saw this in my own laptop. It has an ethernet adapter (Local Area Connection) and wireless adapter. The ethernet was unplugged and I was trying to connect to my wireless network, but the wireless network kept connecting and disconnecting repeatedly. The solution was to disable my local area connection adapter. Then suddenly the wireless one was connected! The underlying problem was some <strong>static DHCP</strong> settings I had set in the past.</p>
<p>Also, if you&#8217;re reading this and it fixed your problem, you probably also enabled static DHCP like I did. If so, make sure to assign a different IP to each of your adapters even to the same computer; i.e. assign 192.168.1.100 to the ethernet adapter and 192.168.1.101 to the wireless adapter. Even if they will never both be connected at the same time, this and other problems can arise by them being set to the same DHCP address.</p>
<p>Hope this helped you. Feel free to add any other information in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/05/10/event-id-50034-50068/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MIDI Lag</title>
		<link>http://blog.rickyc.org/2011/02/13/midi-lag/</link>
		<comments>http://blog.rickyc.org/2011/02/13/midi-lag/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 06:34:00 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[I got a keyboard (piano) and USB-midi module for it for Christmas a few years ago from my dad and step-mom. I played around with it quite a bit but there was always a huge lag of about 1 second, so it was really tough to do anything good with it. I just dusted the [...]]]></description>
			<content:encoded><![CDATA[<p>I got a keyboard (piano) and USB-midi module for it for Christmas a few years ago from my dad and step-mom. I played around with it quite a bit but there was always a huge lag of about 1 second, so it was really tough to do anything good with it.</p>
<p>I just dusted the piano off and plugged the USB thing into my MacBook Pro and then opened up GarageBand. I was surprised to find there is zero lag.</p>
<p>I always assumed the lag was because of the USB interface causing a delay or something. But nope; it was Windows&#8217;s fault. I tried all sorts of settings, even tried it across different versions of Windows, and different programs. Everything in Windows had a delay, I was so CERTAIN that it was the USB module! But just now I literally muted my piano&#8217;s output and played the piano with the sound coming out of my MBP&#8217;s speakers. There was no delay at all. That&#8217;s incredible.</p>
<p>And of course it was as easy as plugging in the USB cord and opening GarageBand. Nothing to install or set up, it just worked. Hooray!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://blog.rickyc.org/2011/02/06/this-is-the-safety-warning-notice-that-came-with/</link>
		<comments>http://blog.rickyc.org/2011/02/06/this-is-the-safety-warning-notice-that-came-with/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 19:33:36 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[This is the safety warning notice that came with my Cr-48. I love the sense of humor.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.tumblr.com/photo/1280/3148738177/1/tumblr_lg7no2Glsl1qz50rh' width='1620' height='2104' /></p>
<p>This is the safety warning notice that came with my Cr-48. I love the sense of humor. <img src='http://rickyc.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Problems</title>
		<link>http://blog.rickyc.org/2011/02/06/firefox-problems/</link>
		<comments>http://blog.rickyc.org/2011/02/06/firefox-problems/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 18:53:02 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Here is an account of my latest browser switches, for documentation purposes. In Safari I read a news item about a Firefox update, to 4 beta 10. The changelog listed some improvements which matched the reasons I moved away from Firefox: &#8220;Compatibility and stability improvements when using Adobe Flash on Mac OS X&#8221; and &#8220;Improvements [...]]]></description>
			<content:encoded><![CDATA[<p>Here is an account of my latest browser switches, for documentation purposes.</p>
<p>In Safari I read a news item about a Firefox update, to 4 beta 10. The changelog listed some improvements which matched the reasons I moved away from Firefox: &#8220;Compatibility and stability improvements when using Adobe Flash on Mac OS X&#8221; and &#8220;Improvements in memory usage&#8221;. So I decided to give it another try. It&#8217;s really awesome! I think I feel most at-home in Firefox (at least on Mac; in Windows I clearly prefer Chrome and have finished juggling browsers).</p>
<p>But for a while now I&#8217;ve noticed that it develops a weird stutter. Like every few seconds, it will freeze for about one second; it&#8217;s not so noticeable when browsing, but when a YouTube video keeps freezing in place, well, it bugged me.</p>
<p>I got out a watch and found that it happened every 10 seconds. How convenient! There is a HUGE difference between doing a Google search for &#8220;firefox stutters periodically&#8221; and &#8220;firefox &#8220;every 10 seconds&#8221;&#8220;; the latter search returns every instance where someone has complained about Firefox doing something every 10 seconds, and I don&#8217;t imagine what else it might be other than freezing.</p>
<p>So I found some old articles. Apparently Firefox used to freeze every 10 seconds due to saving the tab session, which is the feature that will reload your tabs if the browser crashes or if you close and reopen it. There was a config option to change that, but it already defaulted to 15 seconds, so I didn&#8217;t think that was it. Nevertheless, I changed it to 300 seconds (5 minutes) and restarted Firefox. Soon after, the every-10-second stutter was back.</p>
<p>I couldn&#8217;t find anything recent or specifically relating to OS X. I then ran around my add-ons, looking for preferences set to do something every 10 seconds, but there were none. I never actually took the time to try and disable each add-on to find a specific one that might be causing this problem, mainly because I don&#8217;t think I want to sacrifice any of my add-ons. I don&#8217;t have any extras as it is; they&#8217;re trimmed down to only the essentials that I use all the time.</p>
<p>So I&#8217;m back in Chrome now, because Firefox in my Mac OS X was stuttering every 10 seconds in YouTube videos and typing and pretty much everything.</p>
<p>Chrome seems to be the browser of choice for many developers nowadays anyway. It used to be the too-lightweight browser without extensions, but now it&#8217;s a very full-featured browser which directly competes with Firefox and in many cases is still lighter-weight in a good way.</p>
<p>Plus, it integrates with my Google account for syncing and such. When I first got my Cr-48, I turned it on and logged in with my Gmail username and password. Immediately, it pulled down my theme, extensions, preferences, and so on from my Google account. The whole browser (therefore the whole computer) was all set up, just because I&#8217;d already set up my desktop copy of Chrome and it synchronized everything with my account.</p>
<p>So I&#8217;m now in Google Chrome. I don&#8217;t remember what made me change from it last time, but hopefully if I find it again, it will either have been fixed or I will remember to write it here so I can move forward instead of continuing to go in circles.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Cr-48</title>
		<link>http://blog.rickyc.org/2011/02/03/google-cr-48/</link>
		<comments>http://blog.rickyc.org/2011/02/03/google-cr-48/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 14:42:03 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[A Google Cr-48 arrived on my doorstep Monday! I&#8217;ve been using it nonstop since then. I&#8217;m still giving it thought but I&#8217;ll post a blog entry detailing it soon. Suffice to say I love it though!]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.google.com/chromeos/pilot-program-cr48.html" target="_blank">Google Cr-48</a> arrived on my doorstep Monday! I&#8217;ve been using it nonstop since then. I&#8217;m still giving it thought but I&#8217;ll post a blog entry detailing it soon. Suffice to say I love it though!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Studying Old Games</title>
		<link>http://blog.rickyc.org/2011/02/03/studying-old-games/</link>
		<comments>http://blog.rickyc.org/2011/02/03/studying-old-games/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 14:38:37 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[I had a thought yesterday as I was heading to my &#8220;Intro to Film&#8221; class. In that class, we watch a few recent movies, but most of the movies and clips we watch are black and white films from decades ago. We study those because the effects are more simple and rough, not as smooth/hidden/perfect [...]]]></description>
			<content:encoded><![CDATA[<p>I had a thought yesterday as I was heading to my &#8220;Intro to Film&#8221; class. In that class, we watch a few recent movies, but most of the movies and clips we watch are black and white films from decades ago. We study those because the effects are more simple and rough, not as smooth/hidden/perfect as modern-day films. Also the technology was more limited, so for example the movie we watched last night didn&#8217;t have zoom because it wasn&#8217;t invented yet (the camera had to dolly forward to &#8220;zoom&#8221; which isn&#8217;t quite the same). There also, obviously, wasn&#8217;t CGI, so any editing was done by hand.</p>
<p>Anyway I got to thinking, what if the same applies to computer games? We game developers constantly play modern games which are massive and complex and made by huge teams of people, but maybe it would be good for us to go back and seriously spend some time in the older, simpler games &#8212; the games which were created with older technology by fewer people with smaller budgets. Maybe those would be more realistic for me to play and try to imitate, rather than attempting a huge game which is way out of my league and failing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From Chrome and Firefox to Safari</title>
		<link>http://blog.rickyc.org/2011/01/13/from-chrome-and-firefox-to-safari/</link>
		<comments>http://blog.rickyc.org/2011/01/13/from-chrome-and-firefox-to-safari/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 06:15:20 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[I often switch back and forth between Google Chrome and Mozilla Firefox. I can&#8217;t make up my mind! Chrome seems fast, even noticeably so right after switching from Firefox. But then I get annoyed by some little &#8220;niggle&#8221; of Chrome and end up running back to Firefox. Later Firefox starts being more unstable and it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I often switch back and forth between Google Chrome and Mozilla Firefox. I can&#8217;t make up my mind! Chrome seems fast, even noticeably so right after switching from Firefox. But then I get annoyed by some little &#8220;niggle&#8221; of Chrome and end up running back to Firefox. Later Firefox starts being more unstable and it&#8217;s back to Chrome.</p>
<p>Well now I&#8217;ve decided to give Safari a good try, since I never actually gave it a wholehearted try. I&#8217;m so used to automatically shunning Internet Explorer that I equally shunned Safari as soon as I got my MacBook Pro.</p>
<p>It&#8217;s awesome that Adblock Plus is a Safari extension too, and works just as well as the Firefox version. I probably wouldn&#8217;t even consider using Safari without it. I can&#8217;t stand ads! Also Lastpass of course works in Safari and it seems to work just as well as Firefox, too! Xmarks worked well too, syncing my few bookmarks (mainly just the bookmark bar).</p>
<p>Other than developer extensions, the only other extension in my Firefox is Flashblock, but I&#8217;m hoping I won&#8217;t need that in Safari. I&#8217;ll see for sure, but my hopes are that the Flash plugin works well in Safari, in contrast to the many times it has slowed or frozen Firefox and Chrome (or even crashed, pretty frequently).</p>
<p>Only time will tell if I stay with Safari!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game Development Stack Exchange</title>
		<link>http://blog.rickyc.org/2011/01/11/game-development-stack-exchange/</link>
		<comments>http://blog.rickyc.org/2011/01/11/game-development-stack-exchange/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 19:40:46 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Wow, did I actually write all of this? And is it really 19 points higher than the second best answer? I hardly remember this time period, when the website was just starting with very few active members and I was obsessively answering questions and climbing towards the #1 spot on the site. I did reach [...]]]></description>
			<content:encoded><![CDATA[<p>Wow, did I actually write <a title="you just pointed to all of me!" target="_blank" href="http://gamedev.stackexchange.com/questions/3426/why-are-mvc-tdd-not-employed-more-in-game-architecture/3427#3427">all of this</a>? And is it really 19 points higher than the second best answer? I hardly remember this time period, when the website was just starting with very few active members and I was obsessively answering questions and climbing towards the #1 spot on the site.</p>
<p>I did reach #1, and stayed there for quite some time (a month or two?), but by then I had lost interest. Or to phrase it better, other people started being active on the website and I felt like my job was being done for me. Where before I felt a responsibility to answer questions because they might not otherwise get answered, now other people smarter than me were posting great answers and I had little to add. So I pretty much left and focused on school work and other stuff.</p>
<p>Now I&#8217;m wondering if I should hop back on the site, at least to observe and read all the great game development knowledge that&#8217;s going around, and maybe answer a question here or there.</p>
<p>(by the way, <a target="_blank" href="http://gamedev.stackexchange.com/users">I&#8217;m currently #3</a>, my username is <a title="not &quot;rickets&quot;, that's a disease" target="_blank" href="http://gamedev.stackexchange.com/users/189/ricket">Ricket</a>)</p>
<p>I&#8217;m nervous about my future as a game developer. It sounds like it can be a tough field to break into, and I&#8217;m a little worried that I will just end up as some other type of developer and just making games on the side. Is that such a bad thing? No, of course not. I&#8217;m not really worried if that&#8217;s where I end up. I just need to be ready for defeat when I apply to the various game companies around here. The likelihood of them hiring me is very low despite how skilled I may think I am.</p>
<p>And of course, as with any job, I need proof that I&#8217;m a good game programmer. I don&#8217;t have that proof yet (because I&#8217;m not a good game programmer yet).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rickyc.org/2011/09/22/multiple-game-loops-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

