<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Basternae.org</title>
	<link>http://basternae.org/blog</link>
	<description>Basternae MUD</description>
	<pubDate>Tue, 09 Sep 2008 20:06:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Magma MUD 3.04 Released!</title>
		<link>http://basternae.org/blog/2008/09/09/magma-mud-304-released/</link>
		<comments>http://basternae.org/blog/2008/09/09/magma-mud-304-released/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 20:06:04 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Magma Codebase]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/09/09/magma-mud-304-released/</guid>
		<description><![CDATA[I&#8217;ve made a minor update to the Magma codebase.  Here&#8217;s what&#8217;s changed:
1. Added support for loading 4 of the 5 remaining Envy 2.2 zones that wouldn&#8217;t load.
2. Bundled the MakeZonesFast32 and DikuEdit 3.10 zone editors in the MUD package.
3. Added DOS conversion utilities for assembling DikuEdit zones (makezone.bat).
MagmaMUD 3.04 is available for download at FindMUD.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made a minor update to the Magma codebase.  Here&#8217;s what&#8217;s changed:</p>
<p>1. Added support for loading 4 of the 5 remaining Envy 2.2 zones that wouldn&#8217;t load.<br />
2. Bundled the MakeZonesFast32 and DikuEdit 3.10 zone editors in the MUD package.<br />
3. Added DOS conversion utilities for assembling DikuEdit zones (makezone.bat).</p>
<p>MagmaMUD 3.04 is available for download at <a href="http://findmud.com/magma-mud">FindMUD</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/09/09/magma-mud-304-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Resharper 4.0</title>
		<link>http://basternae.org/blog/2008/08/24/resharper-40/</link>
		<comments>http://basternae.org/blog/2008/08/24/resharper-40/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 16:51:19 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Microsoft Visual Studio]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/08/24/resharper-40/</guid>
		<description><![CDATA[Last year I tried the Resharper 3 plugin for Visual Studio, and posted my thoughts on it:
http://basternae.org/blog/2007/07/26/jetbrains-resharper/
It was OK, but not all that special.  It had potential, but wasn&#8217;t quite &#8220;there&#8221; yet.
I just finished trying out Resharper 4.0 and you could paste the Resharper 3.0 review in its place.  It&#8217;s neat, but not [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I tried the Resharper 3 plugin for Visual Studio, and posted my thoughts on it:</p>
<p><a href="http://basternae.org/blog/2007/07/26/jetbrains-resharper/">http://basternae.org/blog/2007/07/26/jetbrains-resharper/</a></p>
<p>It was OK, but not all that special.  It had potential, but wasn&#8217;t quite &#8220;there&#8221; yet.</p>
<p>I just finished trying out Resharper 4.0 and you could paste the Resharper 3.0 review in its place.  It&#8217;s neat, but not so neat that it&#8217;s a &#8216;must have&#8217; utility.  The features added in the latest version really aren&#8217;t anything I find useful &#8212; I don&#8217;t refactor Visual Basic, don&#8217;t use LINQ, etc.</p>
<p>It does, however, appear to run a little faster than version 3.  That might just be the system I&#8217;m using it with, but the slowness is no longer an annoyance.</p>
<p>I&#8217;ll keep my eye on it.  Maybe they&#8217;ll add something I can&#8217;t live without in a later version.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/08/24/resharper-40/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Re-Preview Of The Editor</title>
		<link>http://basternae.org/blog/2008/08/08/a-re-preview-of-the-editor/</link>
		<comments>http://basternae.org/blog/2008/08/08/a-re-preview-of-the-editor/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 01:11:13 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Areas/Zones]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/08/08/a-re-preview-of-the-editor/</guid>
		<description><![CDATA[Yesterday I said the area format wasn&#8217;t likely to change.  That was before I finished the code-data separation.
BasternaeEditorPreview2.zip
The same warnings from preview version 1 still applies.
]]></description>
			<content:encoded><![CDATA[<p>Yesterday I said the area format wasn&#8217;t likely to change.  That was before I finished the code-data separation.</p>
<p><a href="http://www.basternae.org/BasternaeEditorPreview2.zip">BasternaeEditorPreview2.zip</a></p>
<p>The same warnings from preview version 1 still applies.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/08/08/a-re-preview-of-the-editor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First Zone Editor Preview Version</title>
		<link>http://basternae.org/blog/2008/08/07/first-zone-editor-preview-version/</link>
		<comments>http://basternae.org/blog/2008/08/07/first-zone-editor-preview-version/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 03:37:02 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Areas/Zones]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/08/07/first-zone-editor-preview-version/</guid>
		<description><![CDATA[Here&#8217;s the first view of the Basternae Zone Editor available for download:
BasternaeEditorPreview1.zip (download removed, see the post about preview version 2)
Some warnings:
1. This is a pre-release version and it&#8217;s entirely likely that it will be unstable and lacking in features.
2. It has no help files.
3. It has no icons for the edit window buttons &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the first view of the Basternae Zone Editor available for download:</p>
<p>BasternaeEditorPreview1.zip (download removed, see the post about preview version 2)</p>
<p>Some warnings:</p>
<p>1. This is a pre-release version and it&#8217;s entirely likely that it will be unstable and lacking in features.<br />
2. It has no help files.<br />
3. It has no icons for the edit window buttons &#8212; just colors.  You have to guess what they do.<br />
4. The map edit and walkthrough edit modes are not done yet (and haven&#8217;t been started yet either).<br />
5. Save your work often and keep backup copies.</p>
<p>This is just to download, play around with a bit, and get a feel for.  I don&#8217;t expect that the area file format will change in a way that will break zones created with this editor, so you can actually start trying to use it to build something.</p>
<p>Check it out, see if it&#8217;s usable, and feel free to make requests, bug reports, or just say what would make you more likely to want to use the tool to create a zone for the new Basternae.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/08/07/first-zone-editor-preview-version/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rewiring The Core</title>
		<link>http://basternae.org/blog/2008/08/04/rewiring-the-core/</link>
		<comments>http://basternae.org/blog/2008/08/04/rewiring-the-core/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 01:45:50 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Areas/Zones]]></category>

		<category><![CDATA[C# Conversion]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/08/04/rewiring-the-core/</guid>
		<description><![CDATA[In the process or getting an alpha version of the editor ready I&#8217;ve found that I had to separate the game code, a.k.a. &#8220;business logic&#8221; from the data, a.k.a. &#8220;object model&#8221;.  Otherwise I&#8217;d have to include the entire MUD engine in the editor download.  Since that&#8217;s not something I want to do I&#8217;ve had to [...]]]></description>
			<content:encoded><![CDATA[<p>In the process or getting an alpha version of the editor ready I&#8217;ve found that I had to separate the game code, a.k.a. &#8220;business logic&#8221; from the data, a.k.a. &#8220;object model&#8221;.  Otherwise I&#8217;d have to include the entire MUD engine in the editor download.  Since that&#8217;s not something I want to do I&#8217;ve had to pull them apart.  It&#8217;s a lot like pulling apart a cold grilled cheese sandwich, and as expected, the bread did tear a little.</p>
<p>The &#8220;core rewire&#8221; still needs some work, but I should have an &#8220;alpha&#8221;, a.k.a. &#8220;try it and see how broken it is or isn&#8217;t&#8221; version of the zone editor out sometime this month.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/08/04/rewiring-the-core/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Review of Duris</title>
		<link>http://basternae.org/blog/2008/07/20/a-review-of-duris/</link>
		<comments>http://basternae.org/blog/2008/07/20/a-review-of-duris/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 18:35:30 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Gameplay]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/07/20/a-review-of-duris/</guid>
		<description><![CDATA[The MUD Connector has an interesting review of Duris posted:
http://www.mudconnect.com/mud-bin/new_prev/review.cgi?rid=25705
I&#8217;ve always enjoyed Duris and still play it off and on (maybe half a dozen weeks a year), but it has always had so many flaws that I end up getting fed up and walking away after a while.  Part of it is administrative, sure, [...]]]></description>
			<content:encoded><![CDATA[<p>The MUD Connector has an interesting review of Duris posted:</p>
<p><A href="http://www.mudconnect.com/mud-bin/new_prev/review.cgi?rid=25705">http://www.mudconnect.com/mud-bin/new_prev/review.cgi?rid=25705</A></p>
<p>I&#8217;ve always enjoyed Duris and still play it off and on (maybe half a dozen weeks a year), but it has always had so many flaws that I end up getting fed up and walking away after a while.  Part of it is administrative, sure, but a lot of the problems are core game design &#8212; at the core it&#8217;s an excellent MUD, but so much of it is an unnecessarily frustrating mess that it doesn&#8217;t really have much longevity for me.  I think it comes from the original philosophy of the design &#8212; the creators really didn&#8217;t differentiate between &#8220;difficult&#8221; and &#8220;irritating&#8221;.</p>
<p>For example (and I&#8217;m mainly referring to Duris from a few years ago because that&#8217;s what I know best):</p>
<p>Randomly killed by random-spawn unpredictable scan-track mobs in the underdark for no logical reason, or  = annoying.</p>
<p>Instantly killed because you were attacked by a drunk orc when you try to leave the inn in your hometown and since you&#8217;re level 1, assisting guards one-shot you (and your class doesn&#8217;t have sneak) = annoying.</p>
<p>Getting killed in artifact-wielding players in low-level zones and having your corpse looted of spellbooks/totems that you are too poor to replace because you&#8217;rer a newbie = annoying.</p>
<p>Player-wiping because you want to refresh the player base, purge an overabundance of equipment, or replace the world maps, or cover up the fact that the game mechanics still need some work = annoying.</p>
<p>Needing to use your head to come up with a strategy to defeat mobs, complete a zone, or accomplish a task = difficult.</p>
<p>Being forced to rely on your wits and diligently reading room descriptions to solve quests or puzzles = difficult.</p>
<p>Optimizing your equipment and stat bonuses based on how you want to perform in combat and doing so by real combat experience rather than reading the source code = difficult.</p>
<p>Somehow they seem to think that and difficult are both beneficial.  Difficult makes players keep playing because things aren&#8217;t too easy.  Annoying makes them log in to WoW.</p>
<p>I still find it incredibly amusing that I was more-or-less programming for Duris during the 2000-2001 &#8220;arms race&#8221; with Basternae 2 &#8212; every time I added a feature or convenience command that was neat but didn&#8217;t affect game balance it would show up on Duris a week later.</p>
<p>Even so, I can&#8217;t really say I have anything against any of the admins of Duris.  After all, I&#8217;ve never even met any of them (except Xyzom from old Duris, who I actually lived with for a while and worked on Illustrium Arcana with &#8212; nice enough fella but we haven&#8217;t kept in touch).  All I can do is judge by their product, Duris: Land of Bloodlust, which needs some work.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/07/20/a-review-of-duris/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Serious Shrinkage</title>
		<link>http://basternae.org/blog/2008/07/12/serious-shrinkage/</link>
		<comments>http://basternae.org/blog/2008/07/12/serious-shrinkage/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 01:42:21 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[C# Conversion]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/07/12/serious-shrinkage/</guid>
		<description><![CDATA[The connection state management code in the socket layer of Basternae has always been what I call &#8220;spaghetti code&#8221;.  It was a single method containing a huge switch statement with pretty sizable blocks of code for each case.  Tracing program flow for characters that were not actively playing was always difficult due to the complexity [...]]]></description>
			<content:encoded><![CDATA[<p>The connection state management code in the socket layer of Basternae has always been what I call &#8220;spaghetti code&#8221;.  It was a single method containing a huge switch statement with pretty sizable blocks of code for each case.  Tracing program flow for characters that were not actively playing was always difficult due to the complexity and verbosity of this 1600-line function.</p>
<p>Today I refactored it into a bunch of more sensible pieces that go together a lot more smoothly.  The 1600-line function is now 80 lines, I can actually tell what&#8217;s going on during program execution, and a handful of confusing and unused variables have been eliminated.  Huzzah!</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/07/12/serious-shrinkage/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Zones From Lortar</title>
		<link>http://basternae.org/blog/2008/07/11/zones-from-lortar/</link>
		<comments>http://basternae.org/blog/2008/07/11/zones-from-lortar/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 20:48:10 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Areas/Zones]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/07/11/zones-from-lortar/</guid>
		<description><![CDATA[Lortar has been kind enough to grant permission to use his zones from Basternae 2:
Fairlocke
The Elemental Plane of Air
Tower of Darkness
]]></description>
			<content:encoded><![CDATA[<p>Lortar has been kind enough to grant permission to use his zones from Basternae 2:</p>
<p>Fairlocke<br />
The Elemental Plane of Air<br />
Tower of Darkness</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/07/11/zones-from-lortar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Unit Testing With MbUnit</title>
		<link>http://basternae.org/blog/2008/07/10/unit-testing-with-mbunit/</link>
		<comments>http://basternae.org/blog/2008/07/10/unit-testing-with-mbunit/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 23:36:07 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Issues and Bugfixes]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/07/10/unit-testing-with-mbunit/</guid>
		<description><![CDATA[In general either code works or it doesn&#8217;t and it&#8217;s easy to tell whether it does or doesn&#8217;t work.  At least until you reach a certain level of complexity.  At some point a project gets large enough that you can&#8217;t tell which project/dll your error is coming from, let alone which of the [...]]]></description>
			<content:encoded><![CDATA[<p>In general either code works or it doesn&#8217;t and it&#8217;s easy to tell whether it does or doesn&#8217;t work.  At least until you reach a certain level of complexity.  At some point a project gets large enough that you can&#8217;t tell which project/dll your error is coming from, let alone which of the 100K or even 50M lines of code is doing naughty things.</p>
<p>Today I had a problem that was easier to solve by creating unit tests to point out where the flaw was.  The tool uset?  <a href="http://www.mbunit.com/">MbUnit</a>.</p>
<p>Here&#8217;s an example of an MbUnit test I wrote in order to find a string processing bug:</p>
<p><code><br />
using System;<br />
using System.Collections.Generic;<br />
using System.Text;<br />
using MbUnit.Framework;<br />
namespace UnitTests<br />
{<br />
[TestFixture]<br />
public class MUDStringTests<br />
{<br />
[RowTest]<br />
[Row(12, "12.box", "box")]<br />
[Row(1, "cheese", "cheese")]<br />
[Row(1, "1.pie", "pie")]<br />
[Row(1, ".chicken", "chicken")]<br />
public void NumberArgument(int expectedValue, string inputString, string expectedOutput)<br />
{<br />
string str = String.Empty;<br />
Assert.AreEqual(expectedValue, BasternaeMud.MUDString.NumberArgument(inputString, ref str));<br />
Assert.AreEqual(expectedOutput, str);<br />
}<br />
}<br />
}</code></p>
<p>What this does is check whether we&#8217;re getting the expected output when we give a certain piece of input.  It&#8217;s handy for detecting anomalies without having to boot up the server and/or mess with production code.  Mind you, there&#8217;s no such thing as &#8216;production code&#8217; since we don&#8217;t have a server up yet, but this sort of thing is likely to be handy in the future.</p>
<p>I&#8217;m not the type that has any chance of turning into a &#8216;write the unit tests first&#8217; and &#8216;unit tests are more important than code&#8217; evangelistic freaks, but in some (or many) cases it can be easier than using trial-and-error to track down a bug.</p>
<p>I still hate the way WordPress formats my code.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/07/10/unit-testing-with-mbunit/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Miscellaneous Fixes</title>
		<link>http://basternae.org/blog/2008/07/08/miscellaneous-fixes/</link>
		<comments>http://basternae.org/blog/2008/07/08/miscellaneous-fixes/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 00:45:38 +0000</pubDate>
		<dc:creator>Xangis</dc:creator>
		
		<category><![CDATA[Issues and Bugfixes]]></category>

		<guid isPermaLink="false">http://basternae.org/blog/2008/07/08/miscellaneous-fixes/</guid>
		<description><![CDATA[I made a few changes to character creation today.  There were a few places where it was case-sensitive &#8212; you could create a &#8220;Troll&#8221; but not a &#8220;troll&#8221; and there were a few weird state changes.  For instance, when creating a character you would see the menu twice the first time it was displayed.
I also [...]]]></description>
			<content:encoded><![CDATA[<p>I made a few changes to character creation today.  There were a few places where it was case-sensitive &#8212; you could create a &#8220;Troll&#8221; but not a &#8220;troll&#8221; and there were a few weird state changes.  For instance, when creating a character you would see the menu twice the first time it was displayed.</p>
<p>I also fixed a few immortal commands that will make it easier to create immortals and set command permissions for their abilities.</p>
<p>The say, emote, whisper, yell, shout, ask, and immtalk commands were broken (all messages came across blank), and are now fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://basternae.org/blog/2008/07/08/miscellaneous-fixes/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
