<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for DrCode</title>
    <link>http://www.advogato.org/person/DrCode/</link>
    <description>Advogato blog for DrCode</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 24 Jul 2008 12:26:15 GMT</pubDate>
    <item>
      <pubDate>Wed, 30 Oct 2002 20:47:32 GMT</pubDate>
      <title>30 Oct 2002</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=9</guid>
      <description>There's certainly a disconnect between my open-source work and career.

&lt;p&gt; Career:  Laid-off 3 months ago.  I apply for several jobs each week, and hear nothing back.

&lt;p&gt; Open-source:  We get fan mail every week.  We've been interviewed for a couple on-line sights, and recently were contacted about another interview.
</description>
    </item>
    <item>
      <pubDate>Thu, 12 Oct 2000 23:15:26 GMT</pubDate>
      <title>12 Oct 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=8</guid>
      <description>Say, &lt;a href="http://www.advogato.org/person/dancer/" &gt;dancer&lt;/a&gt;, sounds like your
trip is going smoothly, or at the least, that the food is
good!
&lt;p&gt;
&lt;b&gt;Exult&lt;/b&gt;&lt;p&gt;
The development group has pretty much evaporated, probably
because there's not much to do.  I'm finishing up a few
minor features, and will then release an Alpha.  This
cleaning/debugging phase is the hardest part of any software
project (because it's so boring), and I can understand why
some open-source projects fall apart at this point.
&lt;p&gt;
&lt;b&gt;Work&lt;/b&gt;&lt;p&gt;
When I interviewed, they explained to me how their software
(all command-line) was developed under Windows, and so,
unfortunately, was completely dependent on MFC container
classes, and that it would be a &lt;i&gt;huge&lt;/i&gt; job to rewrite. 
Therefore, I'd have to do my development on a Windows
platform.
&lt;p&gt;
Well.... they were right about it being a huge amount of
code (over 150K lines), and that I wouldn't want to rewrite
it.  Yet, the MFC functionality used (just CArray, CMap,
CString, and CList) is easily duplicated in STL.  So, having
some experience in STL from my open-source project (thanks
to Dancer), I didn't find it too difficult to write a
wrapper that translates the MFC container classes/methods to
equivalent STL classes/methods.  Took less than a week, and
now I'm happily working on a PIII running SuSE 7.0!
&lt;p&gt;Haven't done serialization; that will be harder, but
also
more fun.
&lt;p&gt;
Now I'm trying to convince coworkers/boss that this MFC-&amp;gt;STL
wrapper might be a nice thing to open-source, as it will
give us a bit of positive publicity, and that we might get
help and testing from other users.
</description>
    </item>
    <item>
      <pubDate>Wed, 30 Aug 2000 22:38:10 GMT</pubDate>
      <title>30 Aug 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=7</guid>
      <description>&lt;b&gt;Open-Source Coolness&lt;/b&gt;
&lt;p&gt;
For two years, I worked on Exult pretty much by myself.  At first,
it was just a simple Ultima7 map browser; later, the ability to
simply walk around as the Avatar was added.  Finally, with
the addition of the Usecode virtual machine, it became an actual
game engine.  But it was still fairly primitive; and, as a
one-person project, it was doubtful that it could ever be a
complete game.
&lt;p&gt;
But it was enough to get some attention, especially after the
move to SourceForge.  Willem joined to do a Win32 port, and
has continued on doing other work.  Dancer wrote the
Linux and Timidity audio code, an area where I have no experience
whatsoever.  Tristan implemented the entire intro. screen with
menus and opening animation, and has also written a Gimp plugin
for editing U7 graphics.  A developer named CoderInfidel did lots more
decoding of the U7 data files, and also added the weapon animations.
And 'Colourless Dragon' has figured out and implemented the
NPC flags, fixed the movement code, and is working on support
for Serpent Isle.
&lt;p&gt;
And finally, out of the blue, 'Kreed', who wrote the advanced
2XSal scaler for Snes, has contributed the same algorithm
implemented in C++ for Exult.
&lt;p&gt;
This is all incredibly cool, allowing me to concentrate on the
game engine itself.  Anyway, excuse me if I'm starting to sound
like one of the NPC's at an Ultima7 Fellowship Meeting.</description>
    </item>
    <item>
      <pubDate>Thu, 10 Aug 2000 18:51:21 GMT</pubDate>
      <title>10 Aug 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=6</guid>
      <description>&lt;b&gt;Exult&lt;/b&gt;
&lt;p&gt;
More bug-fixing, this time trying to track down elusive and intermittent
crashes.  I may have found it, as there was a method getting invoked
that modified a linked-list that was being traversed.  On my Linux
box, it caused the game to hang; but I'm hoping this was also the
cause of the reported crashes in the Win32 version. 
</description>
    </item>
    <item>
      <pubDate>Mon, 7 Aug 2000 22:33:47 GMT</pubDate>
      <title>7 Aug 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=5</guid>
      <description>&lt;b&gt;Exult&lt;/b&gt;
&lt;p&gt;
I may have overdone the combat code; the Avatar is getting into battles
with the cats when you double-click on them.
&lt;p&gt;
Otherwise, progress is really good, with Tristan finishing the intro.
screen and menu, and Ryan figuring out a bunch of NPC flags that
I'd been ignorant of, and using them to fix the movement code.   
Meanwhile, I've partially figured out how theft is
determined, and have (mostly) finished implementing support for
poison and hunger.  My next plan is to fix a few bugs (which some
of my latest 'improvements' seemed to have caused), and then work
more on the rendering algorithm (fixing glitches and maybe speeding
it up a bit).
&lt;p&gt;
&lt;b&gt;Work&lt;/b&gt;
&lt;p&gt;
Not a bad time to be looking for a new job (not that I am, in case anyone
I work with is reading this; this is all just observation).  But finding
a job these days is almost a full-time job in itself, as most places
want to interview you for 6-8 hours.  Not that I would know this
first-hand; it's just something I've heard. 

</description>
    </item>
    <item>
      <pubDate>Mon, 31 Jul 2000 17:34:18 GMT</pubDate>
      <title>31 Jul 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=4</guid>
      <description>&lt;b&gt;Exult&lt;/b&gt;
&lt;p&gt;
&lt;i&gt;No more Mr. Nice-monster!&lt;/i&gt;  With about 10 lines of code, the
monsters with 'hostile' alignment now attack you when you get near.
I'm probably going to add a cheat code to make them nice again, as it
makes plot-testing &lt;em&gt;much&lt;/em&gt; easier.
&lt;p&gt;
Meanwhile, Tristan is separating out code to make working on
&lt;i&gt;Serpent Isle&lt;/i&gt; easier, and the other developers are working on
audio.  It still amazes me how large this project has grown, especially since
Exult was originally just going to be a landscape browser.  I was a bit
dubious about writing open-source at first; but it certainly is cool getting
all this help from really talented people from all over the world.
</description>
    </item>
    <item>
      <pubDate>Fri, 28 Jul 2000 20:56:59 GMT</pubDate>
      <title>28 Jul 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=3</guid>
      <description>&lt;b&gt;Exult&lt;/b&gt;
&lt;p&gt;
Fixed most of the plot and conversation bugs that Ryan found, and
managed to play all the way through the Skara Brae sequence.  My
guesses (the most recent in a long line) about the ABRT and CATCH
opcodes seem to be working.  I'm starting to feel really confident about
Exult being fully capable of playing Ultima7, especially with six other
really capable developers contributing to the project.
&lt;p&gt;
So.... how does one get more certifications?  The only one so far is
from Dancer, one of Exult's lead developers.
&lt;p&gt;
&lt;b&gt;Work&lt;/b&gt;...
&lt;p&gt;
...sucks!:-)  Anyone need a C++ developer in the Portland, OR area?  For
a code sample of around 40K lines-of-code, grab the source at
exult.sourceforge.net.</description>
    </item>
    <item>
      <pubDate>Wed, 26 Jul 2000 17:35:48 GMT</pubDate>
      <title>26 Jul 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=2</guid>
      <description>&lt;b&gt;Exult&lt;/b&gt; (Ultima7 engine)
