A fresh look at an old masterpiece

SourceForge Logo

Report bugs
Oct 29, 2003

The new engine progresses really, really well! While it renders only painstakingly hand-entered maps, it does bumpmapping and proper (hard) shadows, and is considerably faster than the old one!

The downside is that to work at all it needs the ARB_texture_env_dot3 GL extension, which disqualifies the older 3D cards out there. Fear not, there will eventually be a mode of operation that will work without (though it will, unavoidably, be much left Nifty).

Oh, and about which cards are "new" enough to support this, I think nVidias >= GeForce 2 and all ATIs Radeons qualify. Not sure, though, since I don't have the cards to check. You get proper lighting with any card that does ARB_texture_env_dot3 and bumpmapping if you have at least 3 texture units. Check your card's specs.

Next is conversion of the world data (many of the requisite tools are already working), and integration back into the main LoW engine.

Oh, and for the curious, here is a screenshot of the new engine in my toy world with two lights . The lights are moving about (which is obviously not visible in a screenshot). This can be built from the /new_engine repository in CVS for the curious.

Sep 30, 2003
Happy, happy, joy, joy!

Well, I now find myself without a job. This is bad. But I now find myself with Copious Free Time. This is good.

I've been spending most of the last year trying to think of better ways do to some of the things I am currently very displeased with in LoW, and I'm now ready to start some serious coding. I'm going to rewrite the graphic engine entirely. Currently, it's a simplistic polygon rendering of the original 2D tile-based map. It was useful to get at the "interresting" stuff, but in groans under the strain and isn't very flexible.

What I'm going to do is a portal-based engine which should do a very good job of the cramped, twisting spaces of UW2. It does mean I won't be able to keep using the original map data, but it'll allow updating the look of the environment greatly.

I'll also use the opportunity to improve the textures. Possibly with bumpmapping if I can manage to do it right (I'm familiar with the concepts and the math, but I've never actually did it).

At any rate, expect a new branch of tech demos starting very soon; once it will work right I'll rip out the ugly hacks that currently serve as a graphic engine in LoW and replace it with the new one.

Incidentally, I still need modelers! :-)

Mar 17, 2003
Alive and well...

LoW isn't dead. :-) My ability to work on it, however, has been reduced for almost nil during this term. Between my job, my thesis and my courseload, there is little free time left. And what little of it I have left is consumed by my robotics group since we are just about to leave for the international competition in México and thus need to get our robot ready.

But fear not! Summer term brings promise of a lighter course load, and no robot to spend countless hours on! :-)

Dec 31, 2002
Happy new year!

0.4 is out! For those of you who had downloaded it yesterday night (Dec 30), the executable archive was missing a default configuration file as well as the READMEs. This has been fixed on sourceforge.

0.4 contains more new features than you can shake a stick at!

A brief summary: wearable items, improved UI looks, better performance when there are lots of NPCs visible, better (more complete) conversation support (including being given items by NPCs), working keys and locks, and more.

You can find a more complete list of changes packaged with the new executable (really, this time!)

Have fun!

Dec 26, 2002
Merry whatever-holiday-you-celebrate-around-this-time-of-year!

The data file archives are back, and have been split up in a new way to separate files which are likely to change more often in the coming months from those that are unlikely to do so.

Remember that you want to download the latest version of all the archives whenever you update the program (wether from a release or if you build from CVS). There is, obviously, no need to download one of the archives anew if the update date shown on the downloads page has not changed.

If you download LoW for the first time, you can get by without the music or sound archives (though those respective features of the game will, of course, not be available).

Dec 8, 2002
Don't you just love finals?

Predictably, I haven't had much time to work on LoW in the past two weeks, but I expect many of you have had precious little time to keep an eye on it anyways. :)

There is, nonetheless, quite a bit of progress. Conversations now almost all work perfectly (not counting the effect they would have in the world), doors lock again and many simple switches and traps are back. They (the switches) all still look like levers, but that's the extent of my skill at modeling.

