<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Rick Hoskinson's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/rickhos/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/rickhos/feed.xml</link>
    <description>This posting is provided &amp;quot;AS IS&amp;quot; with no warranties, and confers no rights.</description>
    <lastBuildDate>Wed, 17 Apr 2019 04:04:30 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Shader Series: Which Direction?</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/shader-series-which-direction</link>
      <pubDate>Tue, 19 Aug 2008 17:15:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2008/08/19/shader-series-which-direction/</guid>
      <description><![CDATA[I’ve started work again on the Shader Series of XNA Creators Club samples.&nbsp; I left off with...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I’ve started work again on the Shader Series of XNA Creators Club samples.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I left off with Shader Series 4: Materials and Lights.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’m working on the documentation for my next sample now, in which I show multiple pass (additive) opaque lighting.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It’s another atomic technique in the arsenal of what every graphics programmer should know, and the visual results are an excellent payoff for a small amount of work.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>As an aside, this isn’t really my day job anymore.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Though I can contribute to the XNA Creators Club in a professional capacity, my function at Microsoft now operates primarily on the online space.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Writing samples is a way for me to keep my managed development skills sharp.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>The main problem I have with the sample is that it doesn’t really introduce anything new into shader programming – it’s just a way to take advantage of what a shader developer would already know from previous samples.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>As I move into progressively more advanced shader techniques, it becomes harder to construct the lessons as serial teachings.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I think I can do it a couple more times, but then the topics will begin to resemble the articles in GPU gems: a set of tools, not an end-to-end story.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I’ve focused on lighting opaque geometry as a vehicle for teaching HLSL.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I still have a couple tricks up my sleeve here.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I would love to do a full-on Bilinear Reflectance Distribution Function (BRDF) sample.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I could show off a variety of BRDFs that are effective replacements to Phong reflectance.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I might also be tempted into implementing the BTDF I implemented for River’s End to simulate light transfer through porous or fibrous material.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’d really like to put that in whitepaper form first though, so it likely won’t make the cut.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>My primary goal with the shader series is to get people to a place where they feel comfortable cracking open GPU Gems or Shader X and implementing the techniques therein.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>My secondary goal is to pick some of those excellent techniques and apply them in the context of the hobbyist developer.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Modern GPUs are ridiculously powerful, but the level of 3D art assets typically available to an&nbsp;independant&nbsp;developer undercuts that potential by a huge amount.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>You can still make great looking games, but this requires a creative approach to the application of rendering techniques and asset usage.&nbsp; I like to say that I "throw math at"&nbsp; my game until it starts to look good.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>After that though, I can go a lot of places.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Here are some of the ideas I’ve been throwing around.</FONT><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><SPAN style="FONT: 7pt 'Times New Roman'"></P>
<P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT size=3><FONT face=Calibri><B style="mso-bidi-font-weight: normal">Static mesh ambient occlusion generation and implementation.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></B>This is a science fair project, but if I could nail it, the benefits would be dramatic.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Imagine being able to just drop in a content processor and automatically add an ambient occlusion map<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>(or vertex data) with near zero dev cost.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Of course, your build times would take a heck of a beating.<B style="mso-bidi-font-weight: normal"><o:p></o:p></B></FONT></FONT></P></SPAN></SPAN></SPAN>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT size=3><FONT face=Calibri><B style="mso-bidi-font-weight: normal">Spherical harmonic lighting</B>.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This advanced lighting mechanism makes for some incredible lighting environments.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>However, there is some CPU cost when certain scene parameters are changed.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’m not convinced this is a good fit for hobbyist XNA Game Studio games yet.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It doesn’t have the “drop-in” appeal of some of the other techniques.</FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><I style="mso-bidi-font-style: normal"><FONT size=3><FONT face=Calibri>Subject Change<o:p></o:p></FONT></FONT></I></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I considered doing an E/N post about where I’ve been for the last five months, but thought better of it.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Also, my apologies to folks posting comments – I get so much spam from this blog I pretty much can’t keep up.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>With the recent announcement that game creators will be selling their titles via XNA Community Games, it puts me in an awkward position talking about game design practices.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ve been vetting my model on a title that I plan to provide through the service, but talking about it here might be a conflict of interest.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>My choices are to not talk about my real-world findings at all, or to move to a different blog system.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’m not excited about either prospect.</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>If I was running a game studio (humor)...</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/if-i-was-running-a-game-studio-humor</link>
      <pubDate>Tue, 22 Apr 2008 17:50:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2008/04/22/if-i-was-running-a-game-studio-humor/</guid>
      <description><![CDATA[Today I had a conversation with a coworker about how I could afford to run a game studio if I were...]]></description>
      <content:encoded><![CDATA[<FONT face=Calibri size=3><SPAN style="mso-spacerun: yes">
<P class=MsoNormal style="MARGIN: 0in 0in 10pt">Today I had a conversation with a coworker about how I could afford to run a game studio if I were to try to make one today.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>My primary plan of action would be to find some extremely low cost-of-living areas in which to settle, like Superior, WI.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Apparently there are 2000 square foot houses there for less than half a million dollars.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>In fact, they seem to cost about $200,000 there.</P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt">That doesn’t really cover the cost of an office, so for that I think I’d have to go with pre-fab wooden sheds.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Wood burning stoves would provide much-needed heat, and a 40-year-old gas generator would power the company laptop, assuming the generator does not explode.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt">I’ve always referred to my future game studio as <B style="mso-bidi-font-weight: normal">Trainwreck Interactive</B>, because I love trains, and I find the idea of willingly interacting with a crashing train amusing.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This idea of a game company in WI got me thinking – what would a time reporting sheet look like for such a company?</P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt">
<TABLE class=MsoNormalTable style="MARGIN: auto auto auto -0.7pt; WIDTH: 481pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellSpacing=0 cellPadding=0 width=641 border=0 class="MsoNormalTable">
<TBODY>
<TR style="HEIGHT: 37.8pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes">
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=399><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=35><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=36><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=39><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=44><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=27><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=32><FONT size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 37.8pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=31><FONT size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 1">
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><B><SPAN style="COLOR: black">Time Sheet for Trainwreck Interactive</SPAN></B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-bottom-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 2">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><B><SPAN style="COLOR: black">Activity/Cost Center</SPAN></B><B><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></B></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Mon</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Tues</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Wed</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Thurs</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Fri</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Sat</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Sun</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 3">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Programming (001)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 4">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Stealing Art from Internet&nbsp; (002)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 5">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Collecting Wood (003)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 6">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Poaching Deer for Food (004)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 7">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Sitting in the corner freezing, and begging for blankets (006)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 8">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Tuberculosis Leave (Not compensated)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 9">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Arguing with ghosts, insanity (011)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 10">
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT size=3><FONT face=Calibri><SPAN style="COLOR: black">Design Documentation, Level Editing (011)</SPAN><SPAN style="COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></FONT></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri size=3></FONT></TD>
<TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri size=3></FONT></TD></TR>
<TR style="HEIGHT: 15pt; mso-yfti-irow: 11; mso-yfti-lastrow: yes">
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 299pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=399>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"><FONT face=Calibri><I><SPAN style="FONT-SIZE: 9pt; COLOR: black">Puting the "fun" back in Creafun™!</SPAN></I><I><SPAN style="FONT-SIZE: 9pt; COLOR: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"><o:p></o:p></SPAN></I></FONT></P></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 26pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=35><FONT face=Calibri></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 27pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=36><FONT face=Calibri></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 29pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=39><FONT face=Calibri></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 33pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=44><FONT face=Calibri></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 20pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=27><FONT face=Calibri></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 24pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=32><FONT face=Calibri></FONT></TD>
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 23pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; HEIGHT: 15pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext .5pt" vAlign=bottom noWrap width=31><FONT face=Calibri></FONT></TD></TR></TBODY></TABLE></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><o:p>&nbsp;</o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt">Hrm.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></P></SPAN>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true">&nbsp;</P></FONT>]]></content:encoded>
    </item>
    <item>
      <title>Game Design Post Delay</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/game-design-post-delay</link>
      <pubDate>Tue, 25 Mar 2008 16:31:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2008/03/25/game-design-post-delay/</guid>
      <description><![CDATA[Hello, for anyone looking at my recent posts on game design, there will be a bit of a delay before...]]></description>
      <content:encoded><![CDATA[Hello, for anyone looking at my recent posts on game design, there will be a bit of a delay before the next one.&nbsp; It has nothing to do with the content -- I'm going through a bit of a family emergency right now.&nbsp; My polan was to post a discussion Domain Interaction up sometime in April.&nbsp; The interactions are the part of the model that makes predictions, making them one of the most important aspects of the model.&nbsp; However, this is the most volitile and (currently) subjective area, so I might go with Standard Domains first, which are easier to scope, but are largely a toolset for quickly describing systems in your game.]]></content:encoded>
    </item>
    <item>
      <title>Domain Model for Game Design Part 2</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/domain-model-for-game-design-part-2</link>
      <pubDate>Fri, 14 Mar 2008 14:29:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2008/03/14/domain-model-for-game-design-part-2/</guid>
      <description><![CDATA[Yesterday I listed the domains for the design model; today I'll list what they're used for.&nbsp; In...]]></description>
      <content:encoded><![CDATA[<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Yesterday I listed the domains for the design model; today I'll list what they're used for.&nbsp; In later updates I'll post more specifics on these uses, but for now, I’d just like to scope things.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This list is not final, and there are probably additions as I discover things with the case studies.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<H3 style="MARGIN: 10pt 0in 0pt"><FONT face=Cambria color=#4f81bd size=3>What the domain model does:</FONT></H3>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Identify <I style="mso-bidi-font-style: normal">weak</I> and <I style="mso-bidi-font-style: normal">strong interactions</I> between domains for a particular game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>These interaction values act as a risk assessment metric and general iteration focus. </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Identify a set of standard interchangeable <B style="mso-bidi-font-weight: normal">standard domains</B> for games.<SPAN style="mso-spacerun: yes"> </SPAN>This will help speed up the design process by creating standard placeholders that are easily understood.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Identify low-level <I style="mso-bidi-font-style: normal">constraints</I> on domains due to fiscal, time, and resource constraints.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Identify logical divisions of human resources, design efforts, and specification.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Combined with the <I style="mso-bidi-font-style: normal">interactions</I> and <I style="mso-bidi-font-style: normal">constraints</I>, interaction between members of large teams can be safely and efficiently structured.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>It is a descriptive terms in a design document, to clarify concepts while they are still on paper, or being discussed at meetings.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>They are useful as categories for comparing two or more games.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This, in turn, can be used to evaluate the familiarity or differentiation offered by a title in development.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>They can be used for structuring pitch sheets or short specs.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>They provide a way to instantly describe the efficacy/feasibility of a design by matching with criteria from known other games.</FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT size=3><FONT face=Calibri>They are a framework for designers who have basic game concepts, but need to flesh it out to discover any flaws early in the process.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<H3 style="MARGIN: 10pt 0in 0pt"><FONT face=Cambria color=#4f81bd size=3>What it doesn’t do:</FONT></H3>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Is not appropriate for structuring large design docs at this time.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>More research needs to go into this subject.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The reason is, a design doc will tend to discuss the flow of a game, and lay out the individual elements as they come up.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This is very useful when designing a game, as it simplifies the design process by utilizing a chronology (timeline) or hierarchy (flowcharts).</FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore"><FONT size=3>·</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Does not provide rules, mechanics, dials, or other “automatic” mechanisms to tune games in progress.</FONT></P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Domain Model for Game Design Part 1</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/domain-model-for-game-design-part-1</link>
      <pubDate>Thu, 13 Mar 2008 13:47:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2008/03/13/domain-model-for-game-design-part-1/</guid>
      <description><![CDATA[I’m treating the Domain Model for Game Design like an unproven scientific theory.&nbsp; The Academy...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I’m treating the Domain Model for Game Design like an unproven scientific theory.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The Academy of Arts and Sciences states that a theory must have two properties:</FONT></P>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>1.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>It must be an explanation of a feature supported by experimentation</FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>2.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>It must be able to make predictions</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>In this case, my “experiments” are the case studies I’m putting together and the new game I am developing.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>To support my model, these case studies should result in prescriptive insight into how these games could be improved, what features would be popular, and what features could be cut.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Of course, most of these things could be determined intuitively once a game is released.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The critical reaction to full game becomes the control case for the case study.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The “experimental results” are the issues rapidly identified by domain interactions, which are identifiable during development.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I was originally going to introduce the domain model by talking about the benefits, but I’m not really trying to justify the model yet.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It’s too raw – I’d rather be generating discussion and criticism than trying to defend an indefensible position.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Instead I’m going to present the 9 (or 8, depending on how you see it) domains that I’ve identified.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>In this post, I won’t be going into the justifications for them – there’s plenty of time for that.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Instead, I’ll present the summarized domains within their two categories.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Originally, there were 5 domains.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>At this time the domain model encompasses 9 discrete domains.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Each one has been scoped to make it’s <B style="mso-bidi-font-weight: normal">interactions</B> with other domains as useful as possible.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The glue between the domains (which I call weak and strong interactions) are were the predictive qualities of the model come into play.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Domains are divided into two categories – Direct domains and Sympathetic domains.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The Direct domains are easiest to explain – these are the elements of the game over which a developer has direct control.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The Sympathetic domains are those which anticipate or attempt to understand a player’s experiences with the game. </FONT></P>
<H2 style="MARGIN: 10pt 0in 0pt">
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Calibri size=3></FONT></o:p></SPAN></P></H2>
<H2 style="MARGIN: 10pt 0in 0pt"><FONT face=Cambria color=#4f81bd size=4>The Domains</FONT></H2>
<H3 style="MARGIN: 10pt 0in 0pt"><FONT face=Cambria color=#4f81bd size=3>Direct Domains</FONT></H3>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>1.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Response</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain covers the display of game state, UI, and instantaneous reactions to player inputs.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>2.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Presentation</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain includes aesthetic elements such as artwork, narrative, audio, and stylistic elements.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>3.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Achievement</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain deals with win states, scores, progression, and all kinds of rewards that reinforce the rest of the game.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>4.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Simulation</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain describes the game’s interactions with its own internal state.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It covers AI, game world simulation, and other updates that are not directly tied to player inputs.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>5.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>External</FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain covers everything that lives outside of the game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This could include packaging, manuals, web portals, advertising, distribution, and hype.</FONT></P>
<H3 style="MARGIN: 10pt 0in 0pt"><FONT face=Cambria color=#4f81bd size=3>Mixed Domains</FONT></H3>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>6.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Physical</FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain covers the control surfaces, displays, peripherals, and general ergonomics of gameplay.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This domain is considered mixed, as it is the actual interface between the developer’s game and the player’s body.</FONT></P>
<H3 style="MARGIN: 10pt 0in 0pt"><FONT face=Cambria color=#4f81bd size=3>Sympathetic Domains</FONT></H3>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>7.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Skill</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain deals with the rapidly changing skills that a player develops while playing a game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This domain influences how a player learns and hones short term (&lt;30 sec) reactions to in-game situations at a reactive or instinctual level.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>8.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Management </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain covers the expectation of player strategy.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It includes conscious player contributions such as resource management, approach, and goal setting.</FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>9.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>Immersion</FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"><SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri size=3>a.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><FONT face=Calibri size=3>This domain deals with a player’s emotional connection and concentration while playing a game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It is the domain used to manipulate the player into internalizing mechanics presented in other domains.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>That’s still a somewhat raw list, and I expect it to change as I run more case studies.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>These domains do not imply any sort of hierarchy.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>There’s no strict structure that indicates that any given domain is deferential to another domain.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>That is purely something that would be scoped by a particular game.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>In my next post, I’ll talk about the interaction model for the domains and start to explore the prescriptive properties of understanding weak and strong interactions.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ll follow with some uses for the domain model, and then I’ll get to the meat of this topic: the case studies.</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>Back on the Blog</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/back-on-the-blog</link>
      <pubDate>Tue, 11 Mar 2008 20:11:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2008/03/11/back-on-the-blog/</guid>
      <description><![CDATA[River’s End is mostly complete.&nbsp; It’s not much of a game, but it is a very relaxing...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>River’s End is mostly complete.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It’s not much of a game, but it is a very relaxing experience.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It just needs some polish, a few new graphics systems, and a little more content and it’ll be ready to go.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>However, I don’t know yet how or if I can distribute it, so understandably, my enthusiasm for the project has waned somewhat.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>To avoid the issue for my next project, my focus will be on game design.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>And I’d like to be inclusive though my blog or through the XNA.com forums on how I reach my design decisions – both technical and creative. </FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>River’s End was a superb way for me to familiarize myself with the shortcomings of a tech-driven design.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>As I began to ramp up to my next project, I was very near the same mistake, but I was fortunate enough to have colleagues and friends who could comment on early problems and identify another possible false start.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>So I began to study the subject of general game design.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Like any good research topic, trying to assimilate the greater body of game studies is truly epic amounts of work.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>One of the major problems is a seeming lack of clear goals, or at least, shared goals on the part of the leading academics.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Game Theory seems to me a strictly academic pursuit, but it contains nuggets of wisdom that transcend its specific focus.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Game Studies appear to focus on the impact or rationalization of games.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>On the other side of the Game Design coin is the practitioner’s approach.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This is the domain of designers like Noah Falstein and Marc LeBlanc.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>There are the contributors to books like </FONT><A href="http://books.google.com/books?id=T9kS82J5LG0C&amp;dq=game+design+perspectives&amp;pg=PP1&amp;ots=_J8wPWF_qt&amp;sig=JJo-ftFdlvemPB2RVeiJCPJAt2U&amp;hl=en&amp;prev=http://www.google.com/search?hl=en&amp;q=Game+Design+Perspectives&amp;sa=X&amp;oi=print&amp;ct=title&amp;cad=one-book-with-thumbnail#PPA5" mce_href="http://books.google.com/books?id=T9kS82J5LG0C&amp;dq=game+design+perspectives&amp;pg=PP1&amp;ots=_J8wPWF_qt&amp;sig=JJo-ftFdlvemPB2RVeiJCPJAt2U&amp;hl=en&amp;prev=http://www.google.com/search?hl=en&amp;q=Game+Design+Perspectives&amp;sa=X&amp;oi=print&amp;ct=title&amp;cad=one-book-with-thumbnail#PPA5"><FONT face=Calibri color=#0000ff size=3>Game Design Perspectives</FONT></A><FONT face=Calibri size=3> and </FONT><A href="http://www.amazon.com/Game-Design-Reader-Rules-Anthology/dp/0262195364/ref=pd_sim_b_img_1" mce_href="http://www.amazon.com/Game-Design-Reader-Rules-Anthology/dp/0262195364/ref=pd_sim_b_img_1"><FONT face=Calibri size=3>Game Design Anthology</FONT></A><FONT face=Calibri size=3>. Some of these are unyielding rules about what makes a game enjoyable.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>One extreme example of these approaches is the 400 Project.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Others are general guidelines to encourage new thinking about game design.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>There’s more too – far more.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>There are almost as many ways of <I style="mso-bidi-font-style: normal">talking about game design</I> as there are game designers.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I’ve thought critically about aspects of the problem, and like so many sideliners before me, I have come up with my own addition to this theoretical stew, which I will call a Formal Game Design Model for lack of a more discrete term.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>My fundamental goal is to make something that makes my games more fun.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I refined the difficult tasks to three goals for a design model.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>My goals for a model are to:</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri><B style="mso-bidi-font-weight: normal">Refine</B> game designs by identifying, isolating, and surfacing all specific aspects of a game’s end-to-end experience.<B style="mso-bidi-font-weight: normal"> </B></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri><B style="mso-bidi-font-weight: normal">Evaluate</B> game designs by understanding the interplay of game systems and their impact on the overall experience.</FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri><B style="mso-bidi-font-weight: normal">Inspire</B> new features or game elements to establish goals earlier in the process.</FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>The model I developed is called <B style="mso-bidi-font-weight: normal">“A Domain Model for Game Design”</B> or <B style="mso-bidi-font-weight: normal">Domain Model</B> for short.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I have identified 8 <I style="mso-bidi-font-style: normal">domains</I> that are common to all computer and video games, and even many board and card games.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Each domain is describes an aspect of a game that ultimately influences a player’s enjoyment of the game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The essential quality though is that the model’s static component is the domains themselves.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The dynamic part is the interactions between domains, which, I’m finding are highly regular.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>There are lots of ways to use the model, but let me give a quick example.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The Domain Model includes a domain called “Response” which deals with the display of information to the player that informs their choices.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The Response domain interacts strongly with the “Presentation” domain, which covers aesthetics and art design for a game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Here we can begin to identify areas that are contentious in the design of your game.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Following this example, you might identify aspects of the in-game artwork that makes the UI in the response domain untenable.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>This probably sounds like common sense, and much of it is.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The formalism may seem unnecessary and that it may stifle creativity.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>However, I don’t see the model as a template or specification mechanism for game design.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I see it as a tool for doing the three things I identified above.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Now, those of you who have read up on this subject may have already seen a striking similarity between this model and the </FONT><A href="http://www.cs.northwestern.edu/~hunicke/MDA.pdf" mce_href="http://www.cs.northwestern.edu/~hunicke/MDA.pdf"><FONT face=Calibri size=3>MDA approach</FONT></A><FONT face=Calibri size=3> by Hunicke, LeBlanc, and Zubek.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I developed the groundwork and the core principles of my model before ever reading about MDA, and I was both surprised and pleased that my system mirrored so many of ideas presented in that paper.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Of particular interest are the interactions between Mechanics, Dynamics, and Aesthetics as the essential part of the iterative processes described by the system.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>However, my focus is on more discrete “parts” of a game, and an idea of strong and weak interactions between domains.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Domain Model’s goals are similar, but I’ve chosen a slightly different attack vector.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I can’t presume to have the authoritative background any of the authors of MDA have, and as such, I would never say that it’s right for everyone.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I plan to offer it “as-is”, another tool for a designer’s toolkit, and nothing more.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ll be vetting this model with my next game project, and I plan to provide case studies that show how several different games can be evaluated with the model.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’m a technology worker, not a professional designer with decades of experience, so everything I write must be approached as such.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>In the coming months I plan to talk more about the model as I refine the concepts.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’d like to present it as a paper initially.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This is largely something I’m working on for my own hobby game projects, but in the off chance that <I style="mso-bidi-font-style: normal">anybody</I> may find this useful, I’d like it to be generally available.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Perhaps someone out there struggling with a game that just isn’t fun might find ways to improve their title using the little bit of structure I’ll provide in the Domain Model.</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>GameFest 2007: Mission Complete</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/gamefest-2007-mission-complete</link>
      <pubDate>Wed, 15 Aug 2007 18:53:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2007/08/15/gamefest-2007-mission-complete/</guid>
      <description><![CDATA[I’m back from GameFest 2007 and I can start to take back parts of my life.&nbsp; The last 3 months...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I’m back from GameFest 2007 and I can start to take back parts of my life.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The last 3 months have possibly been the busiest and most stressful of my entire life.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The rewards have been incredible though, and I’m still glowing about the fantastic reception to the XNA Game Studio track.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>For those of you unfamiliar with the GameFest conference, the details can be found at </FONT></FONT><A href="http://www.xnagamefest.com/"><FONT face=Calibri size=3>http://www.xnagamefest.com/</FONT></A><FONT face=Calibri size=3> .<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>True to the XNA branding of all Microsoft gaming development, XNA GameFest is primarily an event for seasoned industry professionals that want to get the most out of Microsoft platforms.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I like to think of it as a “Game Programming Gems for Microsoft Platforms”.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>I volunteered to be the XNA Game Studio content coordinator for GameFest 2007.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>As a result I’ve managed to add about 50% more responsibilities to my usual engineering support workload.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Couple that with the unprecedented lineup of holiday Windows and Xbox 360 titles, and I haven’t had a lot of “outside time” this summer.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; I managed to get <A class="" href="http://creators.xna.com/Headlines/developmentaspx/archive/2007/01/01/Shader-Series-4_3A00_-Materials-and-Multiple-Light-Sources.aspx" mce_href="http://creators.xna.com/Headlines/developmentaspx/archive/2007/01/01/Shader-Series-4_3A00_-Materials-and-Multiple-Light-Sources.aspx">Shader Series 4</A> our the door as well, which is an exciting landmark in a series of whitepapers and samples I've wanted to do since last summer.&nbsp;Back then&nbsp;the CGP team was working hard to get <A href="http://creators.xna.com/">http://creators.xna.com</A> off the ground and there were no Game Studio samples at all.&nbsp; The XNA CGP team has come a long way, and they have produced a marvelous community developer portal.</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I have probably 50 man-hours of post-GameFest responsibilities, but these will be distributed over the next few weeks.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I should be getting back to a normal schedule just in time for the Seattle Rainy Season.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>And that means I’ll be back to working on my&nbsp;leasure game projects.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri><STRONG>River’s End</STRONG> has been stalled all summer for the above reasons.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>During that time I’ve also managed to shift my support responsibilities so that I’m now a primary source for Xbox 360 GPU support.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ve learned an incredible amount in a very short time, and I have nothing but new ideas for how to convert River’s End from a pretty game into a jaw dropping graphics showcase. <SPAN style="mso-spacerun: yes">&nbsp;</SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Not that I’ve forgotten the gameplay.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ve been jotting notes about level ideas and new gameplay mechanics all summer.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ve also taken inspiration from the incredible work done by the top Dream-Build-Play entries which we displayed at GameFest.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>These games are stunning, and many times they’ve been completed entirely by one talented developer.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>They’ve given me the confidence to persue very aggressive design goals for my hobby game projects.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>I’ve also got some great ideas for more developer education content.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Things that have come to mind recently have been about project management and scaling for teams.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The upcoming Game Studio 2.0 features should enable some really interesting project management techniques that will make working with artists, managing content builds, and dealing with multiple platform targets into a highly streamlined experience.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>It’ll take some research though, so I’m going to factor in these techniques into my leisure-time work on River’s End.&nbsp;</FONT><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Be sure to check out the games at <SPAN style="mso-spacerun: yes">&nbsp;</SPAN></FONT></FONT><A href="http://www.dreambuildplay.com/main/default.aspx"><FONT face=Calibri size=3>http://www.dreambuildplay.com/main/default.aspx</FONT></A><FONT face=Calibri size=3> .<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>They’re all awesome in their own way.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I probably shouldn’t say this, but my fave was Shuggy.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I love 2D gameplay concepts and Shuggy helped convince me that we’ve still only scratched the surface of what great gameplay can be had on a 2D plane.</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>Dev Diary: River's End</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/dev-diary-rivers-end</link>
      <pubDate>Sun, 27 May 2007 16:04:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2007/05/27/dev-diary-rivers-end/</guid>
      <description><![CDATA[Apologies&nbsp;for the lack of updates, it's been a crazy month.&nbsp; Even with all the madness of...]]></description>
      <content:encoded><![CDATA[<P>Apologies&nbsp;for the lack of updates, it's been a crazy month.&nbsp; Even with all the madness of work, I have had some spare time to work on my private game project.&nbsp; I've been using this to keep my game-dev/c# skills sharp as well as to "feel the pain" of my customers.&nbsp; Though to be perfectly honest, there's been very little painful about my development experience so far.&nbsp; Working on this game has taken over&nbsp;my usual leisure time.&nbsp; Not&nbsp;necessarily a bad thing,&nbsp;as I've been burning&nbsp;out on my&nbsp;usual MMO time-sinks.</P>
<P>Most of the changes I've been making have been in the interest of preparing for a major content update.&nbsp; I have some final graphics features to add before I'm ready to begin adding levels to the game.&nbsp; Then it's content time -- I've got 25 levels specified and I'm shooting for 100 levels in the final game.&nbsp; Why so many?&nbsp; Well for one, they're pretty easy to develop now -- they're written entirely in C# similar to a script.&nbsp; I've fleshed out a huge number of helper functions and classes turning c# into an effective design language for making levels.&nbsp; I have a few more features before my <STRONG>Content Bash</STRONG> where several levels will be added and the game prepared for play testing.</P>
<P>Gameplay concepts have solidified nicely.&nbsp; I'm moving away from an ambient game to more of a puzzle game format.&nbsp; Each level will have a objectives which the player must discover through a combination of trial-and-error and visual cues.&nbsp; The visual cues are intentionally elaborate, designed to inform the player using a "warmer/colder" heuristic.</P>
<P>The game itself features paper lanterns floating down a river.&nbsp; You play the part of a river spirit that must extinguish these lamps with its breath, releasing many flavors of "ghosts".&nbsp; Some ghosts are simply harmful.&nbsp; They'll swim through the sky and attack you if you get close enough.&nbsp; Other ghosts have more complex functions, such as seeking out other ghosts or altering your abilities when "caught".&nbsp; Your inputs are your breath, your movement controls, and a simplistic "action" button that is context sensitive in each level.</P>
<P>&nbsp;Let me give you an example of some levels (SPOILERS!):</P>
<P><STRONG>Level 1: Tutorial</STRONG>&nbsp; --&nbsp; The first level is a simple introduction to the controls.&nbsp; There are several colors and shapes of lamps floating about.&nbsp; One of them stands out from the rest and will spawn helpful ghosts that will seek you out and help you progress toward your goal.&nbsp; All other lamps will spawn evil ghosts that will rapidly eat up your health if you get too close.</P>
<P><STRONG>Level 9:&nbsp;Sea of Light</STRONG>&nbsp; --&nbsp; This level spawns one color of lamp though it will spawn one of two kind of ghost.&nbsp; The first will slow you down and moves randomly.&nbsp; The other is a slow moving but dangerous ghost that can destroy you if 10 or so catch you.&nbsp; A visual cue will get more intense as you spawn each ghost.&nbsp; It's a hint to let you know that the goal is to spawn as many ghosts as possible while never stopping.&nbsp; The key is speed -- once a certain number of ghosts are spawned (currently the number is 250), you win the level.</P>
<P><STRONG>Level 5:&nbsp;The Display</STRONG>&nbsp; --&nbsp; And easy level with a cool visual effect.&nbsp; There are three spatial "regions" of lamps.&nbsp; The first two spawn harmless "firework" ghosts that lazily wander around the river.&nbsp; The center line of lamps spawns "hunter" ghosts, which chase down other ghosts.&nbsp; When you spawn a hunter and there are unexploded firework ghosts about, they chase down a firework ghost and cause a firework-like explosion!&nbsp; The&nbsp;goal is to cause a huge fireworks display to move on.</P>
<P mce_keep="true">&nbsp;</P>
<P>The total time spent in May has been about 65 hours.</P>
<P><STRONG>Features added in May</STRONG></P>
<UL>
<LI>Menu &amp; Text&nbsp;System</LI>
<LI>New Level loading &amp; scripting system</LI>
<LI>Graphics</LI>
<UL>
<LI>Area Fog</LI>
<LI>Improved Water with Fresnel</LI>
<LI>Local light sources</LI>
<LI>River Bed</LI>
<LI>Ghost Effect (image space accumulation with blur and falloff, gives the ghosts a spooky "tracer" effect)</LI>
<LI>Breath distortion effect</LI>
<LI>Transition effects</LI></UL>
<LI>Skybox improvements</LI>
<LI>First-pass batching improvements</LI>
<LI>Alpha and rendertarget re-ordering to support necessary graphics effects</LI>
<LI>All-new audio engine &amp; first music &amp; ambient tracks laid down</LI></UL>
<P><STRONG>Features to add before Content Bash</STRONG></P>
<UL>
<LI>"Light Globe" progress heuristic&nbsp; (est. 2 hours)</LI>
<LI>"St. Elmo's Fire" progress heuristic (est.&nbsp;6 hours)</LI>
<LI>Transition Engine (est.&nbsp;6 hours)</LI>
<LI>Input Engine Revamp (est.&nbsp;4 hours)</LI>
<LI>Improved Chase Camera (est. 2 hours)</LI>
<LI>Force Feedback (est.&nbsp;1 hours)</LI>
<LI>New Player Geometry, Lamp Geometry, &amp; additional Lamp shaders&nbsp;(est.&nbsp;25 hours)</LI>
<LI>Level-Dependant graphics settings plumbing (est.&nbsp;4 hours)</LI>
<LI>Particle Engine (est.&nbsp;8 hours, borrowing from creators.XNA.com GPU&nbsp;particle sample)</LI></UL>
<P>That should keep me busy for the next month or two.&nbsp; I only want to work on this at night or on rainy&nbsp;days, so weather and work will determine my schedule.&nbsp; Now I leave you with a couple of screenshots taken in game just today.</P>
<P mce_keep="true"><IMG title="In-game shot.  The ghosts are the purple spheres.  The ghostly tails are acheived through an accumulation + bloom rentertarget chain." style="WIDTH: 643px; HEIGHT: 376px" height=376 alt="In-game shot.  The ghosts are the purple spheres.  The ghostly tails are acheived through an accumulation + bloom rentertarget chain." src="http://www.zoneseek.net/images/blog06/lampgame.5.27.2007.jpg" width=643 mce_src="http://www.zoneseek.net/images/blog06/lampgame.5.27.2007.jpg"></P>
<P mce_keep="true"><A class="" href="http://www.zoneseek.net/images/blog06/lampgame.5.27.2007.bmp" target=_blank mce_href="http://www.zoneseek.net/images/blog06/lampgame.5.27.2007.bmp">Full-Size BMP</A></P>]]></content:encoded>
    </item>
    <item>
      <title>LampGame Update</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/lampgame-update</link>
      <pubDate>Mon, 30 Apr 2007 16:11:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2007/04/30/lampgame-update/</guid>
      <description><![CDATA[Despite my lack of posting, work on my ambient game continues.&nbsp; I'm working 60 to 90 hour weeks...]]></description>
      <content:encoded><![CDATA[<P>Despite my lack of posting, work on my ambient game continues.&nbsp; I'm working 60 to 90 hour weeks these days so I don't have a lot of free time for things like blogging, games, or sleep.&nbsp; Anyways, here's an updated screenshot from the game, complete with my first pass at rendering "ghosts".&nbsp; I say first pass in a very literal sense, as they are being rendered to an accumulation buffer which I haven't recombined into the scene yet.&nbsp; I'm still dealing with all manner of depth buffer issues, ranging from precision &amp; performance to simple order of operations.&nbsp;&nbsp;&nbsp;<IMG src="http://www.zoneseek.net/images/blog05/lampgame2007.04.30.jpg" mce_src="http://www.zoneseek.net/images/blog05/lampgame2007.04.30.jpg"></P>
<P><A class="" href="http://www.zoneseek.net/images/blog05/lampgame2007.04.30.bmp" mce_href="http://www.zoneseek.net/images/blog05/lampgame2007.04.30.bmp">Full Size Image 1</A></P>
<P><A class="" href="http://www.zoneseek.net/images/blog05/lampgame2007.04.28.bmp" mce_href="http://www.zoneseek.net/images/blog05/lampgame2007.04.28.bmp">Full Size Image 2</A></P>
<P mce_keep="true">&nbsp;</P>
<P>So my remaining graphics dev work items are:</P>
<UL>
<LI>New Bloom Shaders</LI>
<LI>Corona Post process effect</LI>
<LI>Accumulator add-in</LI>
<LI>Final Skydome with clouds and moon</LI>
<LI>Arena border clouds &amp; fog</LI>
<LI>Particle Effects Engine</LI>
<LI>HDR/tone-mapping investigation</LI>
<LI>Local light</LI>
<LI>Additional Lamp Geometry and lighting shaders</LI>
<LI>Text effects engine</LI></UL>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Lamp Lighting</title>
      <link>https://docs.microsoft.com/archive/blogs/rickhos/lamp-lighting</link>
      <pubDate>Wed, 04 Apr 2007 16:07:00 GMT</pubDate>
      <dc:creator><![CDATA[RickHos]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rickhos/2007/04/04/lamp-lighting/</guid>
      <description><![CDATA[In this update on River's End (previously Rox 3D), I'll be talking about the process by which I...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">In this update on River's End (previously Rox 3D), I'll be talking about the process by which I arrived at a lighting model for the paper lanterns that feature prominently in my new game.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Early on, I decided I wanted to blur the line between realism and style for this title.&nbsp; Obviously, any game featuring ghosts and river spirits doesn't really necessitate rigid adherence to the laws of physical light, but for the lamps I wanted something both neat-looking and recognizable.&nbsp; I began my research by looking at about 200-300 pictures of Toro Nagashi festivals, and hanging Chochin (paper lanterns).&nbsp; This process took about 2 or 3 hours to find enough subject matter, at which point I brought out the graph paper and started to sketch down notes.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The key elements were:<o:p></o:p></SPAN></P>
<UL type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">There is a view-dependant "hotspot" of light where the actual candle or light bulb sits in the lamp.&nbsp; It diffuses across the surface and creates a specular-like highlight.<o:p></o:p></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The “hostspot” falls off quickly relative to the distance between the candle and the paper surface.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This means that in a cube with a centered candle, the hotspot effect would be weakest at the corners.<o:p></o:p></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The paper in the lanterns are effectively emissive as well as picking up color from other light sources in the scene.&nbsp; The effect is so subtle though, that without a really bright lightsource, it's almost unnoticeable.<o:p></o:p></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The paper has a very noticeable cloudy texture in some cases.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>In others it’s an anisotropic effect of fins like accordion blinds.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This would require two separate approaches do differentiate those lamps.</SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"></SPAN><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">This&nbsp;post&nbsp;talks about the shader used for "faceted" lamps, or lamps without curved surfaces.&nbsp;&nbsp;</SPAN><o:p></o:p></SPAN>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">I had to reduce my observations to equation form.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>My final lamp shader has variety of uniform data, but initially, the falloff + view dependant relationship of the hotspot was my primary interest.</SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><IMG title="Straight lines are hard." style="WIDTH: 400px; HEIGHT: 600px" height=600 alt="Straight lines are hard." src="http://www.zoneseek.net/images/blog04/diagram01.jpg" width=400 mce_src="http://www.zoneseek.net/images/blog04/diagram01.jpg"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">As we see from this poorly constructed diagram that I made with Paint.Net, there are some obvious needs for uniform data.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>First we need to consider view and light position, adjusted for world coordinates.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-spacerun: yes"></SPAN><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">First lets concentrate on light falloff.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>That can be expressed in terms of the pixel’s distance from the center.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Since I’m working in Shader Model 2.0, and I want to get my pixel’s position in world coordinates, I have to pack the information into my vertex shader.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>In my shader code, that looks like this:</SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">float4 worldPos = mul(float4(input.Pos, 1), world);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">worldPos = worldPos / worldPos.w;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">output.WorldPos = worldPos;</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: Calibri; mso-no-proof: yes; mso-fareast-theme-font: minor-latin"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">All I’m doing is transforming the vertex position into world coordinates, dividing out W (since I want coordinates in the form of (x,y,z,1)), and setting it in the output.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Now the interpolator does the rest.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’m passing the WorldPos output using the TEXCOORD semantic, so the world space position will be properly represented at the pixel.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Now on to the pixel shader where the real work is being done.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The next set of functions are used to calculate a light “intensity” on the paper.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This is where the light falloff as a function of distance is represented.</SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">float3 lightDelta = input.WorldPos.xyz - worldLightPos;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">float lightIntensity = 1 - (saturate(pow(length(lightDelta), lightPower) * lightBrightness));<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: Calibri; mso-no-proof: yes; mso-fareast-theme-font: minor-latin"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The lightPower and lightBrightness parameters give me a means to control the rate of falloff with distance.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>That way I can turn up the lightPower to get a more focused light, and increase lightBrightness to get a larger hotspot.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Now the last part of equation factors in the view-dependant portion of the lighting function.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This function is not really based in reality – there’s no conservation of energy, I’m not calculating a proper light-scattering equation based on the light’s luminosity.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>This is a very unrealistic function that produces some spectacularly realistic results though, and that’s good enough for my purposes.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">float3 worldLightDir = normalize(lightDelta);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">float4 paper = tex2D(smp0, input.TexCoord);<SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">float4 color = (dot(input.ViewDir, worldLightDir) * lightIntensity * paper * lightColor)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">+ <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>(.5 * lampColor ) * paper;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">It’s not pretty, and the (.5 * lampColor * paper) is a contrivance.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I’ve built a more “realistic” function to represent the scattered light, but the results have been unsatisfying unless the parameters to the equation are about .5 * lampColor for each pixel anyways.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The paper texture I’m using is something I whipped up in Paint.Net using the Clouds and Pencil effects in a matter of about 5 minutes.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">And now the proof; without seeing the effect in action, it’s tough to get a good idea of how it looks.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I have provided a high-res screenshot though that should give some idea as to how the lighting plays out.&nbsp; I'm only using cubes as I haven't finished the look of the spheroid lamps yet.</SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><A class="" title="Bloom Disabled" href="http://www.zoneseek.net/images/blog04/lampgame01.jpg" mce_href="http://www.zoneseek.net/images/blog04/lampgame01.jpg">Bloom Disabled</A></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><A class="" title="Bloom Enabled" href="http://www.zoneseek.net/images/blog04/lampgame02.jpg" mce_href="http://www.zoneseek.net/images/blog04/lampgame02.jpg">Bloom Enabled</A></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">I’m very happy with this part of the game's visuals&nbsp;now.<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>The next big visual elements are my particle engine, my sky, and my “fog walls” which I hope to be demonstrating in my next post.</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p></o:p></SPAN></P>]]></content:encoded>
    </item>
  </channel>
</rss>