<?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>The Portfolio Website of Aaron Cook</title>
	<atom:link href="https://www.quantumrarity.com/feed" rel="self" type="application/rss+xml" />
	<link>https://www.quantumrarity.com</link>
	<description>Quantum Rarity - The Portfoilo Website of Aaron Cook</description>
	<lastBuildDate>Tue, 07 Dec 2021 11:41:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.4</generator>
	<item>
		<title>Using Karnaugh Maps to Simplify Code</title>
		<link>https://www.quantumrarity.com/archives/255</link>
					<comments>https://www.quantumrarity.com/archives/255#comments</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Sat, 20 Nov 2021 21:17:21 +0000</pubDate>
				<category><![CDATA[Guides]]></category>
		<category><![CDATA[Boolean Logic]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Karnaugh Maps]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=255</guid>

					<description><![CDATA[When writing code, Boolean logic is used in just about everything. Sometimes, Boolean conditions, like If Statements, can get overly complicated. This is especially troublesome when working with someone else’s code. Using Karnaugh Maps is a great way to simplify and debug these statements. Karnaugh maps are essentially another form of a truth table. They [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="kmapexample">When writing code, Boolean logic is used in just about everything. Sometimes, Boolean conditions, like If Statements, can get overly complicated.  This is especially troublesome when working with someone else’s code. Using Karnaugh Maps is a great way to simplify and debug these statements.<br />
Karnaugh maps are essentially another form of a <a href="http://www.rwc.uc.edu/koehler/comath/21.html" target="_blank" rel="noopener noreferrer">truth table</a>. They are especially helpful when simplifying large Boolean expressions, but in this example I’ll keep things simple. Suppose there is an expression in your code that you want to simplify, shown below.</p>
<pre>if(functionA() = true AND functionB()=true){
	Print=”Success”;
}else if(functionA() = true AND functionB()=false){
	Print “Success”;
}
</pre>
<p>The first step is to convert this code into Boolean algebra. Let functionA() be denoted as A and functionB() as B.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-263 rounded" title="KMAPT1" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT1.jpg" alt="" width="305" height="74" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT1.jpg 305w, https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT1-300x72.jpg 300w" sizes="(max-width: 305px) 100vw, 305px" /></p>
<p>At this point, it should be obvious how to simplify this expression using other methods. But we’re interested in Karnaugh Maps. The first step in setting up the Karnaugh Map is setting up the table. Create a table, as shown. Each cell of the table represents the result of a product pair. For example, the first cell in the table is AB.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-260 rounded" title="KMAP1" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP1.jpg" alt="" width="305" height="241" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP1.jpg 305w, https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP1-300x237.jpg 300w" sizes="(max-width: 305px) 100vw, 305px" /></p>
<p>Now, place the results of the product pairs in the table for our expression AB + AB’. From this expression we know that AB is true and AB’ is true. Denote true as 1 and false as 0.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-261 rounded" title="KMAP2" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP2.jpg" alt="" width="305" height="241" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP2.jpg 305w, https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP2-300x237.jpg 300w" sizes="(max-width: 305px) 100vw, 305px" /></p>
<p>Take note of adjacent cells that are true and circle them.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-262 rounded" title="KMAP3" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP3.jpg" alt="" width="305" height="241" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP3.jpg 305w, https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAP3-300x237.jpg 300w" sizes="(max-width: 305px) 100vw, 305px" /></p>
<p>Next we gather all the circled variables and write them down</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-264 rounded" title="KMAPT2" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT2.jpg" alt="" width="305" height="74" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT2.jpg 305w, https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT2-300x72.jpg 300w" sizes="(max-width: 305px) 100vw, 305px" /></p>
<p>Remove duplicates from the list: we have two As, we simply combine them as one variable. We also must remove opposites. B and B’ (“B and not B”) are opposites. Remove them from the list as well. This leaves us with A, which cannot be reduced any further and is the simplified version of AB + AB’.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-265 rounded" title="KMAPT3" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT3.jpg" alt="" width="305" height="150" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT3.jpg 305w, https://www.quantumrarity.com/wp-content/uploads/2010/03/KMAPT3-300x147.jpg 300w" sizes="(max-width: 305px) 100vw, 305px" /></p>
<p>Now that we have our simplified expression, we can convert it back into code. Our new cleaned up code becomes:</p>
<pre>If (functionA() = true){
	Print (“Success”);
}
</pre>
<p>This was an extremely simple example of how Karnaugh Maps can be used to simplify code. They’re even more useful when dealing with more complex Boolean expressions. For further reading, I suggest the following:</p>
<ul>
<li><a href="http://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Logic/Logic3.html" target="_blank" rel="noopener noreferrer">Digital Logic &#8211; Karnaugh Maps</a></li>
<li><a href="http://en.wikipedia.org/wiki/Karnaugh_map" target="_blank" rel="noopener noreferrer">Wikipedia: Karnaugh Map</a></li>
<li><a href="http://k-map.sourceforge.net/" target="_blank" rel="noopener noreferrer">Karnaugh Map Minimizer</a> &#8211; A great program to help simplify Karnaugh Maps</li>
</ul>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/255/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>The Creation of DM-Parthenon Demo Reel</title>
		<link>https://www.quantumrarity.com/archives/313</link>
					<comments>https://www.quantumrarity.com/archives/313#respond</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Wed, 19 Mar 2014 09:28:54 +0000</pubDate>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Indie Game Development]]></category>
		<category><![CDATA[Level Design]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[Parthenon]]></category>
		<category><![CDATA[Unreal Tournament 3]]></category>
		<category><![CDATA[UT3]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=313</guid>

					<description><![CDATA[The pinnacle of Greek architecture &#8211; the Parthenon, was constructed over two thousand years ago in Athens, Greece. It was a temple of their guardian goddess Athena, a treasury, and the center of their society. Over the course of history, it was also a battlefield and was nearly destroyed completely numerous times. In the distant [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" class="size-medium wp-image-135 alignright" title="TheParthenon" src="http://www.quantumrarity.com/wp-content/uploads/2010/02/parthenontest-300x150.jpg" alt="The Greek parthenon" width="210" height="105" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/02/parthenontest-300x150.jpg 300w, https://www.quantumrarity.com/wp-content/uploads/2010/02/parthenontest.jpg 360w" sizes="(max-width: 210px) 100vw, 210px" /></p>
<p>The pinnacle of Greek architecture &#8211; the Parthenon, was constructed over two thousand years ago in Athens, Greece. It was a temple of their guardian goddess Athena, a treasury, and the center of their society. Over the course of history, it was also a battlefield and was nearly destroyed completely numerous times.  In the distant future, havoc will once again return to this proven battleground, during The Unreal Tournament.</p>
<p>With utmost respect to detail, I meticulously recreated this Greek masterpiece.  The Parthenon’s layout was perfect for a deathmatch, which came as no surprise due to its history. The map is an exact scale reproduction of the original, and even contains recreations of the some of its sculptures. Each one of the Parthenon’s 65 pillars rests exactly where it would be, as if you stood there in person.  Historical accuracy is interesting, but some inaccuracies were inevitable, in order to make the level more fun to play. I discuss these design choices, and show off the map in my latest demo reel.</p>
<p>The demo reel can be watched via Youtube, <a class="fancybox iframe" onclick="javascript: pageTracker._trackPageview('/archives/313#player')" href="http://www.youtube.com/embed/_TErM4MDNc8?autoplay=1">via YouTube</a>. A higher quality, full HD version is also <a title="Download the 720p version of Demo Reel" onclick="javascript: pageTracker._trackPageview('/demoreels/AaronCook_ParthenonDemoReel.avi')" href="/demoreels/AaronCook_ParthenonDemoReel.avi">available</a> (recommended) and of course the map is available for <a title="Download the map for UT3" onclick="javascript: pageTracker._trackPageview('/Maps/DM-Parthenon.zip')" href="/Maps/DM-Parthenon.zip">download</a> and play for the PC version Unreal Tournament 3.</p>
<div class="downloads">
<h1>Check it out via&#8230;</h1>
<p><a class="fancybox iframe" onclick="javascript: pageTracker._trackPageview('/archives/313#player')" href="http://www.youtube.com/embed/_TErM4MDNc8?autoplay=1"><img title="The Creation of DM-Parthenon Demo Reel via Youtube" src="/wp-content/themes/zinfolio-theme/images/Youtube_icon.jpg" alt="" /></a><a title="Download the 720p version of Demo Reel" onclick="javascript: pageTracker._trackPageview('/demoreels/AaronCook_ParthenonDemoReel.avi')" href="/demoreels/AaronCook_ParthenonDemoReel.avi"><img src="/wp-content/themes/zinfolio-theme/images/AVI_icon.jpg" alt="" /></a><a title="Download the map for UT3" onclick="javascript: pageTracker._trackPageview('/Maps/DM-Parthenon.zip')" href="/Maps/DM-Parthenon.zip"><img src="/wp-content/themes/zinfolio-theme/images/UT3_icon.jpg" alt="" /></a></p>
</div>
<p><strong>Created using:</strong></p>
<ul>
<li>UnrealEd</li>
<li>Adobe Photoshop</li>
<li>3ds Max 2009</li>
<li>Zbrush 3</li>
<li>Bodypaint 3d</li>
<li>Adobe Audition</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/313/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Borderlands and Difficulty Scaling</title>
		<link>https://www.quantumrarity.com/archives/202</link>
					<comments>https://www.quantumrarity.com/archives/202#respond</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Wed, 19 Mar 2014 01:24:27 +0000</pubDate>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Borderlands]]></category>
		<category><![CDATA[First Person Shooter]]></category>
		<category><![CDATA[UT3]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=202</guid>

					<description><![CDATA[It was a no-brainer that combining hack ‘n slash RPG elements with the First Person Shooter genre would make for a great game. But even for a loot whore like myself, I wasn’t prepared for how great of a game Borderlands would be. It has everything – great visuals, an awesome soundtrack, plenty of items, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" class="alignright size-full wp-image-207" title="borderlands_thumbnail2" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/borderlands_thumbnail2.jpg" alt="" width="250" height="156" />It was a no-brainer that combining hack ‘n slash RPG elements with the First Person Shooter genre would make for a great game. But even for a <a href="http://www.urbandictionary.com/define.php?term=loot+whore">loot whore</a> like myself, I wasn’t prepared for how great of a game Borderlands would be. It has everything – great visuals, an awesome soundtrack, plenty of items, and 4 player co-op. But the unsung hero of this game is its scaling – at the end of the day, this is what keeps you coming back for more.</p>
<p>Gearbox Software nailed it. I’ll be the first to say it: no other RPG or MMO has ever scaled from level to level as well as Borderlands does. From level 1 to level 50, Borderlands throws perfectly balanced enemies at the player. And when that’s done, get ready for play through #2, because increases in difficultly seamlessly and is just as fun the 2nd time around.</p>
<p>While playing through Borderlands, especially during the main quest, every battle is just as entertaining as the last, because Gearbox tweaked the level system to perfection. You never find yourself in an unbalanced fight. Then when another player joins, the enemies are scaled to a more difficult level flawlessly. The game is always challenging, from start to finish, but never too hard or too easy. Other great RPGs, like Diablo II couldn&#8217;t even balance itself this well.</p>
<p>From a game developer’s standpoint, this is one of the hardest things to do. It is extremely difficult to gauge how difficult an enemy should be for a player at a certain time. Then when you add multiple players to mix, it becomes even harder to balance game difficulty. But Gearbox did it, and they did it well. The level system is very sensitive, and each level counts. When a player walks into an area against enemies their level, or a level higher, they know they’re in the right place. With the exception of side quests, which can be too easy if not done right away, the player always seems to be the right level at the right time.</p>
<p>In retrospect, there weren’t many battles in the game stood out. Instead, every fight was a ton of fun throughout the entire game, thanks to Gearbox’s perfect balancing through scaling. This game scales so well, that the player can start a 2nd play through, at the same level they previously completed the game at, and still expect to have just as much fun the 2nd time around. This level of replayability is unheard of in both RPG and FPS genres, and certainly has set the standard for games to come.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/202/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Books that will make you a better Game Developer</title>
		<link>https://www.quantumrarity.com/archives/444</link>
					<comments>https://www.quantumrarity.com/archives/444#respond</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Tue, 18 Mar 2014 08:37:02 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[game developer books]]></category>
		<category><![CDATA[game development books]]></category>
		<category><![CDATA[programming books]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=444</guid>

					<description><![CDATA[#5 Masters of Doom While not a technical book, there’s a lot to learn from Masters of Doom – a book that follows the early history of iD Software and its founders. Its interesting reading about John Carmack and John Romero and how their brilliance helped transformed the game industry into what it is today. [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="mapholder">
<p><a class="fancybox" href="http://www.quantumrarity.com/wp-content/uploads/2014/03/mastersofdoom.jpg" title="Masters of Doom"><br />
<img loading="lazy" class="size-thumbnail wp-image-221 alignright" alt="" src="http://www.quantumrarity.com/wp-content/uploads/2014/03/mastersofdoom.jpg" title="Masters of Doom" width="150" height="150"><br />
</a></p>
<h1><a href="http://amzn.com/0812972155">#5 Masters of Doom</a></h1>
<p>While not a technical book, there’s a lot to learn from Masters of Doom – a book that follows the early history of iD Software and its founders. Its interesting reading about John Carmack and John Romero and how their brilliance helped transformed the game industry into what it is today. It’s also quite entertaining reading about parts of the industry that haven’t changed, like bad eating habits, immature jokes and unavoidable “crunch time”. Since it&#8217;s a book about two of the most successful game developers in the industry, it&#8217;s a great motivational book as well.</p>
</div>
<div class="mapholder">
<p><a class="fancybox" href="http://www.quantumrarity.com/wp-content/uploads/2014/03/artofcomputerprogramming.jpg" title="The Art of Computer Programming: Volume 1"><br />
<img loading="lazy" class="alignleft size-thumbnail wp-image-212" alt="" src="http://www.quantumrarity.com/wp-content/uploads/2014/03/artofcomputerprogramming.jpg" title="The Art of Computer Programming: Volume 1" width="150" height="150"><br />
</a></p>
<h1><a href="http://amzn.com/0201896834">#4 The Art of Computer Programming: Volume 1</a></h1>
<p>I feel as if Algorithms are often overlooked in the Game Industry. Game developers tend to know what operations are slow and how to write efficiently – but few can prove why one algorithm is faster than another. Knuth’s book is the cornerstone of most Computer Science programs and it does an excellent job teaching Algorithm analysis. Some of the reading is very difficult, especially by the end of the book, but the early chapters are priceless.</p>
</div>
<div class="mapholder">
<p><a class="fancybox" href="http://www.quantumrarity.com/wp-content/uploads/2014/03/datastructuresandalgorithms.jpg" title="Data Structures and Algorithms for Game Developers"><br />
<img loading="lazy" class="size-thumbnail wp-image-221 alignright" alt="" src="http://www.quantumrarity.com/wp-content/uploads/2014/03/datastructuresandalgorithms.jpg" title="Data Structures and Algorithms for Game Developers" width="150" height="150"><br />
</a></p>
<h1><a href="http://amzn.com/B00B7REALK">#3 Data Structures and Algorithms for Game Developers</a></h1>
<p>If you were to take Knuth’s The Art of Computer Programming and tailor it specifically for game developers, then you would have Data Structures and Algorithms for Game Developers. Allen Sherrod focuses on data structures and algorithms that game developers use often.  From front to back, the book is easy to understand and the code examples are in C++, which gives this book an advantage over Knuth’s.</p>
</div>
<div class="mapholder">
<p><a class="fancybox" href="http://www.quantumrarity.com/wp-content/uploads/2014/03/exceptionalcpp.jpg" title="Exceptional C++"><br />
<img loading="lazy" class="alignleft size-thumbnail wp-image-212" alt="" src="http://www.quantumrarity.com/wp-content/uploads/2014/03/exceptionalcpp.jpg" title="Exceptional C++" width="150" height="150"><br />
</a></p>
<h1><a href="http://amzn.com/0201615622">#2 Exceptional C++</a></h1>
<p>This is an interesting book because it’s written in a very unique way. Each topic is presented as a code example that has an issue, followed by a solution to that issue. You read the book as if you were debugging the code in it. Each topic is a puzzle that needs to be solved. This approach improves your debugging skills, while teaching you some of the nuances of the C++ language. Considering debugging is large part of any game developers life, this book can have a huge impact on your productivity</p>
</div>
<div class="mapholder">
<p><a class="fancybox" href="http://www.quantumrarity.com/wp-content/uploads/2014/03/effectivecpp.jpg" title="Effective C++"><br />
<img loading="lazy" class="size-thumbnail wp-image-221 alignright" alt="" src="http://www.quantumrarity.com/wp-content/uploads/2014/03/effectivecpp.jpg" title="Effective C++" width="150" height="150"><br />
</a></p>
<h1><a href="http://amzn.com/0321334876">#1 Effective C++</a></h1>
<p>I can’t recommend a book more highly than Effective C++. Its a must read for any C++ programmer and it will change you as a game developer. The book covers many of the tricky aspects of the C++ specification and leaves you with a much better understanding of the compiler. The book is definitely not an entry level C++ textbook, it&#8217;s geared for programmers already familiar with and able to write C++. It covers a lot of obscure topics, like Unspecified vs Undefined behavior, Translation units and RAII.  Although the topics covered are advanced, the book is very easy read and straight to the point. This book does a great job teaching you to write cleaner, faster, safer C++ code and there&#8217;s no other book like it. It&#8217;s a must read for anyone who takes C++ seriously.</p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/444/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Creating a Scalable Matchmaking Service</title>
		<link>https://www.quantumrarity.com/archives/411</link>
					<comments>https://www.quantumrarity.com/archives/411#respond</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Tue, 18 Mar 2014 06:19:17 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Main]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=411</guid>

					<description><![CDATA[In this tutorial we will use Google App Engine, the Datastore, Memcache and Cloud Endpoints to create a scalable Matchmaking service to be used with multiplayer video games. The service is written in Java and the full source code is available here on Github. Overview A matchmaking service is responsible for pairing players with one [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this tutorial we will use Google App Engine, the Datastore, Memcache and Cloud Endpoints to create a scalable Matchmaking service to be used with multiplayer video games. The service is written in Java and the full source code is available <a href="https://github.com/monstercoo/MatchmakingService">here on Github</a>.</p>
<p><b>Overview</b></p>
<p>A matchmaking service is responsible for pairing players with one another when they want to play your game online. When a player’s game client connects to the service, the service finds all available matches that aren’t full and connects them to the match. The matchmaking service we design in this tutorial can be used in either a peer-to-peer or a client server model.<br />
Online matches can’t happen if your matchmaking service is down, so designing your service for scalability and reliability is very important. We’ll discuss some of the basic philosophies used when designing your service and discuss why some of the technologies used in this tutorial were chosen.</p>
<p><b>Why Google App Engine?</b></p>
<p>A lot of factors need to be considered when determining the infrastructure for your matchmaking service. It’s a critical part of your multiplayer game – if it fails, players won’t be able to play your game. Since reliability is likely your top priority, you know you’ll likely be using a scalable cloud solution.  The cloud provider you choose will likely be based on whether you need an <a href="http://en.wikipedia.org/wiki/Infrastructure_as_a_service#Infrastructure_as_a_service_.28IaaS.29">IaaS</a> or a <a href="http://en.wikipedia.org/wiki/Platform_as_a_service">PaaS</a> cloud model.</p>
<p>For your matchmaking service, a PaaS approach makes a lot of sense. As a PaaS, this is where Google App Engine comes in. GAE lets you deploy your service rapidly and with minimal maintenance required afterwards. There’s no need for database administration, monitoring instances, or updating server software for years after release. During development, this also lets you focus on your matchmaking code instead of strategies for maintaining it.</p>
<p>GAE works for a matchmaking service because it’s very simple and has low requirements. If pricing is an issue, latency is a major factor (every millisecond counts), or your clients need to use UDP, then GAE might not be for you.</p>
<p><b>Cloud Endpoints</b></p>
<p>Another benefit from using GAE is that Google provides some very useful tools to aid in developing your services. Cloud Endpoints is one of them. Cloud Endpoints aids in creating an API for your service. In this example, we generate the API for our game clients to interface with using Cloud Endpoints.<br />
Cloud Endpoints speeds up API development greatly. It also provides some pretty nifty tools for debugging and generating documentation for your API.</p>
<p><b>The Data</b></p>
<p>Typically, a matchmaking service doesn’t need a complex database to drive it. I like to keep things simple, so that I can take advantage of the speed and scalability of a NoSQL solution. GAE’s Datastore is great option for this and that’s what we’ll use in this tutorial. If your project needs a relational db, look into <a href="https://developers.google.com/cloud-sql/">Google’s Cloud SQL</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/411/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Artwork</title>
		<link>https://www.quantumrarity.com/archives/297</link>
					<comments>https://www.quantumrarity.com/archives/297#respond</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Tue, 02 Mar 2010 08:38:03 +0000</pubDate>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[3d Artwork]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Game Art]]></category>
		<category><![CDATA[Game Design]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=297</guid>

					<description><![CDATA[Here&#8217;s a showcase of some of the recent artwork that I have created. I&#8217;ve done a wide variety of graphic design, 2d character design and 3d modeling on both the personal and commercial level. I&#8217;ve done a fair share of 3d texturing work and also 2d animation. Because of the diversity of work that I [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Here&#8217;s a showcase of some of the recent artwork that I have created. I&#8217;ve done a wide variety of graphic design, 2d character design and 3d modeling on both the personal and commercial level. I&#8217;ve done a fair share of 3d texturing work and also 2d animation. Because of the diversity of work that I have done, I am proficient with a wide variety of different software packages. Some of these programs are:</p>
<ul>
<li>Adobe Photoshop</li>
<li>Adobe Illustrator</li>
<li>Adobe After Effects</li>
<li>Autodesk 3ds Max 2009</li>
<li>Pixologic Zbrush 3</li>
<li>Maxon Bodypaint 3d</li>
<li>And I&#8217;m currently learning to use Autodesk Maya</li>
</ul>

<a href='https://www.quantumrarity.com/wp-content/uploads/2010/02/Xplanet.jpg'><img width="150" height="150" src="https://www.quantumrarity.com/wp-content/uploads/2010/02/Xplanet-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" loading="lazy" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/02/Xplanet-150x150.jpg 150w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Xplanet-300x300.jpg 300w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Xplanet-1023x1023.jpg 1023w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Xplanet.jpg 1450w" sizes="(max-width: 150px) 100vw, 150px" /></a>
<a href='https://www.quantumrarity.com/wp-content/uploads/2010/02/Hospitaler.jpg'><img width="150" height="150" src="https://www.quantumrarity.com/wp-content/uploads/2010/02/Hospitaler-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="Hospitaler - The main character for an incomplete game (see Projects). Created using Adobe Illustrator." loading="lazy" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/02/Hospitaler-150x150.jpg 150w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Hospitaler-300x300.jpg 300w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Hospitaler-1024x1024.jpg 1024w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Hospitaler.jpg 1200w" sizes="(max-width: 150px) 100vw, 150px" /></a>
<a href='https://www.quantumrarity.com/wp-content/uploads/2010/02/Japanese_Ghost.jpg'><img width="150" height="150" src="https://www.quantumrarity.com/wp-content/uploads/2010/02/Japanese_Ghost-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" loading="lazy" srcset="https://www.quantumrarity.com/wp-content/uploads/2010/02/Japanese_Ghost-150x150.jpg 150w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Japanese_Ghost-300x300.jpg 300w, https://www.quantumrarity.com/wp-content/uploads/2010/02/Japanese_Ghost.jpg 900w" sizes="(max-width: 150px) 100vw, 150px" /></a>
<a href='https://www.quantumrarity.com/wp-content/uploads/2010/02/gamingmatrix.jpg'><img width="150" height="150" src="https://www.quantumrarity.com/wp-content/uploads/2010/02/gamingmatrix-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" loading="lazy" /></a>
<a href='https://www.quantumrarity.com/wp-content/uploads/2010/02/QuantumRarity_BG1.jpg'><img width="150" height="150" src="https://www.quantumrarity.com/wp-content/uploads/2010/02/QuantumRarity_BG1-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" loading="lazy" /></a>
<a href='https://www.quantumrarity.com/wp-content/uploads/2010/02/Parthenon1.jpg'><img width="150" height="150" src="https://www.quantumrarity.com/wp-content/uploads/2010/02/Parthenon1-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" loading="lazy" /></a>

<div style="display:none; width:640px;height:360px;" id="player"></div>
<p><script type="text/javascript">
flowplayer("player", {src: '/wp-content/plugins/fv-wordpress-flowplayer/flowplayer/flowplayer.swf', wmode: 'opaque'}, {
	plugins: {
		controls: null
                 },                     
		clip:{ url: "/wp-content/uploads/2010/02/ParticleTitle.flv"},
		canvas: {backgroundColor: '#FFFFFF'}
		});
</script> </p>
<div class="galleryhack">
<div class="gallery galleryid-297">
<div class="gallery-item">
<div class="gallery-icon"><a class="fancybox" href="#player" title='Particle Dream - Created using Adobe Photoshop and After Effects. Sound created in Adobe Audition.'><img loading="lazy" width="150" height="150" src="http://www.quantumrarity.com/wp-content/uploads/2010/02/ParticleDream_thumb-150x150.jpg" class="attachment-thumbnail" alt="" title="Particle Dream - Created using Adobe Photoshop and After Effects. Sound created in Adobe Audition." /></a></div>
<p><br style="clear: both" /></div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/297/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Games</title>
		<link>https://www.quantumrarity.com/archives/287</link>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Tue, 02 Mar 2010 08:26:51 +0000</pubDate>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Indie Game Development]]></category>
		<category><![CDATA[Level Design]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Games]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=287</guid>

					<description><![CDATA[Halo: Infinite Microsoft / 343 Industries / Apr 2020 &#8211; Present: There aren’t many more iconic franchises than Halo. It was an honor being able to work on Master Chief’s latest and biggest adventure yet. As a network programmer, game launches can be a nightmare. Game breaking bugs, service outages and other issues can be [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="projects">
<div class="pimage"><img src="/projs/haloinfinite.jpg" alt=""></div>
<div class="pdescription">
<h1>Halo: Infinite</h1>
<p><span class="whitetext">Microsoft / 343 Industries / Apr 2020 &#8211; Present:</span> There aren’t many more iconic franchises than Halo. It was an honor being able to work on Master Chief’s latest and biggest adventure yet. As a network programmer, game launches can be a nightmare. Game breaking bugs, service outages and other issues can be a nightmare to resolve. Halo: Infinite’s launch was the smoothest game launch I have ever been part of. Without a hitch, the game set <a href="”https://www.thegamer.com/halo-infinite-xbox-concurrent-steam-record/”">record numbers</a> and is well on its way to being the most successful game in the series.</p>
<h2>Key Contributions</h2>
<ul>
<li>Network Replay System (aka Theater mode)
<ul>
<li>This feature records network traffic, uploads it to an online service and allows the data to be replayed locally in a theater-like experience. I had full ownership of the system and worked with the UX to implement the user facing UI of the system.</li>
<li>This was an extremely complicated system, tied heavily into almost all of the systems in the engine.</li>
</ul>
</li>
<li>Cloud-based Save Game System
<ul>
<li>This system drives all of the save game features in the game (user settings, campaign progress, etc)</li>
<li>Cross platform system design, with different implementations for different platforms (Xbox, Steam, and Development modes). This allowed higher level code to interface with the system without exposing platform specific code.</li>
</ul>
</li>
<li>Customization
<ul>
<li>Networked the player&#8217;s customizations, so that they are visible to other players in a match.</li>
<li>Helped design the data representation of the player&#8217;s customizations, to be used by designers in-game an in the store for monetization.</li>
<li>Various main menu screens used for displaying customization data</li>
</ul>
</li>
<li>Misc Networking
<ul>
<li>There was a lot of bit counting and packing on this project! The proprietary engine used for the game does not support property replication like Unreal Engine or Unity, so the networking of data was a very manual process.</li>
</ul>
</li>
</ul>
<p><strong>More Info:</strong> <a href="https://www.metacritic.com/game/xbox-series-x/halo-infinite?ref=hp">Metacritic</a>, <a href="https://www.youtube.com/watch?v=d7mLqI2rjas" data-fancybox="">Gameplay</a></p>
</div>
<div class="clear"></div>
<div class="projects">
<div class="pimage"><img src="/projs/gears5.jpg" alt=""></div>
<div class="pdescription">
<h1>Gears of War 5</h1>
<p><span class="whitetext">Microsoft / The Coalition / Jul 2017 &#8211; Apr 2021:</span> As a lifelong fan of Unreal Engine and the Gears of War series, it was an honor to work on Gears 5. This project pushed Unreal Engine 4 to its limits and was one of the best looking and best performing games on the Xbox One.</p>
<h2>Key Contributions</h2>
<ul>
<li>Integrating Online Services
<ul>
<li>Much of my time on this project was spent integrating our in house online services with the game client. This project’s online services used a <a href="https://microservices.io/">microservice</a> approach, which left much of the logic that is typically on the backend to be done on the game client.</li>
</ul>
</li>
<li>Rewards System
<ul>
<li>Rewarding the player for logging in each day and for playing online matches was an important part of the games design. I helped create the data design and client side systems that would drive the interaction with the 5+ microservices involved in giving a player a reward.</li>
</ul>
</li>
<li>Player Progression Statistics
<ul>
<li>This game relied heavily on collecting stats during gameplay. Each players session would collect thousands of data points, ranging from time played to how many headshots have been performed to which items haven been collected. Collecting all these statistics and then uploading them up to our services was challenging, and because the statistics were important to the player, redundancy was a major part of the design.</li>
</ul>
</li>
</ul>
<p><strong>More Info:</strong> <a href="https://www.metacritic.com/game/xbox-one/gears-5">Metacritic</a>, <a href="https://www.youtube.com/watch?v=Oa3RmR92IqU" data-fancybox="">Gameplay</a></p>
</div>
<div class="clear"></div>
<div class="projects">
<div class="pimage"><img src="/projs/gigantic.jpg" alt=""></div>
<div class="pdescription">
<h1>Gigantic</h1>
<p><span class="whitetext">Motiga / Sep 2015 &#8211; Jul 2017:</span> Gigantic was a stylish MOBA game for the Xbox One and PC. The game ran on Unreal Engine 3, which was quickly becoming obsolete in 2015 when I joined the project. Much of my focus on this project was about bringing Unreal Engine 3 to the Xbox One platform (console and PC via Windows Store).</p>
<h2>Key Contributions</h2>
<ul>
<li>New Online Subsystems for Xbox One and PC (Steam via Perfect World&#8217;s Arc platform)
<ul>
<li>New engine APIs for friends, party system, matchmaking, and other platform specific functionality such as startup/suspend/shutdown flows</li>
<li>Collaborated with UX/UI designers to build UI to drive these features</li>
<li>Being one of the first games to feature crossplay between Xbox and PC (Windows Store) required much collaboration with Microsoft.</li>
</ul>
</li>
</ul>
<p><strong>More Info:</strong> <a href="https://www.metacritic.com/game/xbox-one/gigantic">Metacritic</a>, <a href="https://www.youtube.com/watch?v=yWjCgy6vAk0" data-fancybox="">Gameplay</a></p>
</div>
<div class="clear"></div>
<div class="projects">
<div class="pimage"><img src="/projs/deadisland2.jpg" alt=""></div>
<div class="pdescription">
<h1>Dead Island 2</h1>
<p><span class="whitetext">Yager / Jul 2014 &#8211; Aug 2015:</span> Working for Yager on Dead Island 2 in Berlin, Germany was an unforgettable experience. The work culture at this studio was completely different than anything I experienced in America. The studio had a flat hierarchy structure, with no leads. It was a very empowering environment to work in. Developers had a lot of freedom and were able to work independently. That came with some drawbacks, and possibly had much to do with the tumultuous development of Dead Island 2. Being one of the first Unreal Engine 4 titles also added to the difficulties in the development of this game. The title has remained unreleased and in active development since being transferred to another studio in 2015.</p>
<h2>Key Contributions</h2>
<ul>
<li>Bandwidth Optimization
<ul>
<li>Used a network profiler on a daily basis to identify problematic networking scenarios that caused throughput and latency issues.</li>
</ul>
</li>
<li>Gameplay Bug Fixing
<ul>
<li>The network profiler would often uncover problems with gameplay code that required fixing. I often was the engineer to do the work.</li>
</ul>
</li>
<li>Xbox Platform Integration
<ul>
<li>One of the first titles to use Thunderhead, Microsoft&#8217;s cloud platform for video games. Much collaboration with Microsoft was needed to support this.</li>
<li>Responsible for matchmaking, game invites, and other Xbox Live integrations.</li>
</ul>
</li>
</ul>
<p><strong>More Info:</strong> <a href="https://www.youtube.com/watch?v=rsvJGTHvauU" data-fancybox="">Gameplay</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><img src="/projs/sonic.jpg" alt=""></div>
<div class="pdescription">
<h1>Sonic &amp; All-Stars Racing: Transformed</h1>
<p><span class="whitetext">ImaginEngine / Dec 2010 &#8211; Dec 2012:</span> I was the Lead Network Programmer on Sonic &amp; All-Stars Racing: Transformed for the Nintendo 3DS. This project was by far the most difficult title I’ve worked on, but also the most rewarding. It was a lifelong dream to get to work with Sega on a title, which more than made up for the tough development cycles the game faced.</p>
<h2>Key Contributions</h2>
<ul>
<li>Multiplayer Code
<ul>
<li>I was the owner and responsible engineer for all multiplayer code in the game. The game featured 8 player local ad-hoc and online play</li>
<li>Socket level C++ code</li>
</ul>
</li>
<li>Nintendo Platform Integration
<ul>
<li>Matchmaking and friend invites</li>
<li>Ad-hoc network logic</li>
</ul>
</li>
<li>Game Lobby UI
<ul>
<li>Coded in Lua</li>
</ul>
</li>
</ul>
<p><strong>More Info:</strong> <a href="https://www.metacritic.com/game/3ds/sonic-all-stars-racing-transformed" target="_blank" rel="noopener noreferrer">Metacritic</a>, <a href="https://www.youtube.com/watch?v=huVc1aMEEJ0" data-fancybox="">Gameplay</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><img src="/projs/a2a.jpg" alt=""></div>
<div class="pdescription">
<h1>Apples to Apples: A Bushel of Fun</h1>
<p><span class="whitetext">ImaginEngine / Dec 2010 &#8211; Dec 2012:</span> The biggest title I worked on during 2010 was Apples to Apples &#8211; an online multiplayer version of Mattel&#8217;s classic board game. I played a few roles for this project. As the Lead Backend Engineer, I designed and developed a scalable backend that provides the game social features. The backend was a multi-platform (PS3/Xbox 360), multi-game (it&#8217;s used in several titles) and is built for scalability and flexibility.</p>
<h2>Key Contributions</h2>
<ul>
<li>Low Level Networking
<ul>
<li>Socket Level code (Winsock/BSD)</li>
<li>Wrote HTTP client for communicating with backend, because at the time using third party libraries was rare in console development.</li>
</ul>
</li>
<li>General Programming
<ul>
<li>DLC Support for proprietary engine</li>
<li>User input handling</li>
</ul>
</li>
</ul>
<p><strong>More Info:</strong> <a href="https://www.metacritic.com/game/xbox-360/apples-to-apples">Metacritic</a>, <a href="https://www.youtube.com/watch?v=bo9ttMpjFr8" data-fancybox="">Gameplay Review</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><img src="/projs/udraw.jpg" alt=""></div>
<div class="pdescription">
<h1>uDraw Studio: Instant Artist</h1>
<p><span class="whitetext">ImaginEngine / Dec 2010 &#8211; Dec 2012:</span> uDraw Studio is a title for the Playstation 3 and Xbox 360. The game allows the user to draw using a custom tablet and share the drawings online. On this project, I was the Lead Backend Engineer and was also responsible for designing/implemented the some of networking code using socket programming.</p>
<p><strong>More Info:</strong> <a href="https://www.metacritic.com/game/xbox-360/udraw-studio-instant-artist">Metacritic</a>, <a href="https://www.youtube.com/watch?v=F0ZgRbDz4-g" data-fancybox="">Save and Share Features</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><a class="fancybox" title="Creavures" href="/projs/creavart1.png"><img src="/projs/cvures.jpg" alt=""></a></div>
<div class="pdescription">
<h1>CreaVures</h1>
<p><span class="whitetext">MuseGames Internship / Jun 2010 &#8211; Dec 2010:</span> CreaVures was a commercial 3d side scroller that worked on in 2010. I joined the Muse Games development team, early in the title&#8217;s development cycle. The small development team was composed of about 20 extremely talented people and the game was written using the Unity Engine. I was responsible primarily for programming Enemy AI. I also worked on the project as a level designer. The game features a wide variety of enemies and bosses, and a very unique art style. It was initially released for the PC and Mac in November 2010.</p>
<p><strong>Trailer and more info:</strong> <a title="Metacritic score" href="https://www.metacritic.com/game/ios/creavures">Metacritic</a>, <a href="https://www.youtube.com/watch?v=EF1qsMjC6ik" data-fancybox="">Gameplay</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><a class="fancybox" title="Husky Hold'Em - Picture from the main index of the website." href="/projs/HuskyHoldem_site_index.jpg"><img src="/projs/HuskyHoldem_thumbnail.jpg" alt=""></a></div>
<div class="pdescription">
<h1>Husky Hold&#8217;Em</h1>
<p><span class="whitetext">Undergraduate Project:</span> Husky Hold’Em was a project that began with a group of students from University of Connecticut. The goal was to create a free Texas Hold’em poker website, that didn’t just let you play against other players, it also helped you become a better player. After playing games or by submitting logs from other poker websites, players are presented with an advanced statistical analysis of their play. Players are then able to see how they played, and how they should have played.</p>
<p>I was the lead game programmer, responsible for the onsite multiplayer poker game. I was also in charge of the website and in-game artwork and also the design and documentation of the project. I developed this mutiplayer game using a mix of PHP, AJAX and Flash. The project was completed after 7 months, in January 2009.</p>
<p><strong>Design Documents:</strong> <a href="/projs/HuskyHoldEm_Functional_Specs.pdf">Functional Specification</a>, <a href="/projs/HuskyHoldEm_Component_Detailed_Design.pdf">Detailed Design Specification</a>, <a href="/projs/HuskyHoldEm_High_Level_Design_Spec.pdf">High Level Design Specification</a></p>
<p><strong>UPDATE 9/2009: Husky Hold’Em is currently offline and being ported to Facebook, by other team members.</strong></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><a class="fancybox" title="Jump and Jolt gameplay" href="/projs/JumpAndJolt.jpg"><img src="/projs/JumpAndJolt_thumbnail.jpg" alt=""></a></div>
<div class="pdescription">
<h1>Jump and Jolt</h1>
<p><span class="whitetext">Undergraduate Project:</span> The six month long project began in 2007, with one other teammate. Our goal was to create new feedback methods (like force feedback) for players. Because of its ability to interface with hardware through its serial ports, and our interest in console development, we chose the Atari 800 as our platform.</p>
<p>The game itself, was based loosely upon the classic multiplayer PC game &#8211; <a href="http://icculus.org/jumpnbump/" target="_blank" rel="noopener noreferrer">Jump ‘n Bump</a>, but with a twist. Each time the player was killed by another player, an electric shock would “jolt” the player via our custom made game controllers. The game was fun to play, safe, and nerve racking. I was responsible for software and hardware design, and also helped program.</p>
<p>Below are links to the source code, along with the game disk, which is playable via most Atari emulators. Design documentation is also attached.</p>
<p><strong>Downloads:</strong> <a href="/projs/JANDJ.ATR">Jump and Jolt Game Disk</a>, <a href="/projs/jandjsource.zip">Source Code</a>, <a href="/projs/Jandj_Game_Concept.pdf">Game Concept and Design Diagrams</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><img src="/projs/MartyMcFly_thumbnail.jpg" alt=""></div>
<div class="pdescription">
<h1>Marty Mcfly Artificial Intelligence</h1>
<p><span class="whitetext">Undergraduate Project:</span> In 2008, I competed in a Game of Amazons competition at the University of Connecticut, against 40 other competitors. I was given one month to create an Artificial Intelligence that would defeat the rest, in a network based battle royale. The Game of Amazons is an interesting game because, unlike Chess, it is PSPACE complete. For this game, an excellent strategy for an AI is to calculate every or nearly every possible move after each turn, and then determine the best move. I knew this and I knew my graduate studies opponents knew this as well. I noticed that the rules for the competition had a timeout restriction &#8211; each player had to complete their move within 1 minute of the opposing player’s last move. So, I decided to take a different approach at the strategy.</p>
<p>My artificial intelligence, Marty McFly, was written in Java and designed to be fast. Instead of calculating every move in the move set, Marty McFly used a set of algorithms for creating certain move patterns and detecting them. During the competition, Marty McFly calculated all of his moves within one second. On the other hand, the opposition was much slower, sometimes taking over 2 minutes to calculate a move. Marty McFly won the competition, by causing its opponents to timeout.</p>
<p>Attached below is the winning source code, with GUI and network code.</p>
<p><strong>Downloads:</strong> <a href="/projs/MartyMcFly.zip">Marty McFly Source Code</a></p>
</div>
<div class="clear"></div>
</div>
<div class="projects">
<div class="pimage"><a class="fancybox" title="The Hospitaler Gameplay" href="/projs/TheHospitaler_ConceptArt.jpg"><img src="/projs/TheHospitaler_thumbnail.jpg" alt=""></a></div>
<div class="pdescription">
<h1>The Hospitaler</h1>
<p><span class="whitetext">Personal Project:</span> The Hospitaler is a 2d RPG/RTS game designed and programmed by me. Inspired by Akira Kurosawa’s Seven Samurai, the player must rally together an army to defend and fortify a small town that is about to be attacked by an evil force. The player is given 10 days to prepare, before the town is attacked. The player doesn’t only have to help the townspeople settle their differences; he is also tasked with the job of choosing proper fortifications to defend them with. The choices the player makes the days before the battle will determine whether the town is saved or slaughtered.</p>
<p>The game is still in early development stages, and is about 35% complete. Its engine was created using SDL, OpenGL and C++ and will be released for Windows, Linux and Mac OSX.</p>
<p><strong>Downloads:</strong> <a href="/projs/TheHospitaler_GameConcept.pdf">The Hospitaler Game Concept</a></p>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Level Design</title>
		<link>https://www.quantumrarity.com/archives/283</link>
					<comments>https://www.quantumrarity.com/archives/283#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 02 Mar 2010 08:19:24 +0000</pubDate>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Indie Game Development]]></category>
		<category><![CDATA[Level Design]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[UT3]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=283</guid>

					<description><![CDATA[I’ve been an aspiring level designer ever since the early days of Quake 1. Learning QuakeEd and recreating my house for Quake 1 was the first of the many maps that I would create. Over the years I began to take level design more seriously, and moved onto bigger and better engines, such as Unreal [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I’ve been an aspiring level designer ever since the early days of Quake 1. Learning QuakeEd and recreating my house for Quake 1 was the first of the many maps that I would create. Over the years I began to take level design more seriously, and moved onto bigger and better engines, such as Unreal and Cube/Sauerbraten. I’m constantly analyzing my work and trying to become a better level designer.</p>
<p>I’ve worked as a graphic designer for numerous years, from which I developed many of my texturing skills. I can 3d model as well. When I create a level, I like creating my own assets and I’ve even found myself recording and editing sounds for map use. Each map I create begins on pen and paper and I use my knowledge of ancient architecture whenever possible. Everytime I create a map, I try to become a better designer, modeler and artist.</p>
<p>My experiences as a Game Journalist, and most importantly, as a gamer have and continue to have a major role in each level I design. I don’t just like video games, I know why I like them and I use this knowledge in my own designs.</p>
<div class="maplist">
<h1>Showcase</h1>
<div>
<a href="/archives/313"><img loading="lazy" class="alignleft size-thumbnail wp-image-135" title="DM-Parthenon" src="http://www.quantumrarity.com/wp-content/uploads/2010/02/parthenontest-150x150.jpg" alt="DM-Parthenon" width="65" height="65"></a></p>
<div class="description">
<h2><a href="/archives/313">DM-Parthenon Demo Reel</a></h2>
<p>A historically inspired map, featuring the ancient Greek Parthenon. Created for Unreal Tournament 3.</p>
</div>
</div>
<div class="clear"></div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/283/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Top 10 Greatest Multiplayer Maps</title>
		<link>https://www.quantumrarity.com/archives/210</link>
					<comments>https://www.quantumrarity.com/archives/210#comments</comments>
		
		<dc:creator><![CDATA[Aaron]]></dc:creator>
		<pubDate>Mon, 01 Mar 2010 19:17:47 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[007]]></category>
		<category><![CDATA[2fort]]></category>
		<category><![CDATA[Aerowalk]]></category>
		<category><![CDATA[Best Multiplayer Maps]]></category>
		<category><![CDATA[Blood Gulch]]></category>
		<category><![CDATA[Bungie]]></category>
		<category><![CDATA[Counter-Strike]]></category>
		<category><![CDATA[Dead or Alive 2]]></category>
		<category><![CDATA[Deck 16]]></category>
		<category><![CDATA[de_dust]]></category>
		<category><![CDATA[de_dust2]]></category>
		<category><![CDATA[Digital Extremes]]></category>
		<category><![CDATA[Doom]]></category>
		<category><![CDATA[E1DM1]]></category>
		<category><![CDATA[E1M1]]></category>
		<category><![CDATA[E1M1 Hangar]]></category>
		<category><![CDATA[Epic Games]]></category>
		<category><![CDATA[Facility]]></category>
		<category><![CDATA[Facing Worlds]]></category>
		<category><![CDATA[Goldeneye]]></category>
		<category><![CDATA[Halo]]></category>
		<category><![CDATA[Hyrule Castle]]></category>
		<category><![CDATA[id Software]]></category>
		<category><![CDATA[Kill House]]></category>
		<category><![CDATA[Morpheus]]></category>
		<category><![CDATA[Multiplayer Design]]></category>
		<category><![CDATA[Multiplayer Maps]]></category>
		<category><![CDATA[Nintendo]]></category>
		<category><![CDATA[Q1DM6]]></category>
		<category><![CDATA[Q2DM1]]></category>
		<category><![CDATA[Q3DM6]]></category>
		<category><![CDATA[Quake]]></category>
		<category><![CDATA[Quake 2]]></category>
		<category><![CDATA[Quake 3]]></category>
		<category><![CDATA[Rainbow Six]]></category>
		<category><![CDATA[Team Fortress]]></category>
		<category><![CDATA[The Dakrzone]]></category>
		<category><![CDATA[The Dark Zone]]></category>
		<category><![CDATA[The Edge]]></category>
		<category><![CDATA[Twisted Metal 2]]></category>
		<category><![CDATA[Unreal Tournament]]></category>
		<category><![CDATA[UT]]></category>
		<guid isPermaLink="false">http://www.quantumrarity.com/?p=210</guid>

					<description><![CDATA[Multiplayer gaming is bigger than it ever was and the level designs that drive it are getting better and better. Over the years, certain multiplayer games have reshaped the genre. They all have one thing in common – great level designs. In this list, I compile the most significant multiplayer maps of our time. These [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Multiplayer gaming is bigger than it ever was and the level designs that drive it are getting better and better. Over the years, certain multiplayer games have reshaped the genre. They all have one thing in common – great level designs. In this list, I compile the most significant multiplayer maps of our time. These maps are what made their games great and they’ve all changed the way future levels were designed. Although the list wasn’t limited to the FPS genre, it is dominated by them. This is because no other genre relies more upon its level design than the first person shooter.</p>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/Hyrule_Castle.jpg"><img loading="lazy" class="size-thumbnail wp-image-221 alignright" title="Super Smash Bros: Hyrule Castle" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/Hyrule_Castle-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#10 Super Smash Bros: Hyrule Castle</h1>
<p>Super Smash Bros brought together Nintendo’s most popular characters and pitted them against one another in a massive crossover battle. The game, originally released for the Nintendo 64, was immensely popular and sold nearly 5 million copies worldwide. This success wasn’t just due to the characters it featured, but also its locales. &nbsp;The most impressive of these was Hyrule Castle. Taken straight out of Ocarina of Time, Hyrule Castle was one of the largest and best balanced maps in the game. It was also the most nostalgic of all the game’s maps, which made it a hit amongst eager Zelda fans awaiting a sequel. The extra nostalgia Hyrule Castle brought to Super Smash Bros helped make it one of the best fighting games ever made.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/Doom.jpg"><img loading="lazy" class="alignleft size-thumbnail wp-image-212" title="Doom: E1M1 - Hangar" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/Doom-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#9 Doom: E1M1 &#8211; Hangar</h1>
<p>Where would the FPS genre be without Doom? In 1993, id Software introduced deathmatch to the masses with Doom. Although it was designed as a single player level, E1M1 was the best packaged map to play multiplayer. Loaded with secrets and featuring one the most memorable soundtracks in any level ever made, no list would be complete without it.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/Q1DM6.jpg"><img loading="lazy" class="size-thumbnail wp-image-222 alignright" title="Quake: Q1DM6 - The Dark Zone" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/Q1DM6-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#8 Quake: Q1DM6 &#8211; The Dark Zone</h1>
<p>Expanding on Doom’s success, id Software released Quake in 1996. Quake redefined the Deathmatch genre as we know it. Featuring internet play and refined multiplayer level design, Quake blew Doom away in regards to its multiplayer experience. &nbsp;The Dark Zone was an action packed map that did an excellent job keeping you guessing where your enemy would come from. It featured a well placed teleporter, which was one of the firsts of it time. Not many gamers could forget the first time they were telefragged in Q1DM6 and the map played a major role in popularizing the Deathmatch genre.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/deck16_1.jpg"><img loading="lazy" class="alignleft size-thumbnail wp-image-214" title="Unreal Tournament: Deck 16 ][" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/deck16_1-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#7 Unreal Tournament: Deck 16 ][</h1>
<p>By the late 90’s, id Software began to see its first real competition in the FPS market. One of the first of them was Unreal Tournament. It featured awesome weapons that had secondary fire and great level design that breathed fresh air into the genre. One of the maps that made this game so great was Deck 16. The map featured an excellent blend of long corridors with open areas, and an unforgiving slime pit at the bottom. Deck 16 would be re-released numerous times in Epic Games’ iterations of the series, and has aged well over the years.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/Morpheus.jpg"><img loading="lazy" class="size-thumbnail wp-image-215 alignright" title="Unreal Tournament: Morpheus" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/Morpheus-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#6 Unreal Tournament: Morpheus</h1>
<p>Deck 16 wasn’t the only ace up Epic Games’ and Digital Extremes’ sleeve. Morpheus was a unique low gravity map that featured incredible visuals. The map was very well balanced, even with the deadly redeemer located on the top of the map. The low gravity, which allowed players to jump much higher than they normally would, also lent itself well to other game modes. One of which was instagib, which was a new game mode that Unreal Tournament brought to first person shooters. Notably, Morpheus is the only low gravity map on this list, and is certainly the best map ever to feature it.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/q2dm1Edge.jpg"><img loading="lazy" class="alignleft size-thumbnail wp-image-216" title="Quake 2: Q2DM1- The Edge" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/q2dm1Edge-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#5 Quake 2: Q2DM1 &#8211; The Edge</h1>
<p>In 1997, a little over a year after the original Quake release, id Software released its sequel – Quake 2. Featuring loads of enhancements over its predecessor, like improved graphics, Quake 2 was significant upgrade to the series. It also brought new and more complex maps to its multiplayer mode. The best of these was The Edge.&nbsp; The premise behind this level was to place a camping area at the very top of the map. But when players were looking down from “the edge”, they were left extremely vulnerable from behind. This level design made for awesome gameplay, in what I call the best Quake map ever made.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/FacingWorlds.jpg"><img loading="lazy" class="size-thumbnail wp-image-217 alignright" title="Unreal Tournament: Facing Worlds" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/FacingWorlds-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#4 Unreal Tournament: Facing Worlds</h1>
<p>As discussed earlier, Unreal Tournament featured some extremely well made maps. Deck 16 and Morpheus were both some of the best level designs ever made, but they weren’t the only great maps to be featured in this classic FPS. Facing Worlds was the level that defined CTF maps and certainly inspired many to come. At the time, the map was visually stunning. Looking down to see Earth below was incredible, and was something Epic Games continues to use in their level designs until this day.&nbsp; The map’s small bases made it so that after spawning, players would be out in the action within seconds. This made for action packed matches. There also were excellent sniper positions at the top of the bases, which mixed things up a bit. These two design elements combined to create excellent map, and you won’t find a more action packed CTF map out there.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/Blood_gulch.jpg"><img loading="lazy" class="alignleft size-thumbnail wp-image-218" title="Halo: Combat Evolved - Blood Gulch" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/Blood_gulch-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#3 Halo: Combat Evolved &#8211; Blood Gulch</h1>
<p>If you’ve played Halo: Combat Evolved multiplayer, then you’ve played Blood Gulch. At first, it seemed that Bungie overlooked multiplayer modes when they released Halo in 2001. Most of the maps were mediocre, but then there was Blood Gulch. This map was certainly inspired by Unreal Tournament’s Facing Worlds, but with one major addition: vehicles. One of Halo’s best features was its vehicle combat. Before Bungie created Halo, no one had done this right. No other game could offer anything that compared to hopping into a Warthog with a teammate and “owning” the opposition. Blood Gulch was the perfect playground for Halo’s vehicles, and was easily the game’s best map. The map was very large and open, but the hills provided players on foot enough cover to balance the map out. This map deserves a place above Facing Worlds, because it single-handedly defined Halo’s multiplayer experience.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/Facility.jpg"><img loading="lazy" class="size-thumbnail wp-image-219 alignright" title="Goldeneye 007: Facility" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/Facility-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#2 Goldeneye 007: Facility</h1>
<p>Thanks to its unforgettable bathroom antics, Goldeneye’s Facility will always remain in our memories. Rare’s blockbuster hit had a few fun maps to play, but the Facility was the best. Even though it had a lot of dead ends, which is a typical level design no-no, the Facility provided countless hours of fun. Gameplay could be spiced up by turning on Proximity Mines or switching to the Golden Gun modes. Goldeneye’s Facility played a huge role in making multiplayer first person shooters successful on consoles, and it paved the way for future console shooters like Halo.</p>
</div>
<div class="mapholder">
<p><a href="http://www.quantumrarity.com/wp-content/uploads/2010/03/de_dust2.jpg"><img loading="lazy" class="alignleft size-thumbnail wp-image-220" title="de_dust2" src="http://www.quantumrarity.com/wp-content/uploads/2010/03/de_dust2-150x150.jpg" alt="" width="150" height="150"></a></p>
<h1>#1 Counter-Strike: de_dust2</h1>
<p>Counter-Strike is arguably the most popular game on this list, and rightfully so. It was one of the first successful tactical first person shooters and it’s the most widely played mentioned on this list. Balance and teamwork play a critical role in Counter-Strike and no other map is as balanced as de_dust2. When it comes to balance, its immensely popular counterpart de_dusk can’t compare. The map features the perfect blend of close-quarters combat and sniper positions. Thanks to its balance, teams don’t have to be as organized and an uneven amount of players doesn’t make a drastic difference. &nbsp;It’s the perfect pick-up map and thanks to its excellent design. &nbsp;No wonder it’s the most played map on Counter-Strike servers.</p>
</div>
<div class="makei">Notable mentions: Team Fortress Classic – 2fort, Quake 3 &#8211; Q3DM6 “The Campgrounds”, Quake 3 – Aerowalk, Dead or Alive 2 – Demon Church, Rainbow Six: Kill House, Twisted Metal 2 &#8211; New York</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.quantumrarity.com/archives/210/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