I don't expect I'll make an "official" release before early January, but one can compile from the CVS tree to get at the new features. If anyone volunteers to maintain 'snapshot' builds from the CVS tree I'll gladly point to their work to allow testing by people who don't have an environment set up for building LoW themselves.

Incidentally, the Jan release will probably be called alpha rather than tech demo since I expect I will have enough of the npc/world interaction in place that it will become possible to follow most the storyline along, making the game 'playable' in a way.

Nov 25, 2002
Happy! Happy! Joy! Joy!

'tis 0.3 day!

Version 0.3 sports conversations with NPCs, the oft requested mouselook mode for movement, and a nifty configuration file that simplifies use greatly. At this point, the game has become recongizable as such. :)

The corresponding source release now uses autoconf, making building possible without having to struggle with an intricate Makefile and simplifying portability a great deal.

Please join me in thanking Michael and Willem from the Underworld Adventures project who keep providing invaluable encouragement and freely echange information to help both our projects.

Put that in your pipe, you elitist scumbag cliquemonger. (You know who you are!)

Nov 10, 2002
Release 0.2 is out!

This version allows the player to navigate the entire game universe, as well as manipulate objects and containers along with his character's inventory.

The physics system is also in place, allowing such antics as bouncing objects off monsters to push them off cliffs. :-)

Nov 6, 2002
Oooo. Not only is this release MUCH more stable, but it has lots and lots of nice feature additions.

And the vanishing texture bug is gone!

The bad new: a new 3d archive update. :-(

Nov 1, 2002
Today's release is an experiment to see if the crashes have been (at least in part) caused by the OpenAL audio library I had been using.

Instead, this uses the SDL_mixer library which is a bit less flexible and powerful but considerably simpler (and thus less likely to hide bugs).

I would appreciate feedback on how this change has improved (or not) the stability of LoW under Windows.

Oct 28, 2002 (a bit later)
Two boo-boos in one release. Seems I have been a bit overzealous in my aggresive code optimization switches and that broke compatibility with K6 family CPUs. Erp.

I've just posted (as of 18:15 EST) a binary that should work on those slightly older CPUs. If anyone with a P4 or a recent Athlon notices a performance loss, I'll consider making binaries available optimized for both families.

Oct 28, 2002 (a bit later)
Ooops. :-) Apparently, the Windows NVidia OpenGL implementation really doesn't like one confusing GL_CLAMP and GL_CLAMP_TO_EDGE. The net result: framerates below 1fps when there were objects on screen. I hadn't noticed simply because nVidia's linux OpenGL implementation simply went ahead and did what I meant without telling me.

Quick fix; the binaries have been updated.

Oct 28, 2002
At last!

I've managed to squish the most horrible heisenbugs and I had time to finish coding the basic object interaction: opening and snooping inside containers.

It's a neat release, with lots of small goodies... and only the program files change this time, not media, not 3d! Quick download if you were already up to date!

I'm still hard at work despite the infrequent updates, BTW, it's just that Real Life(tm) keeps competing for my attention, and silly things like earning enough money to pay the rent and buy food often must take priority. :-)

Oct 25, 2002
*groan* I've had all of two or three evenings during which I could work on LoW in the past two weeks. Doesn't make for fast progress.

On the bright side, the next update will feature greatly improved stability (there was an insidious heisenbug in the last version posted that made it rapidly become unstable with time).

Stability is boring, you say? You want features? Oh, allright. There is now a kickass particle system in place for things like splashes and magical glimmers and such (and, eventually, blood). It looks cool.

I'm also almost done with the basic framework for basic object manipulation and this will be enabled as well on the next update. Probably nothing much more fancy but it's the first gamelike interaction (unless you count switches that open doors which are cool but get old really quick). :-)

Oct 8, 2002
Yow! That took a long time!

Well, I've decided to rewrite a large part of the handling for objects and mobiles (uniformly called entities in my code). The code is now much cleaner, much faster, and smells much, much nicer. :-)