&lt;p&gt;
Our newest team member, Ryan, has not only been fixing lots of my
poorly-hacked code, but has also been playing through the game, and
finding lots of plot-related bugs.  For me, this means more work on
the Usecode-interpreter, which has been the most frustrating, and
the most satisfying, part of this project.
&lt;p&gt;
And I &lt;em&gt;think&lt;/em&gt; I've got the solution to most of the problems.
First, the ABRT opcode, which I was interpreting the same as a RET,
is really like a 'throw' in Java; it not only returns, but passes its effect
upwards to the caller.  In addition, the 0x4 opcode, which I was interpreting
as a 'jmp-if-done', is really a 'catch', and the previously 'unknown'
opcode, 0x40, is always the target of a 'catch'.  So if a called function
returns with an ABRT, control should pass immediately there.  I'll
give this all a try tonight.
&lt;p&gt;
&lt;b&gt;World News&lt;/b&gt;
&lt;p&gt;
I'm a news junkie, and have been following the Middle East peace
talks almost hourly.  It's depressing, but I see no way the two sides
can compromise on Jerusalem when both have religious reasons
for their claims.  &lt;em&gt;My&lt;/em&gt; proposal (which, of course, nobody
really cares about:-))  would be for them to share sovereignty, with
a city council made up of representatives from both sides, and an
integrated police force.
&lt;p&gt;
I know it seems improbable that the two sides could ever trust each
other to do something like that.  But then, weren't Britain and France
mortal enemies for hundreds of years, with each claiming the other's
territory?</description>
    </item>
    <item>
      <pubDate>Mon, 24 Jul 2000 17:22:15 GMT</pubDate>
      <title>24 Jul 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=1</guid>
      <description>&lt;b&gt;Exult (Ultima7)&lt;/b&gt;
