DrCode is currently certified at Journeyer level.

Name: Jeff Freedman
Member since: 2000-07-19 23:13:09
Last Login: N/A

FOAF RDF Share This

Homepage: exult.sourceforge.net


I used to want to be a mathematician (liked the idea of the academic life). But then I discovered that writing software was fun, and that, unlike math, people would pay me to do it. So, from Z80, to C, to C++, to Java, I'm still coding away after all these years. For the last decade, it's been for the EDA industry, an area where profits are high, pay is good, and the work is, well, sometimes, occasionally interesting.

My open-source work hasn't exactly been altruistic. The first small project was the original port of SANE to OS/2, because I was too cheap to buy commercial software to run my scanner. My one substantial project is Exult, an Ultima7 game engine, which I started a few years ago when I didn't have enough to do at work. The idea was to learn a little about game programming, and also to get a bit of experience with XLib, which is what the 'x' in the name represented.


  • Lead Developer on Exult

Articles Posted by DrCode

Recent blog entries by DrCode

Syndication: RSS 2.0

There's certainly a disconnect between my open-source work and career.

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

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.

Say, dancer, sounds like your trip is going smoothly, or at the least, that the food is good!


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.


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 huge job to rewrite. Therefore, I'd have to do my development on a Windows platform.

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!

Haven't done serialization; that will be harder, but also more fun.

Now I'm trying to convince coworkers/boss that this MFC->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.

Open-Source Coolness

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.

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.

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.

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.


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.


I may have overdone the combat code; the Avatar is getting into battles with the cats when you double-click on them.

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).


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.

5 older entries...


DrCode certified others as follows:

  • DrCode certified dancer as Journeyer
  • DrCode certified Daryll as Master
  • DrCode certified jallison as Master
  • DrCode certified freetype as Master
  • DrCode certified Marcus as Master
  • DrCode certified mobius as Apprentice
  • DrCode certified gjuyn as Journeyer
  • DrCode certified miniver as Apprentice
  • DrCode certified kroah as Journeyer
  • DrCode certified chromatic as Journeyer
  • DrCode certified kimusan as Journeyer
  • DrCode certified jsheets as Journeyer
  • DrCode certified kclayton as Journeyer
  • DrCode certified hiller as Journeyer
  • DrCode certified Talin as Journeyer
  • DrCode certified rebecka as Journeyer
  • DrCode certified fingolfin as Journeyer
  • DrCode certified jameson as Journeyer
  • DrCode certified wjp as Journeyer

Others have certified DrCode as follows:

  • dancer certified DrCode as Journeyer
  • kroah certified DrCode as Journeyer
  • kimusan certified DrCode as Apprentice
  • hiller certified DrCode as Apprentice
  • Talin certified DrCode as Journeyer
  • jLoki certified DrCode as Journeyer
  • wardv certified DrCode as Journeyer
  • boog certified DrCode as Journeyer
  • jameson certified DrCode as Journeyer
  • fingolfin certified DrCode as Journeyer
  • grant certified DrCode as Apprentice
  • wjp certified DrCode as Journeyer
  • arabouma36 certified DrCode as Journeyer
  • chakie certified DrCode as Journeyer
  • hiddenpower certified DrCode as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page