Name: Jeff Freedman
Member since: 2000-07-19 23:13:09
Last Login: N/A
Homepage: exult.sourceforge.net
Notes: 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.
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.
Exult
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.
Work
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.
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).
Work
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.
DrCode certified others as follows:
Others have certified DrCode as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
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!