&lt;p&gt;
We're in the cleaning-up phase, which for me, means playing the
game and looking for holes.  My main enhancement over the weekend
was getting teleports to work.  In addition, I fixed a bug that allowed
monsters to walk through walls, smoothed out the walking animation,
and fixed a combat bug where your character wouldn't attack when
you wanted.
&lt;p&gt;
As usual, testing the above revealed more unsupported game features:
traps, sleep fields, poison fields.  These appear to be instances of
'type 1'  eggs, which I had thought were only used for creating monsters.
So... more reverse-engineering is required here to figure out the
data format.
&lt;p&gt;
&lt;b&gt;Non-Programming&lt;/b&gt;
&lt;p&gt;
Took my daughter to see &lt;i&gt;Pokemon2000&lt;/i&gt;.  Actually, it wasn't
bad at all, with an almost RPG'ish sort of plot.  And some really
&lt;em&gt;nice&lt;/em&gt; animation.</description>
    </item>
    <item>
      <pubDate>Fri, 21 Jul 2000 17:25:49 GMT</pubDate>
      <title>21 Jul 2000</title>
      <link>http://www.advogato.org/person/DrCode/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/DrCode/diary.html?start=0</guid>
      <description>&lt;b&gt;Exult&lt;/b&gt; (an SDL-based engine for playing Ultima7)
&lt;p&gt;Seeing great progress in all areas.  Suddenly, the Midi's sound great,
thanks to Dancer and Ryan.  Tristan's got the intro. movie working
beautifully, including the Guardian's speech.  And I finally have the
horses facing the right direction when you turn the carriage (yes, one
of the major advances in comp. sci!)
&lt;p&gt;
So what's left before we can release an Alpha:&lt;br&gt;
&lt;ol&gt;1.  Implement the starting menus.&lt;br&gt;
2.  Finish the combat system.&lt;br&gt;
&lt;/ol&gt;&lt;p&gt;
Kind of scary to think that after more than two years, this project may actually be finished.
And it's even scarier to think about all the bug-fixing, testing, and
cleanup to be done before it's &lt;em&gt;really&lt;/em&gt; finished.
&lt;p&gt;&lt;b&gt;Random&lt;/b&gt;
&lt;p&gt;After nearly 20 years, I'm reading &lt;em&gt;Lord of the Rings&lt;/em&gt;
again.  The first time I read it, as a teen, it was great.  But when I read
it the second time a few years later, it seemed contrived.   Now that
I'm somewhat (but not a whole lot) more mature, I'm enjoying it
more than ever, and see why it's inspired so many writers and
game designers.</description>
    </item>
  </channel>
</rss>
