Map Making

BZWorkBench r20937 Win32 Build

We recently picked up a new developer named Runic that had started off by submitting some great patches to the BZWorkBench project. Since been given commit access, he’s added and fixed a good number of things. Here is some screenshots:

Louman's H2O in BZWorkBench r20937 #1

Some of the objects don't show up properly, but it looks way better than it used to. Previous to Runic's fixes, I think everything showed up white.

More screenshots, information and download links in the full article. Read More »

BZWorkBench on Linux

A few days after posting the Windows build of BZWorkBench, I was able to fix the build on Linux. There are still some issues with building on Mac OSX, but I can’t debug that as I don’t have OSX. Anyway, here are the steps for compiling on Ubuntu 9.04. It should be similar for other distributions. Instructions are in the full article.

Here’s an example with HiX loaded:

BZWorkbench on Ubuntu 9.04 with the HiX map loaded.

BZWorkbench on Ubuntu 9.04 with the HiX map loaded.

Read More »

BZWorkbench r20544 Win32 build

For those of you on Windows who want to try out the latest revision of BZWorkbench (the map editor that has been created over the course of two Google Summer of Codes), then I have a binary package up. There’s no installer – it’s just a zip file containing the files. This is built from the stock SVN revision 20544 code. You will also need the Visual C++ 2008 SP1 runtime, which I have linked below as well.

Download BZWorkbench r20544 Win32

Download Visual C++ 2008 SP1 ATL runtime

There’s probably still lots of issues with it, so please report them to the official BZFlag bug tracker. Also note that as of this revision, building BZWB on Linux and OSX doesn’t seem to work.

Another example of the text object

Here is another example of what BZFlag 3.0 will be able to do. I had posted an example that shows the last player to join on an object in the map. Well, a meteorite has been working on a plugin and map file that blows that out of the water. It’s a whole scoreboard! (Update: a meteorite is only writing the plugin, not the map.)

Close up of the scoreboard.

Close up of the scoreboard.

Another view of the scoreboard.

Another view of the scoreboard.

Map in development by Spazzy McGee

Spazzy McGee has been working on a (yet unnamed) map. It will utilize some of the new features available in BZFlag 3.0, and therefore won’t be released until that new version of BZFlag is out. For example, it makes use of the new ability to make any mesh face act as a base. It has round team bases! Woot! The map looks great and I can’t wait to try it. He made a video that shows it in action.

Really cool stuff! You can find out more at the BZFlag forum.

New Feature Coverage: The text object

I was a bit bored today, so I started playing around with the new “text” object in BZFlag 2.99.x. (For those of you who don’t know, 2.99.x is the development version that will become 3.0.0 when released.) Because of the new font engine in the game (FTGL) we can pull in any TTF font and use it in the game. The text object uses this same font engine. It can pull a font file from a web address, as well. You can then position the text anywhere in the map. I’ve already seen an example from the Planet Mofo crew that was a scoreboard of the top players on the server. My example won’t be that cool.

I wrote a basic plugin called NewestPlayer. When a player joins, a variable named $newestPlayer gets set to their callsign. A text object in the world can then make use of that variable. When a player joins, the variable changes, and the text object will update in real-time.

Here is what it ends up looking like. Hard to see in the thumbnail, so click on it for full size.

Sample of the NewestPlayer plugin in action.

Sample of the NewestPlayer plugin in action.

I have the plugin and world file posted as well, so click on over to the full article. Read More »

Playing around with map making

I’ve been toying around with the idea of making a map for some time now. I have actually made a couple of them in the past, but none of them were really ever finished or released. The quality just wasn’t there, and I lacked the time to properly finish and test them. I’m trying to get back into it though.

At the moment, I’m working on learning to hand code mesh objects. Once I have a better grasp of that, I intend on using that knowledge to build a script based map generator. I have already done some work on that, as you can see by these screenshots.

A elevated view of the cylinder of boxes.

A elevated view of the cylinder of boxes.

A zoomed out view of the boxes.

A zoomed out view of the boxes.

A view of the boxes from a lower position on the map.

A view of the boxes from a lower position on the map.

A heavily zoomed in view of the boxes.

A heavily zoomed in view of the boxes.

This map uses a total of 10,135 boxes, each having random materials applied to them. I only had created a limited amount of textures, and my algorithm is pretty basic, so it won’t seem very random. This map was done mainly as a benchmark (parsing and rendering) for the BZWorkBench application that has been worked on again this summer for Google Summer of Code. But it’s just an example of what a simple script can do.

I have lots of ideas for making a nice looking map, but again, I first need to master making mesh objects. I’ll probably need to review a bit of math as it’s been a while since I’ve had to do any trig. Don’t expect a map by me to be done anytime soon. BZFlag version 3 is what has motivated me to try map making again. The new features we will have in this version will open up a lot of new possibilities for map authors. I will try to post some examples of these new features in future postings, so stay tuned.