A Linux Build of the Client

March 8th, 2010

I have no clue how to build a .deb or .rpm package yet, so it’s just a .zip for now.

Though I have it working on my own Ubuntu 9 machine, I haven’t the faintest idea whether the client will run on other Linux boxen. At the very least, you’ll probably need to have the wxWidgets 2.8 libraries installed to run the client on Linux. I suppose at some point I’ll figure out how to build installer packages.

Version 0.14 of the client for Linux is now available for download. Hopefully there’s someone who can try it and let me know the result. In this case, it’ll probably be “I had to add libraries X and Y and Z before it would run”. Then again, since wxWidgets is so widely used on Linux (VLC, Audacity, etc), chances are good that most people will already have the necessary pieces installed.

Initial Mac Version of the Client

March 7th, 2010

I fixed the “can’t send text” problem in the client for the Mac and Linux versions.  There are still some text problems that only show up in non-Windows versions, but I was able to log in and play for a bit without much trouble.

Though I have it working on my own machine, I haven’t the faintest idea whether the client will run on other Macs.  I’ve created an application bundle and compiled it in a way that it should supposedly run on OSX 10.5 and 10.6, but I only have 10.6, so no idea whether it will work.  And, since my machine is set up as a developer machine I have no idea whether a “normal” user’s machine will have all the libraries it needs.  That’s the trouble with being a Mac “noob”.

Version 0.14 of the client for Mac is now available for download.  Hopefully there’s someone who can try it and let me know the result.

Another Client Update

March 6th, 2010

I tracked down a nasty threading problem in the status window that would explode things horribly at random intervals. Version 0.14 of the client is now available.  That’s not to say there isn’t the possibility of other horrible explosions lying around just waiting to leap out… so let me know if you find any.

A Minor Client Update

February 13th, 2010

Version 0.13 of the client is now available.  Cleaned up one or two things with text processing and added command scrollback (where you can push the up arrow to retrieve previous commands).  As always, let me know of any glitches you find.

Zone Permissions Received From Gharl

January 31st, 2010

Gharl was nice enough to grant permission to use his zones on Basternae 3.  This includes “The Church of Eternal Dusk”, “The Motte and Bailey of Duke Delwyn”, and “Zalkapfaan, City of the Headless”.   Thank you, sir.  Forward progress!

It Runs On MacOS

January 30th, 2010

I recently acquired a MacBook to expand the multi-platform development repertoire.  One thing that surprised me is that the Basternae server executable runs unmodified on OSX (Snow Leopard) with Mono installed.  This shouldn’t have been too surprising since the server currently runs on Ubuntu Linux, but it was still pretty cool to just type ‘mono Basternae.exe’ and have it run without errors.  There’s quite close to zero chance that it’ll ever be set up on a Mac server, so this was just an interesting experiment more than anything.

You’ll probably notice that there hasn’t been much development on Basternae in the past month or so.  I’m spending the vast majority of time working on software for Zeta Centauri, so until that is a definite success or failure (I think June 2010 will be when I know), B3 will be fairly low-priority.  I doubt work will stop, but time available will be at a minimum.

Generating Maps

December 19th, 2009

Generating maps on Basternae 2 was a bit of a pain.  It was done with about 1000 lines of hacked-together C code that I wrote that read in an ASCII file, asked you the dimensions and map type (surface, underdark, etc), and then brute-forced it into a simple zone file.  It was not elegant, but it worked, usually.  Unless, of course, you entered a wrong number, had an extra character on one line, or anything like that.

The surface map I showed yesterday is just an enlarged 120 x 50 bitmap.  I only used 9 colors when creating it — one for each terrain type.  There is no accompanying ASCII text file.

It’s entirely possible with a lot of grunting and swearing that I could convert it into an ASCII file which I could then import into that old C program.  Why bother?  There has to be a better way.  Turns out there is.

Last night I created a small application that does one thing and only one thing — generates maps for Basternae.

Here’s how it works:

1. Load in a bitmap of any size.
2. Select a menu item and the program analyzes the bitmap and generates a list of all the different colors used in it.
3. Use that list to generate a room template for each color — title, description, and terrain type.
4. Let the user edit the list of templates so you can say light green is “The Forest of Evil” and dark green is “Drachenwald Forest”.
5. Select another menu item to have the program use the template file as it goes through the image pixel by pixel and generates a room for each pixel.

The obligatory screenshot:

Basternae map generator screenshot.

I’m a bit surprised that it only took a couple hours to write.  It’s the sort of thing that the serialization, bitmap, list, and datagrid classes built into .NET make very easy to do.

It is missing one major thing — it doesn’t connect the rooms together via exits yet.  That will be easy enough to add (probably about an hour to do).  It does, however, generate a zone that loads into the editor and can be tweaked and refined further.

There’s also one neat thing about the design — the room templates can be saved off to a file and loaded again, so you don’t have to edit it all in one sitting, risk losing your work if the power goes out, and can use the same room definitions with different image variations (provided you used the same colors).

Basternae 3 Surface Map

December 18th, 2009

I have a few goals with the Basternae 3 surface map:

1. Has to be fairly small. No epic 90,000-room maps that take half an hour to get to the next zone.
2. Has to have both raidable and non-raidable sections. The raidable sections should be easy to get to for both sides. The non-raidable sections should be more-or-less “safe”.
3. Should be contiguous — no randomly-spaced islands, be they large or small.

In short — I want it to be small enough that the world doesn’t feel empty when there are only a few people on, but large enough to have room a good number of zones, and for people to chase each other around a bit.  If there is an error to be made in sizing I’d prefer to err on the side of too small.

Here’s what I’ve come up with. It’s subject to modification, of course, but it captures the general idea:

Basternae Surface Map

It will be a while before it’s in the game, so it may evolve. There will also be cavern (underdark) map at some point.

Small Client Update

December 17th, 2009

I’ve made a couple minor updates to the client.  First, the status window wasn’t clearing the tank and enemy condition bars when there was no tank or enemy combatant.  That’s fixed.

Next, I’ve added what appears to be working support for aliases.  They’re created accessed using the “#alias” command (#al for short).  They cannot yet be saved/loaded, but they do stay in memory as long as the client is open.  Saving/loading is probably the next thing I’ll work on.

Here’s an example:

Aliases in the Basternae Client

You can download it here.

Yurgoth’s Estate and Defense of Longhollow Added

December 16th, 2009

I’ve finished converting two zones and attached them to the MUD:

Yurgoth’s Estate by Sarlac
The Defense of Longhollow by Drevarr and Ilshad

For now they’ve been attached where the Gypsy Encampment meets the Kobold pond.  Things will of course move when we get world maps in place.