<?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>John&#039;s Random Review &#187; Game Dev</title>
	<atom:link href="http://blog.my-is300.com/tag/game-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.my-is300.com</link>
	<description>A totally random collection of stuff.  Though now that facebook exists, its mostly guns and video games...</description>
	<lastBuildDate>Sat, 02 Jul 2011 06:54:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>My XFire &#8220;Gamercard&#8221; hack.</title>
		<link>http://blog.my-is300.com/2006/02/my-xfire-gamercard-hack/</link>
		<comments>http://blog.my-is300.com/2006/02/my-xfire-gamercard-hack/#comments</comments>
		<pubDate>Sat, 18 Feb 2006 23:09:11 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.my-is300.com/?p=25</guid>
		<description><![CDATA[With Xbox Live, you can get yourself a snazzy little "gamercard" for your website/whatnot by inserting a little html.  XFire has the same kindof thing with their "miniprofiles", but i like the look of the live version better, so i did a little hackery.
<table border=0 cellpadding=10 cellspacing=0>
<tr>
<td>
	<iframe src="http://gamercard.xbox.com/HiroProtagonist.card" scrolling="no" frameBorder="0" height="140" width="204">
	A famous person's gamercard.
	</iframe>
</td>
<td>
<iframe src="http://customsigs.free.fr/tools/xfire_card.php?username=gardnerjr" scrolling="no" frameBorder="0" height="140" width="204">XFire Gamercard</iframe>
</td>
</tr><tr>
<th>XBox Live version</th>
<th>My Xfire version</th>
</tr>
</table>
Specifics after the jump!  bonus points if you know what "famous person" HiroProtagonist is. :p<p><a href="http://blog.my-is300.com/2006/02/my-xfire-gamercard-hack/">My XFire &#8220;Gamercard&#8221; hack.</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>With Xbox Live, you can get yourself a snazzy little &#8220;gamercard&#8221; for your website/whatnot by inserting a little html.  XFire has the same kindof thing with their &#8220;miniprofiles&#8221;, but i like the look of the live version better, so i did a little hackery.</p>
<table border=0 cellpadding=10 cellspacing=0>
<tr>
<td>
	<iframe src="http://gamercard.xbox.com/HiroProtagonist.card" scrolling="no" frameBorder="0" height="140" width="204"><br />
	A famous person&#8217;s gamercard.<br />
	</iframe>
</td>
<td>
<iframe src="http://customsigs.free.fr/tools/xfire_card.php?username=gardnerjr" scrolling="no" frameBorder="0" height="140" width="204">XFire Gamercard</iframe>
</td>
</tr>
<tr>
<th>XBox Live version</th>
<th>My Xfire version</th>
</tr>
</table>
<p>Specifics after the jump!  bonus points if you know what &#8220;famous person&#8221; HiroProtagonist is. :p<br />
<span id="more-25"></span></p>
<p />
I would have used my own xbox live gamercard, but i don&#8217;t have a 360, so i don&#8217;t have any interesting status to see.</p>
<p />
I got the idea from xfire&#8217;s mini profile and seeing live&#8217;s gamercards all over the place.  I like the xbox live look better than xfire&#8217;s default profiles, but i&#8217;m hoping stuff like this will make the xfire crew look at a couple little things it could do to make this easier for users.  Especially since the xfire client has skinning support, why shouldn&#8217;t the mini profiles?  If they turned the profile site into an xml / soap / something service, this would be super easy, and nobody would be wasting bandwidth downloading the whole profile page and parsing out stuff.</p>
<p />
I got the code for scraping the xfire profile page from Jason Reading at <a href="http://customsigs.free.fr">http://customsigs.free.fr</a>.  He has a whole bunch of utilities there to make profiles and all kinds of cool things from your xfire data.  The code that i wrote is now hosted there, since i started from Jason&#8217;s stuff.</p>
<p />
The gamercard driven by your xfire stats from your profile page.  My code uses same setup, syntax as the xbox live one does.   Unlike the microsoft one, there are only links to your xfire profile and not to the games themselves, because the xfire profile site doesn&#8217;t have any info or urls for games.  The icon mouseover does indicate your week/alltime playing times for each game.</p>
<p />
<h3>Examples</h3>
<table border=0 cellpadding=5 cellspacing=0 width="100%">
<tr>
<th>
	<iframe src="http://gamercard.xbox.com/tycho.card" scrolling="no" frameBorder="0" height="140" width="204">XBox Live Gamercard</iframe>
</th>
<td>
XBox Live Gamercard <br />
<code>&lt;iframe src="http://gamercard.xbox.com/tycho.card" scrolling="no" frameBorder="0" height="140" width="204"&gt;&lt;/iframe&gt;</code>
</td>
</tr>
<tr>
<th>
	<iframe src="http://customsigs.free.fr/tools/xfire_card.php?username=gardnerjr" scrolling="no" frameBorder="0" height="140" width="204">XFire Gamercard</iframe>
</th>
<td>
XFire Standard Gamercard<br />
<code>&lt;iframe src="http://customsigs.free.fr/tools/xfire_card.php?username=gardnerjr" scrolling="no" frameBorder="0" height="140" width="204"&gt;&lt;/iframe&gt;</code>
</td>
</tr>
<tr>
<th>
	<iframe src="http://customsigs.free.fr/tools/xfire_card.php?username=gardnerjr&#038;avatar=http%3A%2F%2Fblog.my-is300.com%2Fimages%2Fslick.jpg&#038;style=silver&#038;link=http%3A%2F%2Fblog.my-is300.com%2F" scrolling="no" frameBorder="0" height="140" width="204">XFire custom avatar Gamercard</iframe>
</th>
<td>
XFire Custom<br />
Custom Avatar, custom link for avatar, silver style<br />
<code>&lt;iframe src="http://customsigs.free.fr/tools/xfire_card.php?username=gardnerjr&#038;avatar=http%3A%2F%2Fblog.my-is300.com%2Fimages%2Fslick.jpg&#038;style=silver&#038;link=http%3A%2F%2Fblog.my-is300.com%2F" scrolling="no" frameBorder="0" height="140" width="204"&gt;&lt;/iframe&gt;</code>
</td>
</tr>
</table>
<p />
<h3>Parameters</h3>
<p />
script:
<ul>
<li><code>xfire_card.php</code>.<br />
See <a href="http://customsigs.free.fr/tools.php">CXS Custom Xfire Sigs</a> for the <a href="http://customsigs.free.fr/tools/source.php?file=xfire_card">official source</a> and <a href="http://customsigs.free.fr/tools/readme/xfire_card.html">README</a>
</li>
</ul>
<p />
required:
<ul>
<li><code>username</code> &#8211; xfire username
</li>
</ul>
<p>optional:</p>
<ul>
<li><code>style</code> &#8211; either &#8220;gold&#8221; (default) or &#8220;silver&#8221;.  this goes with the gold/silver status of live members and changes the color of the top.
</li>
<li><code>avatar</code> &#8211; url to image to use as avatar.  note that this is in a url, so special chars should be url encoded.<br />
the code sets this image to 64&#215;64, so smaller images are scaled up by the browser(like your xfire standard avatar, game icons) or large images scaled down to fit.
</li>
<li><code>css</code> &#8211; url to cascading style sheet to use.  by default, uses microsoft&#8217;s standard gamercard css.  again note urlencoding
</li>
<li><code>link</code> &#8211; url to where you want clicks on your avatar to go.
</li>
</ul>
<p><h3>Possible Improvements</h3>
<ul>
<li> Make the script output as an image.  Many people have complained about live&#8217;s iframe gamercard,<br />
and many online solutions exist to get image versions or flash versions to embed into websites, sigs.<br />
This is probably pretty easy, as the background is an image in the css, all that is required is drawing the text parts.<br />
Images remove most hyperlinking, so that&#8217;s a downside there.  I think thats why the flash versions exist.
</li>
<li> Make more things clickable.  right now clicking goes to your xfire profile, but externalizing the link would be trivial.
</li>
<li> get xfire to publish this stuff through xml or soap or something so we don&#8217;t have to parse html.  thats<br />
just wasting bandwidth for us AND for xfire.
</li>
<li> get xfire to use bigger images for games.  the 16&#215;16&#8242;s are getting scaled up and look goofy.<br />
alternately, write a small script in php/etc that would smooth scale on the fly and cached the scaled versions<br />
alternately, get bigger/custom images for all the games, and use those instead of xfire&#8217;s
</li>
</ul>
<p />
<p><a href="http://blog.my-is300.com/2006/02/my-xfire-gamercard-hack/">My XFire &#8220;Gamercard&#8221; hack.</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2006/02/my-xfire-gamercard-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiplayer Game Architecture Done (Game Development Class 4)</title>
		<link>http://blog.my-is300.com/2005/08/multiplayer-game-architecture-done-game-development-class-4/</link>
		<comments>http://blog.my-is300.com/2005/08/multiplayer-game-architecture-done-game-development-class-4/#comments</comments>
		<pubDate>Fri, 26 Aug 2005 18:26:30 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Game Dev]]></category>

		<guid isPermaLink="false">/?p=20</guid>
		<description><![CDATA[The fourth and final class of the UW Extension Game Development certificate program is done! More later! Multiplayer Game Architecture Done (Game Development Class 4) was originally posted at John&#039;s Random Review.<p><a href="http://blog.my-is300.com/2005/08/multiplayer-game-architecture-done-game-development-class-4/">Multiplayer Game Architecture Done (Game Development Class 4)</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>The fourth and final class of the UW Extension Game Development certificate program is done!  More later!<br />
<span id="more-20"></span></p>
<p><a href="http://blog.my-is300.com/2005/08/multiplayer-game-architecture-done-game-development-class-4/">Multiplayer Game Architecture Done (Game Development Class 4)</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2005/08/multiplayer-game-architecture-done-game-development-class-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PK Hunter architecture</title>
		<link>http://blog.my-is300.com/2005/08/pk-hunter-architecture/</link>
		<comments>http://blog.my-is300.com/2005/08/pk-hunter-architecture/#comments</comments>
		<pubDate>Wed, 03 Aug 2005 05:58:21 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">/?p=19</guid>
		<description><![CDATA[Details about my PK Hunter plug-in, service, and website for discussion in game development class.<p><a href="http://blog.my-is300.com/2005/08/pk-hunter-architecture/">PK Hunter architecture</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://ac.turbine.com/">Asheron&#8217;s Call</a> is a MMORPG by <a href="http://www.turbinegames.com/">Turbine Games</a>.  Originally released in 1999 and published by microsoft, in 2003, the franchise was bought entirely back by Turbine.  A 3-rd party utility application, <a href="http://decal.acdev.org/">Decal</a>, was created by players with some programming savvy, which allowed other programming end users to create plug-ins that integrate with the AC client.  This allowed for the automation of tedious in game tasks, tracking of statistics, drawing of extra things on the screen, and any other number of things which Turbine would not, or could not add themselves.  (for a list of the large number of plug-ins, see sites like <a href="http://tpp.arkayas.com/">Third Party Paradise</a> or <a href="http://acheaven.buwahaha.com/DecalIndex.htm">AC Heaven</a>)</p>
<p>I have written 3 plug-ins for Asheron&#8217;s Call using decal; one which tracks monsters you kill and &#8220;trophy&#8221; items you recieve, and submits it to a website (<a href="http://www.trophyhunteronline.com/">Trophy Hunter</a>), another which acts as a shopping cart when interacting with players who are running special <a href="http://www.actradeonline.com/">&#8220;Trade Bot&#8221;</a> plug-ins to act as vendors (<a href="http://bargain.trophyhunteronline.com/">Bargain Hunter</a>), and one which tracks Player vs Player kills (<a href="http://pk.trophyhunteronline.com/">PK Hunter</a>).   This article covers some design and implementation details that third plug-in, PKHunter.<br />
<span id="more-19"></span></p>
<h3>Background</h3>
<p>One feature that exists in almost any form of multiplayer game is some facet of &#8220;player vs. player&#8221; gameplay, or &#8220;PvP&#8221;, where players directly attack each other.  Commonly, it is also known as &#8220;player killing&#8221;, or &#8220;PK&#8221;.  In most games this aspect is optional, meaning that players cannot attack other players unless that player has flagged themselves somehow, by completing a special quest, or checking a checkbox somewhere in the game&#8217;s interface.  However, most of these games also have specific servers where player vs player is always on, so that players have no choice.  In <i>Asheron&#8217;s Call</i>, this server is called &#8220;Darktide&#8221;, abbreviated simply as DT.   Because players who are &#8220;PK&#8221; appear as red dots in a player&#8217;s radar, the players are commonly called &#8220;red&#8221;, as well as servers of the PvP only type being called &#8220;red&#8221; servers.</p>
<p>Unlike many games with PvP, <i>Asheron&#8217;s Call</i> has no in game rating or ranking system of player killing activities.  Because I had already written one plug-in which tracked player vs monster (PvM) activities, i decided to expand that out to another plug-in that tracked PK activity and would attempt to assign some kind of ratings to players.</p>
<h3>How it works</h3>
<p><i>Security details omitted <img src='http://blog.my-is300.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </i><br />
<center><br />
<img src="images/pkhunter/pkhunter-1.png"><br />
<br />
<b>Figure 1: client side details<b><br />
</b></b></center></p>
<p>The plug-in uses various facilities within Decal to watch the network stream going from the client to the server.  When it sees special &#8220;Player Killed&#8221;  message go by, it looks at the UID (unique identifier) for each person involved.  If both of these UID&#8217;s resolve to player characters, the plug-in adds that time and those two user UID&#8217;s to a list.  Every few minutes (or by pressing  button in the UI) and when the player logs out of the game, the plug-in submits that information to the PKHunter website.
</p>
<p><center><br />
<img src="http://pk.trophyhunteronline.com/pkladder-witnessed.png"><br />
<b>Figure 2:  PKHunter UI</b><br />
</center></p>
<p> The client plug-in also has a few other functionalities, including a list that shows the players own kills and deaths, as well as other player vs player kills that they witnessed.  &#8220;Witnessed&#8221; is used lightly here, as a player may not have actually watched a player kill another, he might have just been near enough for the AC server to send the &#8220;Player killed&#8221; packet to that player.  The AC client itself may filter that out, so the player might never be informed of the event.  To see some details about the AC protocol, as reverse engineered by players, see Example these (out of date)  <a href="http://decal.insanity-inc.org/protocol/Documentation.aspx">insanity inc protocol docs</a>.  You might want to right click and &#8220;save as&#8221; that baby, as it&#8217;s around 675k!<br />
<center><br />
<img src="images/pkhunter/pkhunter-2.png"><br />
<b>Figure 3: server side details</b><br />
</center><br />
The &#8220;server side&#8221; of PKHunter includes 3 pieces; a website, a service which processes submissions, and a database which stores player information.</p>
<p>The website does more than just serve up pages to users outside of the game like a regular website.  It also has several scripts which are used by the plug-in to validate users, submit results, and retrieve player info to display in game.  The website is written in entirely in PHP.  Some of the PHP scripts are used by cron jobs to regularly generate static html that is used for the front page and some other high traffic pages to avoid them going to the database for no reason.  The PHP scripts that handle submissions do the bare minimum of work, doing some very basic security checks, and then dump the rest of the submission into the database and immediately return to the client.  This attempts to minimize any delay within the AC client itself.</p>
<p>The service is a java application which runs 24/7 on the database server.   The service processes the raw submissions from the client at its leisure, parsing the xml, validating them, and culling any duplicates that were submitted by other players.  The service takes each submission in turn, looking up each player involved, computes the rating change based on each player&#8217;s current rating, and then updates each player.</p>
<p>The database is a simple MySQL database, with only a few important tables:  One holds submissions, one holds processed and validated kills, and a third holds player details and statistics.  A few other tables are used for bookkeeping, site statistics, service stats, but aren&#8217;t interesting enough to be discussed here <img src='http://blog.my-is300.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Technologies used</h3>
<p>Client side:</p>
<ul>
<li> &#8220;Decal&#8221; plug-in:  c++</li>
</ul>
<p>Server Side:</p>
<ul>
<li> Web site: PHP </li>
<li> Service: Java </li>
<li> Database: MySQL </li>
<li> OS: Currently Mandrake (now Mandriva?) Linux.  Because the rest of the technologies used are cross platform, I can set up the server on almost any operating system, though.
</li>
</ul>
<h3>Some statistics</h3>
<p><b>Original Release:</b> PKHunter 1.0.0.1 10/20/2002<br />
<b>Number of Releases:</b> in just under 3 years, only 5 updates, the last of which was  11/24/2002.<br />
<b>Number of &#8220;Characters&#8221; in the Database:</b> 186,152.  This does not imply &#8220;users&#8221; of the plug-in, only people who have been witnessed as a killer or victim.<br />
<b>Number of &#8220;Plug-in Users&#8221;:</b> 73,519.  This is player characters who have submitted results.<br />
<b>&#8220;Unique&#8221; Users:</b>15,203. This is the closest to actual &#8220;users&#8221; that i can get with the information i track.  I don&#8217;t track anything specific enough to identify people having multiple accounts or anything like that.<br />
<b>Users submitting results in last year:</b>4100<br />
<b>Number of kills tracked:</b>3,334,216<br />
<b>Number of kills in the last year:</b>1,108,350<br />
<b>Website hits per month:</b>235,485<br />
<b>Website bandwidth per month:</b>1.61 GB<br />
<b>Website hits YTD:</b> 1,539,861<br />
<b>Website bandwidth YTD:</b> 9.74 GB<br />
<b>Electricity consumed by servers:</b> 1.21 GW.  <i>kidding.  thats from back to the figure.  But probably a lot!</i></p>
<h3>Future&#8230;</h3>
<p>The current system only tracks killer and victim, but a lot of people have complained that the person who gets the &#8220;killshot&#8221; is not necessarily the &#8220;killer&#8221; that has looting rights.</p>
<p>What i&#8217;d like to do is add extra stuff, so that the system can find the corpse created when a player dies, get details from that (text on the corpse indicates who was the actual &#8220;killer&#8221;), and have the system track both &#8220;real&#8221; killer, and also have an entry for the &#8220;killshot&#8221; player.  This would allow some more statistics like kills:killshots, to see if people are real PK&#8217;s or just are ganking people at the end <img src='http://blog.my-is300.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . <br />
I&#8217;d also like to switch back over to an actual &#8220;ladder&#8221; style rating system instead of using the &#8220;modified&#8221; glicko system i&#8217;m using now.</p>
<p><a href="http://blog.my-is300.com/2005/08/pk-hunter-architecture/">PK Hunter architecture</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2005/08/pk-hunter-architecture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Advanced Graphics Class Done  (Game Development Class 3)</title>
		<link>http://blog.my-is300.com/2005/06/advanced-graphics-class-done-game-development-class-3/</link>
		<comments>http://blog.my-is300.com/2005/06/advanced-graphics-class-done-game-development-class-3/#comments</comments>
		<pubDate>Thu, 02 Jun 2005 05:31:28 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Game Dev]]></category>

		<guid isPermaLink="false">/?p=18</guid>
		<description><![CDATA[Just finished up the third class of the Game Development certificate program offered by the University of Washington Extension system. The adv graphics class was, like the first class, taught by Bretton Wade, who works in the XBox group at Microsoft. I don&#8217;t know exactly what his title is, but he&#8217;s neck deep in the [...]<p><a href="http://blog.my-is300.com/2005/06/advanced-graphics-class-done-game-development-class-3/">Advanced Graphics Class Done  (Game Development Class 3)</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<table border=0 cellpadding=10 cellspacing=0>
<tr>
<td><img src="images/class3thumb.png"/></td>
<td>Just finished up the third class of the <a href="http://www.extension.washington.edu/ext/certificates/gam/gam_crs.asp">Game Development</a> certificate program offered by the <a href="http://www.extension.washington.edu/ext/">University of Washington Extension</a> system.
<p>
The adv graphics class was, like the first class,  taught by Bretton Wade, who works in the XBox group at Microsoft.  I don&#8217;t know exactly what his title is, but he&#8217;s neck deep in the graphics part of the X360, so he&#8217;s in the know.  (If you <a href="http://www.google.com/search?q=bretton+wade"> google </a> him, you&#8217;ll find all kinds of papers and stuff.  He&#8217;s the BSP tree FAQ maintainer too. </p>
</p>
<p>Other details, as well as my final presentation with screenshots and all that is available after the jump.
</td>
</tr>
</table>
<p><span id="more-18"></span><br />
The third class was about advanced graphics topics in games.  Almost all of them are acronyms!  Stuff like PRT, HDR, BSP.  The non acronym ones were various shadow methods, ambient occlusion, animation, normal/light maps, height fields, all kinds of stuff.   We also covered lots of general things like GPU architecture, comparisons of X360 and PS3 and Revolution architectures after all the E3 announcements, floating point things every programmer should know.</p>
<p>
Instead of lots of specific homework, we had to pick at least 2 topics from the advanced tech list and integrate them into our game engine.  An unlisted topic was converting from the fixed function pipeline to using shaders too.  (If you didn&#8217;t do that already, you almost needed to to do some of the advanced topics&#8230;).  So i picked:</p>
<ul>
<li> Converting to use srogrammable shader, because i didn&#8217;t do that the first &#8216;mester</li>
<li>Level of Detail</li>
<li>Particle Systems</li>
</ul>
<p>Here&#8217;s a screenshot:<br />
<img src="images/class3.png"/>
</p>
<p>
You can obviously see the particles used for the fireworks, snow, and explosion.  The cubes in the background are the placeholder &#8220;low detail&#8221; models to draw in the distance.  I have no art skill, so all i made were cubes to show that different art is being used for the different LoD&#8217;s.</p>
<p>
Here is my <a href="files/Class 3 Presentation.ppt">final presentation</a> including more screenshots,  and other details.  If you want to actually download the game and play it, email me.  it has some wierd requirements to run, so i&#8217;m not just gonna post it all up.
</p>
<p>
All in all it was a pretty cool class!  The next one, the 4th and last class in the certificate program, is about networking and advanced UI.  It should be pretty cool too!</p>
<p><a href="http://blog.my-is300.com/2005/06/advanced-graphics-class-done-game-development-class-3/">Advanced Graphics Class Done  (Game Development Class 3)</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2005/06/advanced-graphics-class-done-game-development-class-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AI Class Done (Game Development Class 2)</title>
		<link>http://blog.my-is300.com/2005/04/ai-class-done-game-development-class-2/</link>
		<comments>http://blog.my-is300.com/2005/04/ai-class-done-game-development-class-2/#comments</comments>
		<pubDate>Tue, 05 Apr 2005 02:58:08 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Game Dev]]></category>

		<guid isPermaLink="false">/?p=16</guid>
		<description><![CDATA[Just finished up the second &#8216;mester of the Game Development certificate program offered by the University of Washington Extension system. The AI class, taught by Steve Rabin of the AI Game Programming Wisdom series of books, was pretty awesome! We added debug graphics, a real time profiler, a state machine system, flocking, A* pathfinding, coordinated [...]<p><a href="http://blog.my-is300.com/2005/04/ai-class-done-game-development-class-2/">AI Class Done (Game Development Class 2)</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>Just finished up the second &#8216;mester of the <a href="http://www.extension.washington.edu/ext/certificates/gam/gam_crs.asp">Game Development</a> certificate program offered by the <a href="http://www.extension.washington.edu/ext/">University of Washington Extension</a> system.
<p>
The AI class, taught by Steve Rabin of the <a href="http://www.aiwisdom.com/">AI Game Programming Wisdom</a> series of books, was pretty awesome! We added debug graphics, a real time profiler, a state machine system, flocking, A* pathfinding, coordinated behavior, terrain analysis, and gameplay to our game engines created for the first class.  More details about the content after the jump.<br />
<span id="more-16"></span><br />
The second class had a lot more rigid structure than the first, including assignments due every week.  The assignments were due 2 weeks after being assigned, so there was at least one week of class that covered the material before we had to do it.  And this semester, we had to give a presentation at the end of the class to show off what we&#8217;d done, so there was some pressure there.</p>
<p>
Also, I thought the content of this class was a lot more interesting, personally.  I&#8217;m not much of a graphics person, i&#8217;m semi creative at the 10000 ft level, but when it comes to real details and modelling and texturing and such, i have a 0 skill level.  The debugging graphics content, like drawing text and lines was super useful for debugging, and would have been <b>tremendously</b> useful in the first semester.</p>
<p>
I didn&#8217;t get as much done in my engine as i wanted to, and with work heating up again, i&#8217;m not sure i&#8217;ll get to do all the stuff i want next semester either!</p>
<p>
But, at the end of the class, i did have a fully &#8220;functional&#8221; game, a kind-of &#8220;South Park&#8221; themed &#8220;Pac-Man&#8221;, or &#8220;South-Pac&#8221; if you will.  You are chef, and run around eating yellow pellets in the maze.  3 of each of the south park boys chase you about the maze, with a group coordinator only allowing one of the 12 to actively plan a path (read: cheat) at any given time.  It also has an intro, title, pause, and credits scenes.  Oh, and the &#8220;You go to hell and you die!&#8221; Mr Garrison sound when you die, so thats cool!</p></p>
<p><a href="http://blog.my-is300.com/2005/04/ai-class-done-game-development-class-2/">AI Class Done (Game Development Class 2)</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2005/04/ai-class-done-game-development-class-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game Development Class</title>
		<link>http://blog.my-is300.com/2004/12/game-development-class/</link>
		<comments>http://blog.my-is300.com/2004/12/game-development-class/#comments</comments>
		<pubDate>Sat, 18 Dec 2004 07:44:26 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Game Dev]]></category>

		<guid isPermaLink="false">/?p=15</guid>
		<description><![CDATA[I just finished the first &#8216;mester of Game Development certificate program offered by the University of Washington Extension system. System? Whatever. Anyway, the first quarter is over and i learned more than I can type here! If you want to see how stupid my stuff ended up, there&#8217;s a link after the jump. Now that [...]<p><a href="http://blog.my-is300.com/2004/12/game-development-class/">Game Development Class</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>I just finished the first &#8216;mester of <a href="http://www.extension.washington.edu/ext/certificates/gam/gam_crs.asp">Game Development</a> certificate program offered by the <a href="http://www.extension.washington.edu/ext/">University of Washington Extension</a> system.  System?  Whatever.  Anyway, the first quarter is over and i learned more than I can type here! If you want to see how stupid my stuff ended up, there&#8217;s a link after the jump.  Now that the quarter is over <i>maybe</i> i&#8217;ll have more time to update this silly site.  But probably not!<br />
<span id="more-15"></span><br />
You&#8217;ll need DX9 to run this, but i dont think you&#8217;ll need anything else.  <a href="/files/gamedev_johngardner.zip">Download the stuff</a>.<br />
 I didn&#8217;t make the models or textures, though.  The models are old school quake 2 models, sounds from there and or the <a href="http://www.southparkstudios.com">southpark studios website</a>.</p>
<p><a href="http://blog.my-is300.com/2004/12/game-development-class/">Game Development Class</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2004/12/game-development-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates to BargainHunter</title>
		<link>http://blog.my-is300.com/2004/10/updates-to-bargainhunter/</link>
		<comments>http://blog.my-is300.com/2004/10/updates-to-bargainhunter/#comments</comments>
		<pubDate>Sat, 02 Oct 2004 19:43:00 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">/?p=13</guid>
		<description><![CDATA[I&#8217;m back into playing AC (Asheron&#8217;s Call) again, so i need to go back through and update all of the plug-ins i&#8217;ve written! Since Trophy Hunter and PK Hunter are all working fine, but Bargain Hunter wasn&#8217;t working completely, so i had to update it first! BargainHunter 2.0.1.0 does all kinds of new things! Colors [...]<p><a href="http://blog.my-is300.com/2004/10/updates-to-bargainhunter/">Updates to BargainHunter</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m back into playing AC (Asheron&#8217;s Call) again, so i need to go back through and update all of the plug-ins i&#8217;ve written!  Since <a href="http://www.trophyhunteronline.com">Trophy Hunter</a> and <a href="http://pk.trophyhunteronline.com">PK Hunter</a> are all working fine, but <a href="http://bargain.trophyhunteronline.com">Bargain Hunter</a> wasn&#8217;t working completely, so i had to update it first!  BargainHunter 2.0.1.0 does all kinds of new things!  Colors for imbues, more filtering options, keyword filtering, it works better than ever!</p>
<p><a href="http://blog.my-is300.com/2004/10/updates-to-bargainhunter/">Updates to BargainHunter</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2004/10/updates-to-bargainhunter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strategist</title>
		<link>http://blog.my-is300.com/2004/03/strategist/</link>
		<comments>http://blog.my-is300.com/2004/03/strategist/#comments</comments>
		<pubDate>Wed, 03 Mar 2004 22:02:16 +0000</pubDate>
		<dc:creator>John Gardner</dc:creator>
				<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">/?p=9</guid>
		<description><![CDATA[I just registered the domain, so that might not be working yet, but i added a link to the strategist site to the bar on the left. Its amazing, i hadn&#8217;t worked on this app since 7/11/2001! All of the performance issues i had then INSTANTLY went away just through the miracle of time! Strategist [...]<p><a href="http://blog.my-is300.com/2004/03/strategist/">Strategist</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>I just registered the domain, so that might not be working yet, but i added a link to the <a href="http://www.stars-strategist.com/">strategist</a> site to the bar on the left. Its amazing, i hadn&#8217;t worked on this app since 7/11/2001!  All of the performance issues i had then INSTANTLY went away just through the miracle of time!</p>
<p><a href="http://blog.my-is300.com/2004/03/strategist/">Strategist</a> was originally posted at <a href="http://blog.my-is300.com">John&#039;s Random Review</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.my-is300.com/2004/03/strategist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