There are a lot of new fun things in this release: visual standins for objects we don't have models for, working buttons, locking doors, better physics... Woo.

However, this is also the first release that cannot (and will refuse to) work unless you have the files of the Original UW2 around. Look in the readme file for the details.

This means, basically, that there is no point downloading unless you have UW2 installed somewhere on your box. Well, actually, that's not quite true: you can extract all the files you need off your installation CD or disquettes without actually installing, but that will get progressively more troublesome (though never impossible) as LoW begins to use more and more of the original's files.

Sep 25, 2002
Oooo! I dub this release the "Infinite Goodies" release! There is so much great stuff that went in I couldn't possibly go on and on here. Read the readme and rejoice. :-)

On the plus side, the media files didn't change again. Phew!

It's beginning to look dangerously like a game, now!

Sep 20, 2002
I wish I could spend more time on this project. *sigh*

Big update today; because of the sound and music fixes, the _media archives have been updated too... but I think it's well worth the download.

Those big archives shouldn't change much for a while. I hope.

Sep 16, 2002
Since most people don't bother to read this news page, I'm leaving the actual what's new in the release and such for the readme file that is now in the main archive and I'm going to use this soapbox to discuss development process instead.

The lastest update, by the way, now allows you to see the totality of the LoW multiverse. Yeay. :-) But that means a new low_3d archive download because of all the new textures. Boo. :-(

For a while in the past couple of days I had been considering switching to the Quake 2 engine for rendering. So I've experimented and redid Castle British in Q2 and played around in it. My conclusion is: I'll pass. While lighting looks marginally better, and the precalculations that are computed on Q2 maps allows for very nice performance indeed, the game just doesn't /look/ as good.

The requirement that Q2 places that everything use the same palette (even if I made an optimal palette for my test) and the way some of the texture mapping is savagely approximated just didn't look right.

So I'm keeping my rendering engine, with flaws and all. Besides, I expect that when I'll make it public there's going to be a lot of people fiddling around in it, and some of them might even make it fast. :-)

Sep 10, 2002
Well, the entire castle level has now been populated with all the mobiles that live there. Their animations have returned to normal, idle poses until they get AI to start wandering around and stuff. The main reasons why they are all there is to test their looks (most are very satisfying, actually, and readily recognizable) and the efficiency of displaying them.

At first, the throne room would slow the engine down quite a bit since there are 11 fully clothed NPCs in it, but I have implemented a kick-ass animation caching and shortcut system that allows the game to maintain its framerate.

The game now skips frames rather than slow down when it can't keep up; you will probably notice this as you enter the throne room for the first time since none of the animated models for the people in there have been cached. This should be infrequent in practice when playing the game since it is uncommon to have a (relatively) small room that contains so many different mobiles.

Your mileage may vary though; you might not notice a pause at all if you have a kickass computer, or looking at the whole throne room may force you to skip frames all the time. I'd appreciate feedback on how your system performs (and what your system specs are, especially vis. the video card, memory and cpu).

Sep 9, 2002

Animating mobiles!

Yup! LoW is now capable of animating the mobiles in game. There are still a few issues: lighting is not yet properly recalculated for animating models, and some of the models animate a bit less well than the others. The former will be fixed eventually, the latter is a limitation of what the models were designed to do (which was not to be seen in a first-person game) and is unlikely to change until we get our own.

Go take a look in Castle British. The residents are just as happy as I am to have had life breathed into them.

I think I'm going to start letting them move around soon and we'll soon be able to interact with them.

Sep 7, 2002
Well, doors are back in, along with collision detection with mobiles. You can now push ol' LB around or bounce cubes off him. :-)

On a related note, I've managed to update my Linux build tools so that I can now build the win32 version without having to reboot. The net effect is that you people will see more frequent updates since I can trivially push a new version on the website whenever I have something neat to showoff, not just when it is "worth" the trouble of rebooting to build the win32 version. Yeay!

Sep 6, 2002
Yipee! We now have a physics system that works, mobiles (that do not move yet), and cool dynamic level lighting that improves the look of the game by LOTS. Take a look at the fireplace in the Avatar's room and how it lights up the place.

You can walk around Castle British and toss little bouncy cubes around to check out the new physics system (By pressing F12- You can't manipulate the cubes once they are launched yet, that will come with the inventory system).

If you wander around, you may find all three of the NPCs that are standing around the castle. You get to guess which three I've put in for now. :-)

Since rooms are now lit by themselves now (and not just by the Avatar as he moves in) I've tuned the game so that you can see, by default, quite a bit farther. While the new culling code in place /should/ mean more performance even then, you can hit [F11] to play around with how far the game tries to let you see. The values cycle between 12 (the default), 10, 8 (what UW2 used to allow), 6, 4, and 14. If you find your framerate dropping you may try to reduce your range of vision some.

The doors are gone, for now, since I needed to rewrite part of the base code that used to handle them and I haven't adapted the doors to match. But rest assured they will come back soon.

Have fun! Oh, and by the way, the Windows version now starts in full screen since switching is not working right yet and most people seem to prefer it that way.

Sep 3, 2002
It's worth the wait. Trust me.

By, *ahem*, "recycling" the UO:3D models to good purpose, I'm in the process of populating Castle British with mobiles. It's not done yet and won't be for several days (this is a LOT of infrastructure, and Granny 3D's files are hard to comprehend without doc), but in the meantime you can wet your apetite with a candid snapshot of Nystul, Lord British and Miranda posing in the throne room. (You can click on the thumbnail to look at a bigger picture.)

Aug 29, 2002
The latest version has two improvements: it copes significantly better with missing sound samples, and will no longer try so hard at catching up if it cannot attain the right framerate. This means the game will still be too slow if your system can't give the right performance, but at least it won't get progressively more and more laggy as it tries to catch up.

Aug 28, 2002
This just in: Actually, there is no win32 bug with clicks and pops in the sound-- my samples are genuinely broken. It's just that under Linux, the sound driver manages to make it sound a bit less horrible. Sigh.

The problem is, I have no source of usable sounds to make new ones either. We'll just have to live with those until I find an alternative source of samples.

Not having a budget is not fun.

Aug 28, 2002
Well, it was hell but we now have sound working! And I would have tought making portable 3d graphics would have been the hard part.

There is now positional sound (open doors and walk around to hear it), ambient sounds (go to the fountain in the courtyard) and music.

There is an issue in the win32 version that makes some of the sounds go "pop" for no reason I can yet discern. Urg. The code is the same, the sample that is being played is the same, but there are these annoying audible clicks only on the win32 version.

As an aside, the downloads have been split in parts now so that you don't need to download large chunks of things that do not change from version to version (like sounds, music and libraries).

Aug 19, 2002
We now have dynamic objects in the game, which for the moment only means working doors. Fun, though. You can operate them by "dragging" them with the left mouse button.

This also means I have a lot of architecture for supporting all sorts of neat things which I will add soon. :-)

Aug 16, 2002
The game engine has been modified to use SDL rather than GLUT, which makes sound and joystick portable as well as the graphics. This is fairly cool, but means you need a new (one time) download of the SDL. itself.

The movement is now MUCH smoother, and less likely to cause headaches. The game heartbeat has been reduced to 40ms, which means the game now refreshes at 25fps which is also nicer.

You can click around, now, to look (although there isn't much to look at). And there is a nifty new console (you get at it by hitting '~' (tilde)). There are no valid console commands yet, but you get to see some internal info that might be fun or useful.

The [TAB] key can now be used to hide (and get back) all the UI panels, giving you a full view. You can also use ALT-ENTER to switch back and forth between windowed and fullscreen modes. Last minute note: This doesn't seem to work right under Windows right now, but you can start the program with the -f command line switch to start in fullscreen.