Sean Middleditch » Multi-User Dungeons
So I decided it was finally time to pop my Inkscape cherry and give vector graphics a try.
I needed a logo for Source MUD. I used one of those Flash-based logo designers to come up with some ideas, but naturally I couldn’t use anything I created due to licensing issues. I took one of the designs and decided to go with that, albeit created from scratch and using a font I had legal access to.
The result is this:

Yeah, it’s not exactly the world’s most complicated design. It’s made up of three paths and some text. It took some time to get that done, though, since I needed to learn exactly how one does graphics with Inkscape.
First was the creation of the blue squiggle shape thingy. I created the center line, then the left and right lines. Then I tried to figure out how the hell to get the color fill. After a lot of playing around, I eventually discovered that I’d have to merge the paths into a single object. I cloned the center line, and created an object of the center line and the left, and a second of the cloned center line and the right. Filling these produced some… weird results. I needed to merge the end control points of the two paths that each object was made of, but I was having trouble getting this to actually work consistently. I found that I needed to get the points very close together (_very_ close) before merging. Then on the right-hand side I kept getting a weird line segment pointing out into the middle of nowhere every time I merged. I played around a bit more and finally got that to work.
Then it was just a matter of lining things up, adjusting line widths, sizing things, etc.
Exporting to the PNG was the most difficult part. I’m really not happy with Inkscape’s export facilities. First, the default was to export the “drawing,” not the whole image, so the output was cropped down from the image size I had originally requested (web banner). That seemed a goofy default given that I had asked to make a web banner image. Second, the background was always transparent, which I really didn’t want - IE6 is still way too common to rely on transparent backgrounds in PNGs. The only options in image export though were basically canvas size options. I ended up making a large white rectangle, moving it to the bottom of the object stack, and then exporting the page to get the final PNG.
And there we have it.
Who wants to host their copy of AweMUD on an iPod?
:)
(No, I am not serious.)
I’ve got a full plate of projects right now. Which is good, as it’s keeping my mind busy, which means it doesn’t have time to wonder down unpleasant alleys filled with memory thugs with big sticks with nails in. Yes, very good indeed.
My work projects are things I need to keep relatively secret. Boo.
My semi-work personal projects I also need to keep secret. Boo again.
My Kanar projects are… well, there aren’t any. Fuck Kanar. More important things to do, and the game is dying. Little sense to put effort sprucing up something headed very quickly for the grave.
I’m doing a job with Kyndig of MUD Magic working on his MUD client, adding some new ZMP features, including the new ZMP-driven markup system “ZML,” and eventually also an auto-mapper.
For AweMUD, I’ve got my usual assortment of “would like to do”s, with nowhere enough time to actually do most of them.
Also, I’m trying work a bit more on Cloud9 (my fully HTML/JavaScript MUD client). I have an auto-mapper prototype I might be able to integrate at some point. I’m also planning on axing the HTTP proxy server. It’s a pain in the ass and a source of some silly bugs. Better to just swallow my pride and use a Flash applet for the network connection. For Firefox users, I could also use the native socket bindings, assuming the security controls don’t bite me in the ass too hard.
So I finally found the problem with AweMUD on Sparc. It wasn’t a libgc bug as I originally suspected. I had to wrestle with the debugging tools a lot to finally find the answer. The debugger wasn’t telling me the correct line in which the crash was happening, making it look like a memory bug instead of what it actually was: an alignment bug.
Of all the architectures I tried, only Sparc cared about the alignment of integers when copying them around. Namely, I couldn’t do something like:
uint16_t var = *(uint16_t*)&byte_array[index];
Instead I needed to do:
uint16_t var;
memcpy(&var, &byte_array[index], 2);
The only platform I can’t get things working on now is Alpha, and that’s just because the debugging tools are being absolutely useless. I’m getting a SIGILL (illegal instruction), but none of the debugging tools seem to be able to tell me where. And given that it’s a slow host running Linux 2.2, I’d just don’t have the patience to do the printf-style debugging. Thankfully, I don’t think Alpha is an actually interesting architecture to support anymore given that it’s no longer in production, so I can live with AweMUD not running on it.
IA32, AMD64, PPC, PPC64, and Sparc are all supported by AweMUD now. If SourceForge adds any more architectures to its compile farm, I’ll be sure to test those out, too.
Between the VMware-hosting Windows machine at work and the compile farm SourceForge.net provides, I’ve managed to get some porting work done on AweMUD today.
The latest code should compile and run on Cygwin just fine.
The latest code will compile on Solaris 9/sparc, but crashes after a connection. This may be a libgc bug. I’m going to see how well AweMUD runs on Solaris 9/x86 first, and then make sure it works properly on OS X 10.3 (PPC). If those work I’m just going to ASSume it’s a libgc bug on sparc.
I did try to get FreeBSD running on my machine at home again using bochs. Sadly, getting it working nicely just wasn’t something I could do. VMware is so nicer. I just don’t want to hassle with installing a kernel module. Unlike the NVIDIA driver, Ubuntu doesn’t (to my knowledge) have a package for vmware that tracks the latest Dapper kernels. Getting disks setup in Bochs should be possible through the GUI, and getting network setup shouldn’t require any work at all. Bochs is also pretty slow compared to VMware. Maybe if someone comes along and writes a nice GTK Bochs frontend that has built-in bximage and networking support it’ll be usable by mere mortals like me.
AweMUD 0.24 is out. Scriptix has been merged into the codebase.
That is all.
So, despite being in RC stage for over two months and being built regularly on my server, AweMUD 0.23 is borked. Namely, it’s missing files, as the Makefile.am file isn’t including them. I’m thinking I migtht’ve copied an older Makefile.am into the final release somehow, because otherwise this just doesn’t make sense - it would have been caught.
Rollin gup 0.23b now. :-/
AweMUD 0.23 is out. Scriptix 0.31 is along for the ride, of course.
Well, the biggest AweMUD news is that I have merged the Scriptix codebase in with AweMUD. There is now no longer any need to download, build, and install Scriptix separately from AweMUD. This should make building AweMUD a piece of cake now.
The next big piece of news is that the snapshots should be working again. Of course, nobody actually ever told me they were broken. Who knows how many users downloaded it, saw it didn’t build, and moved on with their lives. ::sigh:: I’m updating my auto-build system to pull off of the snapshots instead of the Arch repo. The snapshots are pulled from the Arch repo, so the change should create a complete test of all distributions of AweMUD, as well as the code itself.
I think that once I push 0.23 out the door, I’m going to concentrate on cleaning up the AweMUD/Scriptix merged code, and push out 0.24.
I decided to skimp on studying today and instead break out Vim and GCC and do a little work on AweMUD.
It’s been two months to the day since the last commit to AweMUD. Certainly feels like it’s been two months. I just haven’t had time for coding. It’s really refreshing to be doing it again, even if it is tedious stuff like making small API cleanups and then fixing the thousands of lines of code that the change affects. :-/
I still need to get the final releases of the new stable AweMUD and Scriptix released. The two weeks with no problem reports is well more than over. Guess I need to wait for the website to come back up first, though.