<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ice-blog &#187; Midnight</title>
	<atom:link href="http://www.icemark.com/blog/archives/category/midnight/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.icemark.com/blog</link>
	<description>The General Babblings from the author on Icemark.com</description>
	<lastBuildDate>Mon, 21 Jun 2010 22:04:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Doomdark&#8217;s Revenge</title>
		<link>http://www.icemark.com/blog/archives/2007/06/18/doomdarks-revenge-7/</link>
		<comments>http://www.icemark.com/blog/archives/2007/06/18/doomdarks-revenge-7/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 21:23:41 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2007/06/18/doomdarks-revenge-7/</guid>
		<description><![CDATA[I know it&#8217;s been a while since I posted or did anything on this project, but I finally got round to doing something again today. Firstly, I wrote a lot of code for DDR back in October 2006, I had a good few programming sessions on it, and then as usual faded away. I coded [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.icemark.com/blog/wp-content/upload/ddr_stamp1a.gif' alt='' class='alignleft'/><br />
I know it&#8217;s been a while since I posted or did anything on this project, but I finally got round to doing something again today.</p>
<p>Firstly, I wrote a lot of code for DDR back in October 2006, I had a good few programming sessions on it, and then as usual faded away. I coded most of the NPC&#8217;s AI; Follow Liege, Follow Foe, Go after Object, Go home, Do Nothing, Approach a Lord, Pickup Objects on their travels, and Move. I coded the moving mist and wild thing regeneration. I also coded most of the battle code&#8230; and then I got distracted by shiny objects.</p>
<p>Since then I&#8217;ve changed computers and compiler; so loading up the project yesterday I found that it didn&#8217;t compile in a big way. So tonight I have mainly spent all the time fixing compiler issues&#8230; and there are an awful lot of them.</p>
<p>One of the other problems I have had with the project is that the graphics are getting so complicated that while running in debug mode, the project runs a little slow. I&#8217;ve been putting up with it because it isn&#8217;t so bad in Release mode but slowly it has been getting me down and distracting me from the issues. It&#8217;s hard to test logic if the frontend isn&#8217;t working properly.</p>
<p>I&#8217;ve wanted to move the graphics subsytem to make use of the hardware. By moving the 2d logic to use 3d cards I would be able to massively speed everything up. However, I&#8217;m not a 3d programmer and again the task just keeps distracting me away from things.</p>
<p>I had a word with Jon Alma today who has been working on the <a href="http://perso.orange.fr/lost-realms/index.html">Legends Engine</a> and hopefully he is going to knock up a quick wrapper for some OpenGL stuff that will allow me to move the graphics forward and solve the speed issues.</p>
<p>So today I felt that I made a little progress&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2007/06/18/doomdarks-revenge-7/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Revenge</title>
		<link>http://www.icemark.com/blog/archives/2006/08/28/doomdarks-revenge-6/</link>
		<comments>http://www.icemark.com/blog/archives/2006/08/28/doomdarks-revenge-6/#comments</comments>
		<pubDate>Mon, 28 Aug 2006 14:31:19 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2006/08/28/doomdarks-revenge-6/</guid>
		<description><![CDATA[I sat down today to do some DDR code, first in a while, and spent 3 hours debugging some crashes! Don&#8217;t you just hate it when you leave your code in a none working state! One was some bad XML, incorrect closing elements, and the other was some memory being trashed. The memory problem was [...]]]></description>
			<content:encoded><![CDATA[<p>I sat down today to do some DDR code, first in a while, and spent 3 hours debugging some crashes!</p>
<p>Don&#8217;t you just hate it when you leave your code in a none working state! One was some bad XML, incorrect closing elements, and the other was some memory being trashed. The memory problem was due to my string class doing a shallow copy on assignment&#8230; well actually it wasn&#8217;t, but the compiler was for some reason not using my string assignment operator and instead doing it itself! Actually I have no idea what the compiler is doing at that point&#8230; grr&#8230;<br />
<span id="more-306"></span><br />
It seems that the compiler differentiates between these two bits of code&#8230;</p>
<p>figure1<br />
<code><br />
int example_function ( const string&#038; source )<br />
{<br />
   string new_string = source ;<br />
}<br />
</code></p>
<p>figure2<br />
<code><br />
int example_function ( const string&#038; source )<br />
{<br />
   string new_string ;</p>
<p>   new_string = source ;<br />
}<br />
</code></p>
<p>figure2 creates the correct constructor code for new_string and the correct assignment operator call for new_string = source. Figure one just makes new_string exactly equal to source. I think I must be missing something somewhere!</p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="C++" title="C++" href="http://technorati.com/tag/C%2B%2B" rel="tag" >C++</a>, <a target="_blank" alt="programming" title="programming" href="http://technorati.com/tag/programming" rel="tag" >programming</a>, <a target="_blank" alt="source" title="source" href="http://technorati.com/tag/source" rel="tag" >source</a>, <a target="_blank" alt="string" title="string" href="http://technorati.com/tag/string" rel="tag" >string</a>, <a target="_blank" alt="constructor" title="constructor" href="http://technorati.com/tag/constructor" rel="tag" >constructor</a>, <a target="_blank" alt="operator" title="operator" href="http://technorati.com/tag/operator" rel="tag" >operator</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2006/08/28/doomdarks-revenge-6/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Revenge</title>
		<link>http://www.icemark.com/blog/archives/2006/04/24/doomdarks-revenge-5/</link>
		<comments>http://www.icemark.com/blog/archives/2006/04/24/doomdarks-revenge-5/#comments</comments>
		<pubDate>Mon, 24 Apr 2006 12:11:58 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2006/04/24/doomdarks-revenge-5/</guid>
		<description><![CDATA[I just thought I&#8217;d post a progress report, because it probably seems like I&#8217;ve been sat on my arse doing nothing &#8211; which on the whole, is probably true. One of the main goals with The Midnight Engine, was its openness&#8230; this is part of the holy grail of all game development, the data driven [...]]]></description>
			<content:encoded><![CDATA[<p>I just thought I&#8217;d post a progress report, because it probably seems like I&#8217;ve been sat on my arse doing nothing &#8211; which on the whole, is probably true.</p>
<p>One of the main goals with The Midnight Engine, was its openness&#8230; this is part of the holy grail of all game development, the data driven engine (DDE); in this case I actually think it&#8217;s particularly important.</p>
<p><span id="more-239"></span></p>
<p>To me the DDE splits into two parts, the data and the scripting engine. The first is pretty obvious, one big database with all definitions for everything in the game. In TME this is a Access Database that gets exported to XML for the engine to read. It holds tables for Characters, Strongholds, Regiments, Waypoints, Races, Genders, Areas, etc&#8230;  Part of this is also configuration options. For example just one variable change will change how the recruitment model works&#8230; however there is also a need for some form of code scripting to allow a developer to make code changes without actually changing the engine. More on this later.</p>
<p>TME covers two destinct aspects, the frontend and the backend. The backend is the game engine and is completely seperated from any graphics output. This part of the engine can be used by 3rd parties and is indeed used by Andrew Smart&#8217;s wonderful War of the Solstice. The frontend is game driven and for my covers Lords of Midnight and Doomdark&#8217;s Revenge primarily. There are currently two versions of the frontend, the older LOM and the much newer DDR. </p>
<p>The transition from  LOM to DDR has seen the frontend engine change dramatically. In fact most of it has been re-written. And this is where my current slowdown has occured. Sometimes writing frontend GUI code is just damned tedious &#8211; add this to my requirement for openness.</p>
<p>The frontend is configured through a series of XML files, every screen, every gadget is held in an XML file. This stops the ending from being recompiled for every screen change. Now ultimately this is a honouress goal, however in the short term all functionality needs to be coded. Which in the end means that development of the engine and therefore DDR goes slower than I would like, but development for other scenarios or games that follow are easier. And crucially, this is what my eye is on. Yes we all want to play a nice shiny new LOM or DDR, but I also want to play The Citadel and Eye of the Moon.</p>
<p>So that&#8217;s a bit of background, what have I been doing latley?</p>
<p>Well I have the framework for the GUI in place and many of the gadets are fully operational. The last few days I&#8217;ve been adding data collection functionality. What this means is that when a screen is displayed, or screen fragment (think panel at the bottom), the screen has a entity attached to it. All controls/gadgets/widgets that belong to that screen can retrieve data about the entity and display it without the need for any engine code.</p>
<p>Here is an example. ( This is generic XML, the formatting has been changed only to show it here&#8230; I need a diff plugin to show XML/HTML tags )</p>
<p><code><br />
[guage id="ID_WARRIORS" zorder="2"]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[background]ui_panel/bckg_3a.tga[/background]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[knuckle]ui_panel/i_man.tga[/knuckle]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[pos]153,148[/pos]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[max]1200[/max]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[bound var="character"]warriors.total[/bound]<br />
[/guage]<br />
</code></p>
<p>Now this gadget can show everything it needs without any engine code at all. What actually happens is&#8230; the gadget is bound to the variable <strong>character</strong>. This is a unique identifier of an entity. The gadget is also bound to the variable <strong>warriors </strong>and element <strong>total</strong>. So when the screen is displayed or refreshed, the gadget can obtain the correct data from the correct character and process it for itself and display the result. Now the access to the data can be complex. We could for example say <strong>riders.race.name</strong> or even <strong>liege.stronghold.warriors.race</strong>. Each time the data engine knows where to do the relevant lookups to pull in new parts of data. In that case we Get the character record, then the liege character record, then the stronghold record etc&#8230;</p>
<p><img id="image241" height=60 alt=gui_example2.jpg src="http://www.icemark.com/blog/wp-content/uploads/2006/04/gui_example2.jpg" class="alignright"/>Using this method, the display of data is just then down to the interpretation of the gadget. With this version of the guage gadget, a knuckle (warrior) is displayed proportionally along the horizontal access of the background image. </p>
<p><img id="image242" height=57 alt=gui_example3.jpg src="http://www.icemark.com/blog/wp-content/uploads/2006/04/gui_example3.thumbnail.jpg" class="alignleft"/>In the following example the time is displayed by moving a sun icon into set positons on a curved image.</p>
<p><code><br />
[guage id="ID_TIME" zorder="2"]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[pos]144,96[/pos]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[background]ui_panel/bckg_4a.tga[/background]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[knuckle]ui_panel/i_sun.tga[/knuckle]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[points]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]5,32[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]15,21[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]29,12[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]45,7[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]63,5[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]80,7[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]96,12[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]110,21[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[point]120,33[/point]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[/points]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[max]8[/max]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[scale]200[/scale]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[bound var="character"]time[/bound]<br />
[/guage]</code></p>
<p><img id="image240" height=35 alt=gui_example1.jpg src="http://www.icemark.com/blog/wp-content/uploads/2006/04/gui_example1.thumbnail.jpg" class="alignright"/>Gadgets can also be enabled/disabled based on this information. Eg. a button may be bound to <strong>location.canHide</strong></p>
<p>To take that one step further the engine has bult in collections that a gadget can access. This can be used say if you wanted to list all the lords that are loyal to another lord <strong>qryLordsLoyalTo</strong>. Or all the lords at the current location <strong>qryLordsAtSameLocation</strong>. By binding a datagrid or a selector to one of these queries we can then display all the information about those other lords.</p>
<p><code><br />
[list id="ID_ALSOHERE"]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[bound var="character"]qryLordAlsohere[/bound]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[columns]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[cell source="name" format="string"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[cell source="time" format="hours"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[cell source="race.name" format="string"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[cell source="warriors.total" format="number"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[/columns]<br />
</code></p>
<p><img id="image243" src="http://www.icemark.com/blog/wp-content/uploads/2006/04/gui_example4.jpg" /></p>
<p>In time I would like to remove the predefined collections and just allow a very simple SQL type language to select the data.</p>
<p>The other stage of this is to action events. When a button is selected something has to happen&#8230;</p>
<p><code><br />
[button id="ID_LOOKLEFT" zorder="1" OnClick="Cmd_LookLeft" /]<br />
</code></p>
<p>This tells the engine to run the internal code command <strong>Cmd_LookLeft</strong>. Which currently looks like this.</p>
<p><code>GUI_EVENT ( Cmd_LookLeft )<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;character&#038; c = TME_CurrentCharacter();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;Character_LookLeft( c );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;LOOK_PANEL( MODE_LOOK );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;return TRUE ;<br />
}</code></p>
<p>Now, again ultimately there would be no need for the above code to be real code at all&#8230; it should just be scripting code and be included within the frontend XML file. I intend to do this in a future release, that is after DDR has been released. This script code would probably be JavaScript using SpiderMonkey &#8211; however as mentioned before, more to come on that later.</p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="The Midnight Engine" title="The Midnight Engine" href="http://technorati.com/tag/The%20Midnight%20Engine" rel="tag" >The Midnight Engine</a>, <a target="_blank" alt="Doomdark&#8217;s Revenge" title="Doomdark&#8217;s Revenge" href="http://technorati.com/tag/Doomdark%26%238217%3Bs%20Revenge" rel="tag" >Doomdark&#8217;s Revenge</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2006/04/24/doomdarks-revenge-5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Revenge</title>
		<link>http://www.icemark.com/blog/archives/2005/11/20/doomdarks-revenge-4/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/20/doomdarks-revenge-4/#comments</comments>
		<pubDate>Sun, 20 Nov 2005 23:38:49 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=179</guid>
		<description><![CDATA[I got the mist from Jure today, so here it is in all it&#8217;s glory. I&#8217;ve tried to get a few variant shots but the location that mist is in at the beginning isn&#8217;t great &#8211; and I have no night button working at the moment! The first shot is the opening screen, you will [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.icemark.com/blog/wp-content/upload/ddr_stamp1a.gif' alt='' class='alignleft'/> </p>
<p>I got the mist from Jure today, so here it is in all it&#8217;s glory. I&#8217;ve tried to get a few variant shots but the location that mist is in at the beginning isn&#8217;t great &#8211; and I have no night button working at the moment! The first shot is the opening screen, you will notice compared to the same screenshot posted the other day, the old mist has gone from the bottom right of the terrain, and the new improved one is in place. The other shots show off the mist more dramatically.  I also managed to do some work on that bottom left panel, not to mention fixing a few UI bugs.<br />
<span id="more-179"></span><br />
<a href='http://www.icemark.com/cgi-bin/winlompic.cgi?22'><img src="http://www.icemark.com/winlom99/screenshots/tm_Image22.jpg" alt='' /></a> <a href='http://www.icemark.com/cgi-bin/winlompic.cgi?23'><img src="http://www.icemark.com/winlom99/screenshots/tm_Image23.jpg" alt='' /></a><br />
<a href='http://www.icemark.com/cgi-bin/winlompic.cgi?24'><img src="http://www.icemark.com/winlom99/screenshots/tm_Image24.jpg" alt='' /></a> <a href='http://www.icemark.com/cgi-bin/winlompic.cgi?25'><img src="http://www.icemark.com/winlom99/screenshots/tm_Image25.jpg" alt='' /></a></p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="Lords of Midnight" title="Lords of Midnight" href="http://technorati.com/tag/Lords%20of%20Midnight" rel="tag" >Lords of Midnight</a>, <a target="_blank" alt="Doomdark&#8217;s Revenge" title="Doomdark&#8217;s Revenge" href="http://technorati.com/tag/Doomdark%26%238217%3Bs%20Revenge" rel="tag" >Doomdark&#8217;s Revenge</a>, <a target="_blank" alt="The Midnight Engine" title="The Midnight Engine" href="http://technorati.com/tag/The%20Midnight%20Engine" rel="tag" >The Midnight Engine</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/20/doomdarks-revenge-4/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Revenge</title>
		<link>http://www.icemark.com/blog/archives/2005/11/18/doomdarks-revenge-3/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/18/doomdarks-revenge-3/#comments</comments>
		<pubDate>Fri, 18 Nov 2005 00:12:09 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=176</guid>
		<description><![CDATA[I am going to try and get this project going by blogging about it. I&#8217;m going to tell you want I am up to, and what I achieve a little bit at a time. And hopefully that will keep me building the project, one bit at a time. Anyway, in the spirit of that; here [...]]]></description>
			<content:encoded><![CDATA[<p>I am going to try and get this project going by blogging about it. I&#8217;m going to tell you want I am up to, and what I achieve a little bit at a time. And hopefully that will keep me building the project, one bit at a time.</p>
<p>Anyway, in the spirit of that; here is the current situation.<span id="more-176"></span></p>
<p>I re-wrote all the UI stuff and putting it all back has been a pain in the ass &#8211; and currently because I can&#8217;t navigate around the game properly, I tend not to do it I think. Slowly the UI functionality has been coming back and tonight I fixed the last remaining shortcut keys bug, which means that the keyboard is now working correctly. <img src='http://www.icemark.com/blog/wp-content/upload/popupwindow.jpg' alt='Popup Box' class='alignright'/> More importatnly that means that I can move around the views using just the cursor keys. So that was today&#8217;s task done.<br />
The other day I finalised the box drawing code. Boxes look like this image on the right&#8230;  The two gargoyle things on the edges are optional&#8230; both, none, left, or right. This now means that I can start work on all the popup windows that come up during the game.</p>
<p><img src='http://www.icemark.com/blog/wp-content/upload/panel_right.jpg' alt='' class='alignleft'/> <enter />The panel is almost finished apart from this part on the left side of it. There are a few bits of dynamic information to add to that part.<br />
<enter /><br />
<enter /><br />
<enter /><br />
<enter /><br />
<enter /></p>
<li>There is the horse head to show that you are &#8216;on horseback&#8217;. </li>
<li>The eye for &#8216;Character Info&#8217;. </li>
<li>A weapon to show you are &#8216;in battle&#8217;. </li>
<li>The sun arc shows the time of day. </li>
<li>The diamond is your health.</li>
<li>A man gauge to show warriors.</li>
<li>A horse guage to show riders.</li>
<li>The day night button.</li>
<li>The current character portrait.</li>
<p>The left hand part of the panel is now my next mini task&#8230;</p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="Lords of Midnight" title="Lords of Midnight" href="http://technorati.com/tag/Lords%20of%20Midnight" rel="tag" >Lords of Midnight</a>, <a target="_blank" alt="Doomdark&#8217;s Revenge" title="Doomdark&#8217;s Revenge" href="http://technorati.com/tag/Doomdark%26%238217%3Bs%20Revenge" rel="tag" >Doomdark&#8217;s Revenge</a>, <a target="_blank" alt="The Midnight Engine" title="The Midnight Engine" href="http://technorati.com/tag/The%20Midnight%20Engine" rel="tag" >The Midnight Engine</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/18/doomdarks-revenge-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Jigsaw Puzzle</title>
		<link>http://www.icemark.com/blog/archives/2005/11/17/doomdarks-jigsaw-puzzle/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/17/doomdarks-jigsaw-puzzle/#comments</comments>
		<pubDate>Thu, 17 Nov 2005 00:30:21 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=171</guid>
		<description><![CDATA[I&#8217;m going to post a few blog entries regarding technical issues in the Doomdark&#8217;s Revenge frontend for TME and TME itself. I wanted to talk about some of the more interesting things that are going on inside it from my point of view. It will help to give an insight but maybe also fill the [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.icemark.com/blog/wp-content/upload/mountain_jigsaw.jpg'><img src='http://www.icemark.com/blog/wp-content/upload/thumb-mountain_jigsaw.jpg' alt='The Moutain Ranges...' class='alignright' /></a>I&#8217;m going to post a few blog entries regarding technical issues in the Doomdark&#8217;s Revenge frontend for TME and TME itself. I wanted to talk about some of the more interesting things that are going on inside it from my point of view. It will help to give an insight but maybe also fill the void of no product! <span id="more-171"></span></p>
<p><strong>1 &#8211; Patches</strong><br />
The base graphic system is built on the concept of &#8216;patches&#8217;. A patch is a graphic xml file format. It holds instructions on how to draw various graphics based on other graphics.  The idea for the system came from my interview with Mike Singleton for Retro Gamer. In it he talks about displaying the terrain for Eye of the Moon using component parts, allowing for a more varied landscape. So when I started on DDR, I thought; why not&#8230;  <!--more--></p>
<p>In it&#8217;s very simplist form a patch would just hold the filename of the actual graphic to use in order to display the patch.<br />
<code><br />
[patch id='MAP' x='0' y='0' ]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file='terrain\map\t2_forest8.tga' /]<br />
[/patch]<br />
</code><br />
Now getting more complex the patch can reference another patch and also more crutially reference variables. So it can decide to include a graphic or patch depending on conditions that have been setup prior to the patch being displayed. If we used the simple example of scale, the patch file can choose different images to display depending on what scale we wish to draw the graphic at. This allows for the effect of mip-map rather than allowing the graphics device to scale the pixels. This might mean that you get a better finish on the graphic, however, in most of the cases in DDR, this means we can subtly change the image because, a smaller scale usually means further away, and thus we can apply some form of distance effect to the image in pre-production rather than at post.<br />
<code><br />
[patch id="_default" ]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="1.00" var="6" value="0"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.70" var="6" value="1"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.45" var="6" value="2"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.37" var="6" value="3"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.28" var="6" value="4"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.21" var="6" value="5"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.17" var="6" value="6"  /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[image file="t2_forest0.tga" scale="0.13" var="6" value="7"  /]<br />
[/patch]<br />
</code><br />
This patch uses the same image but scales it depending on the size variable.</p>
<p>Some of the variables that a patch has access to are&#8230;</p>
<li>Var[1] is used for exit type. 1 = manmade, 0 = natural</li>
<li>Var[2] is used for movement step. currently 0 or 1</li>
<li>Var[3] is used for tunnel type. 1 = manmade, 0 = natural</li>
<li>Var[4] direction 0 &#8211; 7</li>
<li>Var[5] dir north &#038; east = 1 south &#038; west = 0</li>
<li>Var[6] size 0 1 2 3</li>
<li>Var[7] domain</li>
<li>var[8] domain % 10</li>
<li>var[9] terrain</li>
<li>chance%</li>
<p>By working with these variables we can display the same patch file, but allow the patch file to decide how it should display itself. So for example in the tunnels the patch would check the direction vars to decide if a patch should be on the left or right of the screen. Thus giving the correct affect of looking up or down a tunnel. It might also use the domain variables to decide a look for the graphic; it might display beams in the tunnel for particular values of domain.<br />
<code><br />
[patch id="VIEW"]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="forest-leaf" var="8" value="2" cond="< " break="true"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="forest-leaf-pine" var="8" value="7" cond="<" break="true"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="forest-pine"/]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[/patch]<br />
</code><br />
This tree patch uses the domain%10 variable to decide on the type of forest that the patch belongs to. Here we have 3 types of base forest type. This makes the forests on the landscape different depending on where on the map you are.</p>
<p>A patch also has its own random no which is used for the chance% variable, this random is seeded to a value specific to the use of the patches. For terrain patches this is based on the coordinates at the domain. What this means is that every time that patch is drawn for a given location, the random no sequence will always be the same. This allows a patch to behave differently from an adjoining location, but always the same at the same location.<br />
</code><code><br />
[patch id="VIEW" ]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="mount-small" chance="15" break="true" /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="mount-very-big" chance="15" break="true" /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="mount-small-medium" chance="30" break="true" /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="mount-big" chance="30" break="true" /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[patch id="mount-medium" /]<br />
&nbsp;&nbsp;&nbsp;&nbsp;[/patch]<br />
</code><br />
This patch is for a mountain. You can see hat there is a 15% chance of the mountain being small, 15% chance of very big, 30% chance of small-medium, 30% chance of big, otherwise it's medium. What this does is make sure that a single moutain is not always the same size. You could check the domain an have a graphic without snow or have all mountains in a particular range being the same size.</p>
<p>Now as these patches break down further we can use it to build up parts of the image itself and not just choose what image to display. If you click on the image of the moutains you will see that there are 10 different images used to make a mountain. We use either 'base' or 'small' to start with, but overlay any or even all of the component parts of the base image to create a multitude of mountain types. Because a patch can reference a patch, then very complex sub routines of patches can be developed and then called upon randomly to build up the images. So if you break the image down to many smaller parts, then the final result can be very complex and have a tremendous amount of variations, but the patch code can be relatively simple. By using the numerous variables at our disposal we can make sure that the mountains of the Icemark are very varied without too much effort, or too many graphics.</p>
<p>To me, this is one area that is very exciting for Doomdark's Revenge. It means that the landscape becomes very rich and varied and removes the monotony of seeing the same terrain over and over again. The same system can be used for people...</p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="Lords of midnight" title="Lords of midnight" href="http://technorati.com/tag/Lords%20of%20midnight" rel="tag" >Lords of midnight</a>, <a target="_blank" alt="Doomdark's Revenge" title="Doomdark's Revenge" href="http://technorati.com/tag/Doomdark%27s%20Revenge" rel="tag" >Doomdark's Revenge</a>, <a target="_blank" alt="The Midnight Engine" title="The Midnight Engine" href="http://technorati.com/tag/The%20Midnight%20Engine" rel="tag" >The Midnight Engine</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/17/doomdarks-jigsaw-puzzle/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Purple Haze</title>
		<link>http://www.icemark.com/blog/archives/2005/11/16/doomdarks-purple-haze/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/16/doomdarks-purple-haze/#comments</comments>
		<pubDate>Wed, 16 Nov 2005 17:53:36 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=170</guid>
		<description><![CDATA[As part of the graphics effects for Doomdark&#8217;s Revenge, Jure and I implemented a haze effect to the landscaping. The mechanic is simple if a little processor hungry. The landscaping technique draws from back to front using seven definitive distance layers, z axis if you like. So what we do in DDR is after every [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.icemark.com/blog/wp-content/upload/ddr_haze.jpg'><img src='http://www.icemark.com/blog/wp-content/upload/thumb-ddr_haze.jpg' alt='Doomdark\&#39;s Revenge - Haze' class='alignright'/> </a>As part of the graphics effects for Doomdark&#8217;s Revenge, Jure and I implemented a haze effect to the landscaping. The mechanic is simple if a little processor hungry. The landscaping technique draws from back to front using  seven definitive distance layers, z axis if you like. So what we do in DDR is after every layer has been drawn, we apply a haze alpha mask to modify the pixels drawn. The layer at the back will get modified by every haze layer and thus thicken up the haze fogginess in the distance. You can see the affect on the image here &#8211; click to get a bigger view. This is an example of the amount of extra processing taking place in the DDR frontend. What I would like to see is the system moved to using 3d hardware, this would allow effects like this to be done using pixel shaders. This combined with hardware drawing in general would make the DDR frontend function with little graphic overhead.<br />
<span id="more-170"></span><br />
<a href='http://www.icemark.com/cgi-bin/winlompic.cgi?20'><img src="http://www.icemark.com/winlom99/screenshots/tm_Image20.jpg" alt="" class='alignleft'/></a>Here&#8217;s a screenshot of the opening view at dawn. It shows off three things; the first being the box that the location text is displayed in, the second is the the dawn effect, and the third is the sun. The sun is now treated like an independent object like the moon.  Which means it can be scaled and positioned without having to be applied to a fixed background; a glare effect is then added to the scenery.</p>
<p><a href='http://www.icemark.com/cgi-bin/winlompic.cgi?21'><img src="http://www.icemark.com/winlom99/screenshots/tm_Image21.jpg" alt="" class='alignright'/></a>This final image shows an exit from the tunnels. As I&#8217;ve mentioned before, the tunnels like all the other terrain graphics, are made up of patches. This means we can get a lot of variety into the visuals depending where on the map you are. This is an exit into a man made building rather than a pit. </p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="Lords of midnight" title="Lords of midnight" href="http://technorati.com/tag/Lords%20of%20midnight" rel="tag" >Lords of midnight</a>, <a target="_blank" alt="Doomdark&#8217;s Revenge" title="Doomdark&#8217;s Revenge" href="http://technorati.com/tag/Doomdark%26%238217%3Bs%20Revenge" rel="tag" >Doomdark&#8217;s Revenge</a>, <a target="_blank" alt="The Midnight Engine" title="The Midnight Engine" href="http://technorati.com/tag/The%20Midnight%20Engine" rel="tag" >The Midnight Engine</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/16/doomdarks-purple-haze/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Retro Blogging</title>
		<link>http://www.icemark.com/blog/archives/2005/11/14/retro-blogging/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/14/retro-blogging/#comments</comments>
		<pubDate>Mon, 14 Nov 2005 23:21:46 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[Midnight]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2005/11/14/retro-blogging/</guid>
		<description><![CDATA[I&#8217;m retro posting my diary for Winlom99 ( aka The Midnight Engine ), into this blog, as it now seems a more appropriate way of cataloging it. Also it would allow you to use your RSS reader to pickup updates as a feed from now on&#8230; Here is a category search&#8230;]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m retro posting my diary for Winlom99 ( aka The Midnight Engine ), into this blog, as it now seems a more appropriate way of cataloging it. Also it would allow you to use your RSS reader to pickup updates as a <a href="http://www.icemark.com/blog/archives/category/midnight/engine/feed">feed</a> from now on&#8230;</p>
<p><a href="http://www.icemark.com/blog/archives/category/midnight/engine/">Here</a> is a category search&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/14/retro-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Lords of Midnight Remake?</title>
		<link>http://www.icemark.com/blog/archives/2005/11/07/another-lords-of-midnight-remake/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/07/another-lords-of-midnight-remake/#comments</comments>
		<pubDate>Mon, 07 Nov 2005 09:51:25 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Midnight]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2005/11/07/another-lords-of-midnight-remake/</guid>
		<description><![CDATA[Iain makes an interesting point on Bark and Byte about remaking Lords of Midnight or Doomdark&#8217;s Revenge using the Rome &#8211; Total War engine. The Lords of midnight, Rome Total War]]></description>
			<content:encoded><![CDATA[<p>Iain makes an interesting point on <a href="http://barkandbyte.blogspot.com">Bark and Byte</a> about <a href="http://barkandbyte.blogspot.com/2005/09/byte-resistance-is-feudal.html">remaking Lords of Midnight or Doomdark&#8217;s Revenge</a> using the Rome &#8211; Total War engine. </p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="The Lords of midnight" title="The Lords of midnight" href="http://technorati.com/tag/The%20Lords%20of%20midnight" rel="tag" >The Lords of midnight</a>, <a target="_blank" alt="Rome Total War" title="Rome Total War" href="http://technorati.com/tag/Rome%20Total%20War" rel="tag" >Rome Total War</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/07/another-lords-of-midnight-remake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lords of Midnight</title>
		<link>http://www.icemark.com/blog/archives/2005/11/05/lords-of-midnight-2/</link>
		<comments>http://www.icemark.com/blog/archives/2005/11/05/lords-of-midnight-2/#comments</comments>
		<pubDate>Sat, 05 Nov 2005 15:53:04 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Midnight]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[lom]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=145</guid>
		<description><![CDATA[Just picked up on a Lords of Midnight Article that indirectly talks a little about the atmosphere of Midnight. However, despite its strong sense of location, there was little impetus to idly explore the countryside. While the land of Midnight has a stark beauty, the limited range of elements leaves little room for any surprises. [...]]]></description>
			<content:encoded><![CDATA[<p>Just picked up on a <a href="http://www.unsavedprogress.com/article/30/lords-of-what-by-rsb-160905">Lords of Midnight Article</a>  that indirectly talks a little about the atmosphere of Midnight.</p>
<blockquote><p>However, despite its strong sense of location, there was little impetus to idly explore the countryside. While the land of Midnight has a stark beauty, the limited range of elements leaves little room for any surprises. If you’ve seen one mountain you’ve literally seen them all, so the few times the game does surprise, the impact is all the more for it. One of the more spellbinding moments came late into the game, when I felt like I was further north than any other man had ever been, and I saw ahead of me distant tower. Except that it nestled safely behind the frozen wastes. Having become accustomed to the frozen waste’s role as the implacable edge of the game, this seems like a mirage. Or a bug. Any thought about the campaign at hand was put to one side as I explored this anomaly. And so it was: in one corner of the world it was possible pick a path through the wastes into a little oasis of land. It’s a small, unremarkable thing, but when I was there, surrounded by the claw-like peaks of the frozen wastes, it felt like a real discovery. </p></blockquote>
<p>I gave it a little thought and wondered what it is about the game that has drawn me to it for 20 years. I think that the beauty of Midnight is in the atmosphere of the imagination. For some reason that game landscape just allowed the imagination to run free. Once I started playing the game I would just get lost in the story of it. I still do. Which is one of the reasons whyI set up the <a href="http://wiki.icemark.com">wiki</a> to try an realise all the information that we know about, and create so much more that we don&#8217;t. I want the place to be real, I want the place to live. Yes, the story is full of typical fantasy cliches but there are so many oppurtunities to iron them out and create a very interesting place that more people could inhabit. I am closer to the characters of Midnight, than probably any book that I have ever read. Would I rather have Midnight or Lord of the Rings? Midnight every time!</p>
<p>Wayne Britcliffe caught the mood just about right in my <a href="http://www.icemark.com/tower/retrogamer/index.htm">Retro Gamer Article</a>..</p>
<blockquote><p>Even when actually playing the games your imagination takes you beyond, especially in the case of the original&#8217;s 8-bit limitations, what you are actually presented with. Swords clash, men scream, the plains fill with marauding enemy armies and smoke rises in the distance as snow begins to fall. Lord Blood dies surrounded by those he has slain in the gatehouse of his overrun Keep &#8211; a valiant defence against impossible odds. Shimeril escapes by the skin of his teeth only to have to turn and fight before his Citadels walls.</p></blockquote>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="The Lords of midnight" title="The Lords of midnight" href="http://technorati.com/tag/The%20Lords%20of%20midnight" rel="tag" >The Lords of midnight</a>, <a target="_blank" alt="Lord of the Rings" title="Lord of the Rings" href="http://technorati.com/tag/Lord%20of%20the%20Rings" rel="tag" >Lord of the Rings</a>, <a target="_blank" alt="Mike Singleton" title="Mike Singleton" href="http://technorati.com/tag/Mike%20Singleton" rel="tag" >Mike Singleton</a>, <a target="_blank" alt="Retro Gamer" title="Retro Gamer" href="http://technorati.com/tag/Retro%20Gamer" rel="tag" >Retro Gamer</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/11/05/lords-of-midnight-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lords of Midnight</title>
		<link>http://www.icemark.com/blog/archives/2005/10/27/lords-of-midnight/</link>
		<comments>http://www.icemark.com/blog/archives/2005/10/27/lords-of-midnight/#comments</comments>
		<pubDate>Thu, 27 Oct 2005 10:43:05 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Midnight]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[lom]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=143</guid>
		<description><![CDATA[Dehumanizer has written a small write up of Lords of Midnight over on his site; Games of My Life. He discusses the merits of the game when you consider it as a Lord of the Rings inspired epic. See Also: Similarties to other Fantasy Stoires&#8230; The Lords of Midnight, Games of My Life, Lord of [...]]]></description>
			<content:encoded><![CDATA[<p>Dehumanizer has written a small write up of  <a href="http://games.dehumanizer.com/2005/10/25/lords-of-midnight-zx-spectrum-commodore-64-1984/">Lords of Midnight</a> over on his site;  <a href="http://games.dehumanizer.com/">Games of My Life.</a></p>
<p>He discusses the merits of the game when you consider it as a <a target="_blank" alt="Lord of the Rings" title="Lord of the Rings" href="http://en.wikipedia.org/wiki/Lord%20of%20the%20Rings" rel="tag">Lord of the Rings</a> inspired epic.</p>
<p>See Also:  <a href="http://wiki.icemark.com/index.php?title=Similarities_to_Other_Fantasy_Stories">Similarties to other Fantasy Stoires&#8230;</a></p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="The Lords of Midnight" title="The Lords of Midnight" href="http://technorati.com/tag/The%20Lords%20of%20Midnight" rel="tag" >The Lords of Midnight</a>, <a target="_blank" alt="Games of My Life" title="Games of My Life" href="http://technorati.com/tag/Games%20of%20My%20Life" rel="tag" >Games of My Life</a>, <a target="_blank" alt="Lord of the Rings" title="Lord of the Rings" href="http://technorati.com/tag/Lord%20of%20the%20Rings" rel="tag" >Lord of the Rings</a><br/>
<a href="http://en.wikipedia.org/"><img src="http://www.icemark.com/blog/wp-images/wiki_small.gif" width="16" height="16" alt="Wikipedia"/></a> <a target="_blank" alt="Lord of the Rings" title="Lord of the Rings" href="http://en.wikipedia.org/wiki/Lord%20of%20the%20Rings">Lord of the Rings</a>]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/10/27/lords-of-midnight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doomdark&#8217;s Revenge</title>
		<link>http://www.icemark.com/blog/archives/2005/09/13/doomdarks-revenge-2/</link>
		<comments>http://www.icemark.com/blog/archives/2005/09/13/doomdarks-revenge-2/#comments</comments>
		<pubDate>Tue, 13 Sep 2005 20:02:44 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Midnight]]></category>
		<category><![CDATA[Remakes]]></category>
		<category><![CDATA[Retro]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2005/09/13/doomdarks-revenge/</guid>
		<description><![CDATA[I&#8217;ve been having a hard time with my work on The Midnight Engine I get so little done nowdays and I&#8217;ve started to get disheartened by it. Anyway after a plea for help from the rest of the midnight commuity I think I may be ready to get on it again&#8230; watch this space&#8230;]]></description>
			<content:encoded><![CDATA[<p align="center"><a href="http://www.icemark.com/luxor/ddr_teaser.jpg"><img src="http://www.icemark.com/luxor/ddr_teaser_small.jpg" alt="Are you thinking what we're thinking...?"  /></a></p>
<p>I&#8217;ve been having a hard time with my work on <a href="http://www.icemark.com/winlom99">The Midnight Engine</a> I get so little done nowdays and I&#8217;ve started to get disheartened by it. Anyway after a plea for help from the rest of the <a href="http://games.groups.yahoo.com/group/midnight/">midnight commuity</a> I think I may be ready to get on it again&#8230; watch this space&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/09/13/doomdarks-revenge-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Midnight Engine</title>
		<link>http://www.icemark.com/blog/archives/2005/05/24/the-midnight-engine-5/</link>
		<comments>http://www.icemark.com/blog/archives/2005/05/24/the-midnight-engine-5/#comments</comments>
		<pubDate>Tue, 24 May 2005 18:00:49 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[ddr]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/archives/2005/05/24/the-midnight-engine-5/</guid>
		<description><![CDATA[The midnight engine DDR port is about 75% done. The base engine has been changed to handle most of the differences in a global fashion, however, I have created multiple versions of a mechanic where needed. eg. A scenario writer chooses which type of battle system, recruitment system, etc&#8230; Lately I have got caught up [...]]]></description>
			<content:encoded><![CDATA[<p>The midnight engine DDR port is about 75% done. </p>
<p>The base engine has been changed to handle most of the differences in a global fashion, however, I have created multiple versions of a mechanic where needed. eg. A scenario writer chooses which type of battle system, recruitment system, etc&#8230; </p>
<p>Lately I have got caught up the the frontend &#8211; this has been rewritten to allow easy change, the idea being that scenario writers can affect the frontend as well. However this has been much more of a pain than I anticipated and has, to be honest, bogged me down! </p>
<p>I got over a major hurdle today, and thus I hope to get back on track. </p>
<p>The graphics system has completely changed from the LOM version, and anyone who has seen the screenshots will admit it looks lovely. The whole engine works with a patch system allowing for the terrain to change depending on which location it is, this means that the panormics look differently all the time. This process is also used in the tunnles which allows the tunnels to have distinct appearnces depending on where you are. </p>
<p>Ther resolution is 1024x768x32 &#8211; which is causing some speed issues at the moment, due to the amount of graphic work being implemented. For example, there is a haze layer that is applied over the seven sizes(distance) of graphics. In some way almost every pixel is adjusted a number of times before being written to the screen. This will all get sped up at the end. </p>
<p>Jure has produced lots of new graphics, and has worked with Bill to use the DDR shield templates and produce TME versions &#8211; thus keep consistency across the midnight games. </p>
<p>The last work that I know Jure was working on was the fog system, and we also discussued and inverse landscaping for the sky. </p>
<p>I recently implemented all of Andrews TME mods that he used for WOTS into the new codebase, and will be handing a version of TME over to him real soon so that he can hopefully get moving around the DDR map in the WOTS engine. </p>
<p>Hopefully, once I had it over, requests from Andrew combined with my own needs will move the project along.</p>
<a href="http://technorati.com/tags/"><img src="http://www.icemark.com/blog/wp-images/technorati_small.gif" width="16" height="15" alt="Technorati"/></a> <a target="_blank" alt="Lords of midnight" title="Lords of midnight" href="http://technorati.com/tag/Lords%20of%20midnight" rel="tag" >Lords of midnight</a>, <a target="_blank" alt="Doomdark&#8217;s Revenge" title="Doomdark&#8217;s Revenge" href="http://technorati.com/tag/Doomdark%26%238217%3Bs%20Revenge" rel="tag" >Doomdark&#8217;s Revenge</a>, <a target="_blank" alt="The Midnight Engine" title="The Midnight Engine" href="http://technorati.com/tag/The%20Midnight%20Engine" rel="tag" >The Midnight Engine</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/05/24/the-midnight-engine-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2005</title>
		<link>http://www.icemark.com/blog/archives/2005/01/01/2005/</link>
		<comments>http://www.icemark.com/blog/archives/2005/01/01/2005/#comments</comments>
		<pubDate>Sat, 01 Jan 2005 21:20:34 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Midnight]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=77</guid>
		<description><![CDATA[Well 2004 was an interesting and trying year, and I hope 2005 fairs better. My resolution for this year is to get back to be organised. Over the last few years my self organisation has slipped muchly and every part of my life now requires that my organisation skills get back on track. Things to [...]]]></description>
			<content:encoded><![CDATA[<p>Well 2004 was an interesting and trying year, and I hope 2005 fairs better.</p>
<p>My resolution for this year is to get back to be organised. Over the last few years my self organisation has slipped muchly and every part of my life now requires that my organisation skills get back on track.</p>
<p>Things to do:</p>
<p><strong>Personal</strong><br />
Finish TME ( Doomdark&#8217;s Revenge Scenario )<br />
Start TME tools for Scenario writing &#8211; or preferably Igor will work on UniMapGen and his suit of tools.<br />
Finish Wizards Lair Dataformat for John Dow<br />
Finish Firelord Dataformat for&#8230;<br />
Finish Spectrum Dataformat DISZ80 Tools<br />
Revamp website<br />
Add all Doomdark&#8217;s revenge section to website<br />
Work on Midnight/MU Campaign Manager<br />
Work on Midnight/MU Forum Website<br />
Work on &#8216;Personal Jesus&#8217; &#8211; My Novel #1<br />
Work on &#8216;The Harry Anderson Journals&#8217; &#8211; My Novel #2<br />
Work on &#8216;unamed&#8217; &#8211; My novel #3<br />
Finish Retro Articles<br />
Write new articles<br />
College<br />
Get fit<br />
Lose weight</p>
<p><strong>Home</strong><br />
Decorate New study, Rebekah&#8217;s Bedroom, Jacob&#8217;s Bedroom, Victoria&#8217;s and my Bedroom<br />
Work on the Garden<br />
Fix Garage Door<br />
Convert Loft<br />
Decorate Stairs and Landing<br />
Spend more time with Victoria and the Kids</p>
<p>So, as you can see, my life is a little busy and I have a lot to do&#8230; aim high as they say!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2005/01/01/2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DDR User Interface</title>
		<link>http://www.icemark.com/blog/archives/2004/12/29/ddr-user-interface/</link>
		<comments>http://www.icemark.com/blog/archives/2004/12/29/ddr-user-interface/#comments</comments>
		<pubDate>Wed, 29 Dec 2004 01:10:34 +0000</pubDate>
		<dc:creator>Chris Wild</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Midnight]]></category>

		<guid isPermaLink="false">http://www.icemark.com/blog/?p=76</guid>
		<description><![CDATA[Well I&#8217;ve finally got around to doing some work on DDR over the festive period. As mentioned before, I have to rewrite the UI, which is what I&#8217;m doing at the moment. It&#8217;s one of those laborious jobs, but everything will be good because of it! Trust me!]]></description>
			<content:encoded><![CDATA[<p>Well I&#8217;ve finally got around to doing some work on DDR over the festive  period. As mentioned before, I have to rewrite the UI, which is what I&#8217;m doing at the moment. It&#8217;s one of those laborious jobs, but everything will be good because of it! Trust me!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icemark.com/blog/archives/2004/12/29/ddr-user-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
