Ted's RPG Rant

A place to rant about RPG games, particularly the Temple of Elemental Evil. Co8 members get a free cookie for stopping by. Thats ONE cookie each, no seconds.

Tuesday, November 29, 2005

Doors

Recently you may have seen me gloating about putting doors on the KotB maps. Its an easy thing to do, but I thought I would publish some of the stuff I have been doing to help anyone trying to do something similar for any sort of mod.

Firstly, to add a door, you have to know where it goes. So, as per normal, make sure ed.py is in your scr folder, then go to the place on your map where you want there to be a door. Open the console and type

from ed import * (then hit enter, this loads ed)

loc()

and write down the coordinates.

Next, power up ToEEWB. We are gonna create a new .mob, so hit 'new'.

Now, we need a door. There are 111 of the little buggers in ProtoEd, they're at the very beginning. Which one do we use? (Don't bother with 150, for memory I made that and its a stuff-up). We'll get to choosing the right door for u in a second, lets assume u r using 1.

Now, put in the location as u have found it.

You WILL need to fiddle the offsets to get it to fit an existing doorway in a new map: to nudge it a bit down-n-left, add 10 or so in x offset. Up-n-right, have -10 in x offset, down-n-right add 10 or 15 in y offset, up-n-left try -10 (see the Isometric Schematic View in the sector bit of ToEEWB to see how the x and y values work). As for z, 10 or 15 will bring the door straight vertically down (hows that for tautology!) while -10 or so while nudge it straight up.

U also need to fiddle the rotation. Lets plagiarise Agetian one more time:

5.5 - northwest
5.0 - west
4.0 - southwest
3.0 - south
2.5 - southeast
2.0 - east
1.5 - east (sometimes it looks better than 2.0)
1.0 - northeast
0.5 - northeast (sometimes it looks better than 1.0)


Note how it goes anti-clockwise. If your door is in a wall running Nw-Sw (so a door facing out from it is perpendicular, facing SE) and is not perfectly aligned when u put in 2.5, nudge this up in the necessary direction. Ie, if it needs to be a bit more east-facing, nudge it up to 2.7. If it has to be a bit southward, try 2.3. Its trial and error but not as bad as it sounds, for instance I found the necessary value for one of Screegs maps and suspect he uses a similar camera angle so now i have it, i can type it straight in every time :-D If you are making new maps, u might wanna keep that in mind.

When u have done with your .mob, you EMBED it (not 'save', if you click save it will warn u u r doing something stupid). Of course u can save to fiddle with later (easier than embedding and extracting). So make sure u have the relvant sector (or all sectors in that map) in the sector folder of ToEEWB. You don't have to open then save the sector or anything like that, it will embed your door right into the sector in the folder even if u have not opened it with ToEEWB first )and you shouldn't open it, cause if u hit save later u will write your opened, doorless sector OVER the embedded sector and your door will disappear).

How to tinker the door later after embedding?

- open the sector
- go to static objects
- select the door and hit extract
- read what it says about having just made a .mob
- go back to objects and open the .mob created
- fiddle the .mob
- embed it
- go back to sectors and load the sector again
- now it has the new door embeded, delete the old one, and hit save!
- copy your sector back into the game, clear the map cache and test it.

Ok thats all pretty straightforward, actually nothing new so far for seasoned modders. Now for Ted's new contribution.

I spawned a whole bucketload of doors on a couple maps and have numbered them with Photoshop so when u want to get a new door, or make a map that takes doors into account, u can have a look here. Note that to my knowledge doors CAN'T be resized with the '3d model scale' thing - I tried it once and the game crashed. Perhaps new doors can be made resized as protos in col 6 of ProtoEd, but for the moment ur stick with the doors in game as the size they r.

EDIT BY TED: Actually, it turns out you CAN resize with '3d model scale' - I was entering a floating point thing instead of a percentage, thats why it was crashing. So resize doors to your hearts content! :-)

Anyways, here are the pix of the first 40 doors. The couple fo sliding doors have arrows indicating direction of slide. Note some of them have been opened and thus look perpendicular to how they appear when first spawned. I have left a few PCs here and there for scale, but to get them in your game and see if they suit the decor, just put your PC where u want the door and in the console, enter 'create ##' and see how it looks. Of course, the rotation will be off ;-)

You'll get the hang of it. Enjoy! 8^D



Hmmm... seems u have to click on the little buggers to get em to a decent size. Well, click dagnabit!

Sunday, November 27, 2005

KotB Philosophy

Here's a brief rant about the 'philosophy', or some of the ideas anyway, I am bringing to KotB. I call it a rant because it is not some carefully thought out mission statement, just a brainspew 8^D I might also add these are just my ideas, and while I am running the show at the moment, when the starter-pack is re-released (tentative date, Dec 1) people will be free to add new quests / characters / whatever and can implement THEIR ideas on how the game should go. This should not be a problem - if some quests rely heavily on skills, others on cunning puzzle-solving, others on difficult choices etc - ie if there are vastly different ways to play different portions of the game - well, GOOD! The more input, and the more variety, the better. No-one likes games where every puzzle is the same (well I think they get old quickly). And of course Edwin's plots will be (and are) a massive influence also. But anyways, here's my take on it all.

Firstly, regarding NPCs. Allyx asked about NPC advancement, having them level-up automatically. I would like to see that - indeed I would like to see NPCs OUT of the players control as much as possible. Thats because I think we can do things more senibly than in ToEE. Being made by players, the NPCs will be made to PLAY well, with sensible feats etc, not just there to show off the full capabilities of the engine etc (note as someone said the other day, Kalshane or Gwythur probably, that there are occurences of skills like Swim and Jump in the protos.tab, that don't even occur in the game. Ditto I noticed on the front page of the ToEE official site at Atari, they are still talking about using Disguise and Alchemy. We won't have that sort of stuff, we'll have things you WANT your NPCs to do). Also they will lvl-up sensibly, not just suddenly change classes bizarrely or pick new silly feats. Hence, people won't MIND them doing things automatically, because they won't be doing it USELESSLY like they sometimes did before, they will just be doing it maybe differently to what you had them doing before.

Now... that being said, I understand that in time people will play them as humble NPCs ANYWAY, not matter how we do them (and one persons idea of sensible leveling up is another's idea of bizarre, what with roleplaying issues and combat issues etc. Eg I really like Spuggy having the starting feats that he does - Point Blank Shot and Precise Shot - because I tend to use him as fire support with spell and crossbow, and there is no way you're throwing him into melee: also, he gets bonus magic-related feats so he can still have Spell Penetration etc later. Orion, on the other hand, was famously offended by these choices because they were not magic-related, thinking he should have Spell Focus etc). Again, I ACCEPT that: if people want to change things later so they have the NPCs under their complete control - and they will, I realise that, its part of the appeal of replaying a game - well I don't mind. But I would still like to see them as autonomous as possible to start.

Next, regarding puzzles. You people are SOFT. You've been saturated with point-and-click CRPGs, where the answer is right in front of you and even if you don't find it, you just hit reload - not anymore.

Liv I am sure would cheer this: there will be puzzles, maybe not many, maybe not that complicated, but some for sure, where the answer is NOT right in front of you. Think the Paida situation, but withOUT the scroll of Dispel Magic lying right next to her so even a brain-damaged chimp could figure out what had to be done. Of course, you don't want to have to wander on up to the surface and rest or buy a scroll or whatever to do the deed, so think of it like this - imagine Paida standing there, apparently charmed, and if you don't have Dispel Magic in your inventory, the game will still be set up so that it is in the inventory of a monster two rooms over, probably among a bunch of other scrolls so it doesn't stand out.

Mainly, I want to find interesting puzzle-related uses for spells - thats easy to do with the engine, its built for it. In some cases this will involve adding a scroll of a unique spell: then, the situation should present itself later where that spell is the answer (if you don't have the scroll in your inventory, you hit a dead end :-)). Being a unique scroll - unscribable - it is something you should realise should be saved for a specific moment.

That being said, I would also like there to be more than one way to complete some quests. Evil characters should have, well, evil options open to them - Paladins should be able to do most stuff without falling (though there will be a lot of roleplaying stuff in the Caves that won't be open to non-evil parties, much like in the Temple in ToEE). Also in the cases of needing a specific spell, well, I would also like to see a cunning mundane way around it.

Eg (I'll show my hand a bit for readers of the blog) the party come to a cave-in (no not the one leading to the Cave of the Unknown, something else).

- magical way around: cast shatter on the rubble. (ok, NOT a unique scroll spell, just what u need to do here).

- non-magical way around - 'attack' it with (military) picks and dig your way through.

What if the party don't have shatter memorised? (Probably no earth elementals in the game, so why would they?) Well tough luck!

What if they don't have a pick (and who the hell uses those anyways?) Well, thats where we have the party encounter some skeletons armed with picks two rooms over - special picks that will trigger the effect (not so normal ones won't, but so other weapons etc won't).

Now, this is not a dreadfully difficult puzzle: you need to get through some rocks, you find a pick two rooms over. The point is simply you find the pick among some other looted weapons, and it is two rooms over, not lying at the base of the rubble with 'pick me' written on the handle. There is some modicum of thought process necessary.

Thirdly, the status: not a status update, but the direction things are going. For anyone who hasn't heard, atm the plan is to complete the Outer Bailey and some nearby wilderness encounters (the bandits, hermit and spiders - Lizardmen too maybe though haven't given them a lot of thought) then release that as a Demo. People can play and frolic and bug-test while the later parts of the game (the Caves - they're not 'later' parts, but you ain't getting them straight away! - and the Inner Bailey etc) are being done. The majority of the maps for the Demo have, at this point, been DONE! So once I have finished sectoring them and get them out, we can put in the characters, the quests, and start fine tuning. Still along way to go obviously, but (thanks mainly to Screeg's efforts) we've come a long way too.

So there's some stuff on whats going on. :-)

Saturday, November 26, 2005

KotB Dialogue Template

Hmmm... it seems this place deletes blogs if you don't update them regularly... I think... someone I know had one and it seems to have disappeared while I was in Malaysia. So I better post something.

On that creative note ;-) here is a basic outline of a dialogue file I am using for KotB. It is NOT compulsory, just there to help: you always know that the {K:} option will go to line 200, for instance.

{1} First meeting
{100} Subsequent meetings (welcome back greeting)
{200} Standard dialogue

{400} Quest-related stuff.

{600} NPC hates you greeting and options
{700} NPC loves you greeting and options
{800} NPC follower dialogue (while in party)
{900} Banter (a la HERE)


Among other things, this allows for a constant .py file. Atm, many of the .py files look like this:

def san_dialog( attachee, triggerer ):
________attachee.turn_towards(triggerer)
________if (attachee.has_met( triggerer )):
________________triggerer.begin_dialog( attachee, 100 )
________else:
________________triggerer.begin_dialog( attachee, 1 )
________return SKIP_DEFAULT


Keeping in mind I haven't done much of the 'NPC hates you / loves you' stuff: they love you if you do quests for them (only one actually written into the dlg files so far, though many many many on the books!) and hate you if you go out of your way to annoy them.

Coming soon (because we need to get to the bottom of it right about now) - using reputations and reaction adjustments. Also, a contents thing for KotB-related blogs, similar to what I just did with the tutorials.

Edit: May as well do a quick update while I am here. The Provisioner worked a charm from the very beginning, though he has an unsightly gap in his inventory (the shillelagh wouldn't appear - possibly because it is the spell - and now that slot is 'taken' and won't put anything else there either it seems). Nice not to have it not work and have to fiddle it 50 times just to get through the first few lines (its a dlg of some size).

BUT the idea of putting his spear in a non-equipped slot so he is not standing around with a weapon drawn, didn't work. Pity. May have to create_obj_in_inventory at san_enter_combat, I don't want bartenders / shopkeepers / clerics etc standing there with weapons drawn. Its ridiculous.

Wednesday, November 23, 2005

Two steps forward...

Stupid nightshift.

I did a nightshift the other night in an emergency, kiddies r all asleep so I sit down at the old Celeron mouldering in the corner, power up Notepad and do about 8 hours of modding. Got a lot done, a whole dlg (well most of it) and some plots nutted out.

BUT then I have to go home at 7am, sleep all day and try to get back into a normal sleep pattern. I nap for several hours (daytime sleep is never real sleep) then get up and drive pa tot he doctor and do a few other chores, but I am totally washed out. Wander off to church last night and can hardly keep my eyes open. Come home, have a few hours of modding ahead before bed (also watched the Dylan thing "Don't Look Back" - aka the Donovan movie - damn I love it! "Ok who threw the glass? Look I don't care who threw the glass, I just wanna know who threw the glass". Etc) and I am just too rooted to think straight. I did get the Provisioner map to work (just bumped it up the map list) and then sectored it, but otherwise, got very little done, went to bed, and couldn't sleep propely! Rough night, but got 8 hours in the end.

O well, back to work in a couple hours, my partner is missing with a bad back so I gotta work with some casual who doesn't know what is going on . Meh, I'm just whinging now ;-)

In the mean time, will try putting my Provisioner .mob I tutorialed on the other day, my Provisioner dlg I wrote in Malaysia, and the newly sectored tutorial shop, all together :-) Gotta do the notice board too.

Monday, November 21, 2005

Tutorial list

Here is a list of my tutorials and various blogs that may be of interest to people doing ToEE modding. I will sticky this over on the right and update it as I add new ones :-) O and the first 12 are available as a single .pdf from Co8, HERE, thanks to Krunch's efforts.

These are done in descending order, u gotta scroll to the bottom to see the latest ones (the opposite of the 'recent blogs' auto-sticky thing).

Adding new PC voices

Basic dialogue writing tutorial part 1

Basic dialogue writing tutorial part 2

Basic dialogue writing tutorial part 3

Basic dialogue writing tutorial part 4

Custom sountrack tutorial

Adding sound and visual FX and spawning from dialogue

Proactive NPCs

Adding NPC followers

Transferring items

Adding chatter to NPC (unfinished)

Creating new NPCs with ToEEWB

Sectoring Internal Doors

Common Mistakes and Common Scripts

Adding movies

Complete(ish) Sectoring Tutorial

Flags Tutorial Part 1

Flags Tutorial Part 2

ToEEWB Tips and Traps

Factions, Reputations, and Reactions

Animations Part 1

Scripting for Proto Values

Creating Notes

KotB Scripts

KotB Scripts Part 2

Adding New Meshes

Maps, Areas and Quests

Thursday, November 17, 2005

Actually adding a new NPC

Krunch recently asked me something about "how to add/attach a npc to a map screen". Of course, this is what ToEEWB is for, and there are instructions for it in the tutorials, but it is one HUMUNGOUS tool capable of handling almost every aspect of the game, and finding something specific in it can be a li'l daunting. In fact, I can honestly say I expected someone to ask this, because while those of us who muddled along before ToEEWB came along were able to recognise its power and start familiarising ourselves with it, (because we knew what we needed to do and saw how it helped), someone just starting could get spooked. So, today we are going to add a new character to KotB (the Provisioner, whose dlg I did while over in Malaysia) using ToEEWB. And by 'add a new NPC' I don't mean hack it into the protos.tab - you should be able to do that! - but I mean put it in the game so it spawns and can be interacted with.

But first things first. Yes, you should be able to make NPC protos, but if you can't, a quick guide:

1) Pick either ToEEWB or ProtoEd to make it in. I recommend ProtoEd, but ToEEWB is far more powerful, more accurate (some of ProtoEd's columns are wrong) and lets you do things like copy existing ones better.

2) Get your tool of choice (if u have been following my tutorials you should have both, but otherwise, ProtoEd is HERE and the latest ToEEWB is HERE).

3) Back up your protos.tab before fiddling with it!

Now, do u wanna make a new one or mod an existing one?

To make a new one, you have to open Description.mes in the data/mes folder and put it in. Stick it in the 14000's, where the NPCs go. Then, power up your tool (oo-er). To add a new line to ProtoEd, go to the appropriate number - say, 14888 (or where the appropriate number SHOULD be, in this case, between 14705 (a trader from Allyx's shopmap) and 14996 (a mystery critter for my next little "get-more-of-Cujo's-stuff-into-the-game-without-consoling" effort)). Right-Click on one of the boxes in 14996 and hit "insert row above" from the menu. Shazzam! A new row appears. Double-click the leftmost box, put in 14888, and go for it: the entries are straightforward for a basic proto, more advanced entries can be considered by looking at stuff in the General Modding thread or asking questions there. But to add a new NPC with stats, classes, spells even, feats etc, u just gotta look at what is above, its not that hard. Don't forget to save, and to copy your new protos.tab and description.mes into the root folder of ToEEWB so when u run it in a minute, it can access your new proto.

To do it all in ToEEWB, well, really, read the tutorial Building a New Module, section 27 onwards, where u learn the mysteries of the 'add new proto' button ;-)

Easy. Now, suppose we have our NPC all done (and u have spawned him from the console in-game a few times to test him out). How do we get him to turn up in a game automatically?

There's a few ways. Firstly, you can have him spawn from a critter's dialogue thingy, thats the easiest. We saw that at THIS tutorial, where we spawned spiders from Lareth's dialogue. Simple, but obviously limited in its applications:

Orc Leader: Now you have upset me!

1. [continue dialogue to spawn rest of tribe]


Not that appropriate... but still has its moments (eg its how I bring in the Corporal and Scribe at the Gate in KotB. Must add a little postern door to the Tower for them to have come from).

The next way to do it is spawn from heartbeat. This is how we used to add things in the pre-ToEEWB days. A simple example of this is how I added the sheep and rooster for the original "Something about Mary" mod. Did I ever blog about that? Can't remember... nah I don't think I did, but I shoulda. Here's the script I used:

def san_heartbeat( attachee, triggerer ):
________if (game.global_vars[697] == 0):
________________game.obj_create(14362, location_from_axis (507, 484))
________________game.obj_create(14365, location_from_axis (505, 478))
________________game.global_vars[697] = game.global_vars[697] + 1
________return RUN_DEFAULT


The heartbeat goes off the moment u enter the room (yes, I could have used 'first heartbeat' for it too). Then the rooster and the sheep spawn. BUT you don't want them respawning at every heartbeat, so u only do it when a certain flag is at zero, and the instant it happens u increment the flag so it is never at zero again. Simple. (And yes that could have been done by using game.new_sid = 0 instead of wasting a flag, its already on the list of things to be done for DH2 (current release date - a long way off)).

A very handy if superseded manner of doing things. In this case, it was fool-proof - even if u entered the room with naked steel in your hand and cold murder in your heart and killed Mary instantly, there was no way u could stop that heartbeat - it would always spawn then go away. And Mary was always going to be there the first time u went in. Sooooooo, by influencing her heartbeat, u could make sure the sheep and rooster were always there too.

But what about adding a critter where there is NOTHING there to add a heartbeat or dialogue to - such as Clarisse in DH? (She, like Frank, I added partly to give you a reason to go into those otherwise empty houses - with Frank, I had to add the house interior too). Empty places cry out for NPCs in them, but also by their nature resist these two methods. And how did Mary spawn in the first place for that matter?

The answer to that is .mobs, or mobile onjects. To find out more about these, read the Mobile and Static Objects tutorial that comes with ToEEWB.

Mobs live in the map folder for each map, which in turn lives in the module folder (maps of course change from module to module, where other stuff stays the same). So, Mary's .mob is in

Atari\Temple of Elemental Evil\modules\ToEE\maps\Map-9-Nulb-Interior-Snake-Brothel-2nd-fl

(well, theoretically - actually, it is locked up in the .dats!)

and Clarisse's is fired from a heartbeat attached to a new .mob in

Atari\Temple of Elemental Evil\modules\Co8-4.0.0\maps\map1-int25-herdsman-house

Why make a .mob to fire a heartbeat to make a character? Well, prior to ToEEWB, thats how it had to be done: we could only make the most simple of .mobs, and we made one that was simple (and invisible etc) and gave it a heartbeat and then spawned stuff off its heartbeat. Complicated, and the invisible .mobs, despite all our efforts, still did stuff like turning up in combat if you let off a fireball near them. One of ToEEWB's great achievements is that it allows us to easily make complex .mobs (such as NPC's with merchant inventories, flags set etc). Its other great achievement in my opinion is its ability to add sectors to maps - without it, we could NOT sector new maps (it simply can't be done my hand, I reckon). I suspect there is other stuff that I haven't even discovered yet ;-)

But on with the show. Have you still got ToEEWB powered up? Choose your proto then, and lets make a some .mobs! I will be using 14018, which in KotB will be Porteous, the Provisioner.

Firstly, we stay on the opening page of ToEEWB (the objects page) and click 'new'. Now we have a new .mob (albiet blank). Its identified by the randomly generated Object GUID, which as u can see is so damn long it can randomly generate over and over and never come up with the same thing twice.

Next, we pick our prototype. Click the menu and scroll down. Note this is alphabetical and goes by the name in the description.mes, not necesarily the name u know. That is, I will be looking for 'Provisioner' not Porteous, becuase the prototype is for a provisioner - I only learn he is named Porteous if I chat to him in the game. If you don't know how this is done (its by setting an id number different to the prototype number in col 23 of ProtoEd) then you didn't do it when u made your prototype, and you don't have to worry about it! :-) But if u r ever looking for a prototype alphabetically and get lost, go over to the tab at the top, "Proto Descriptions", and you will find them by number just like in ProtoEd and description.mes.

Find your proto and click on it - note it automatically calls itself a obj_t_npc (you can't change that even if u want to!)

Next is location. Do u know where u want to put it? If not, make sure ed.py is in your data/scr folder (if not, its in ToEE World Builder\Tools\Editor's Assistant, yet another handy little tool thanks to Agetian) then power up the map in question and walk your leader (left-most party member, #0) to where you want to spawn the new character. Then, open the console and type in

from ed import * (then hit [enter] - that loads ed.py)

loc() ([enter])

Write down those numbers, they are the location, then put them in the X and Y things of location. Fine tuning can be done with X and Y offsets (put in 10 or -10 or something to move them slightly, requires tinkering to do).

Note: .mobing things in is FAR more locationally accurate than spawn-by-script. Take the pix of a guard by a bell u may have seen in KotB screenshots: I simply could NOT get him to stand under that bell by console-spawning, it was too close to the wall, despite the fact I had walked under there to get the location with loc(). But the mob placed him exactly where he should be.

For rotation, we can cut-n-paste from Agetian.

5.5 - northwest
5.0 - west
4.0 - southwest
3.0 - south
2.5 - southeast
2.0 - east
1.5 - east (sometimes it looks better than 2.0)
1.0 - northeast
0.5 - northeast (sometimes it looks better than 1.0)


This is the way he will face when he spawns. I'm choosing 3 for the moment.

Other than that, we just have to hit the 'dispatcher' box. Do that for NPCs (though not for other stuff). I forget why, but thats what Agetian said :-)

Now... on the right, you should see some flags. By all means look at them, but do NOT be tempted to click the activator thing at the top (in this case, should be Object Flags) to see them better. As far as I understand (from trial and ERROR) this sets up part of the .mob to hold these flags - once it does, it will crash the game when that .mob is introduced if those flags are the wrong sort (EVEN IF U DON'T SELECT ANY OF THE FLAGS!), and you CAN'T return the .mob to its original state once it is set up for flags (by un-clicking the top box). You'll have to throw it out and start again.

Shouldn't need any Object Flags for your NPC (I don't!) so we'll move on.

Secret doors? Nah.

Scenery? Nah.

NPC/critters? Bullseye!

Does your critter have any inventory? A monster with no loot may not (or a whore in the SnakePit, pre SaM ;-)) but if they do, click "Inventory (Loot/Worn)" - distinguishing it from inventory a merchant sells - and start adding whatever you want. To do so, select the pull-down menu and find what u want to add, then click "add new" (add existing will show you a menu of stuff already in the ToEE World Builder\Mobiles folder that you can attach). Figured it out? Thats right, every item you attach to an NPC is ITSELF saved as a .mob! It is given a GUID by ToEEWB and that is written into the NPC's .mob, so u have to keep them all together once you make them :-)

I am adding a spear, leather armour, shield and a few gp in accord with the KotB module, and some boots (a bare-foot merchant? No thanks). I set the "specific slot" thing of the spear to 220 - check the help/special NPC inventory slots thing to see where everything goes. It actually goes where u want automatically, but I DON'T want a shopkeeper brandishing a weapon so I put it in a different slot (does that work? No idea! We'll see... if not, I will scrap this bit). When I want him to use it, I just do san_enter_combat attachee.item_wield_best_all()

Really, thats about it. Check the NPC flags and both the critter flags sections to see if there is anything u really need (KOS - kill on sight - is important for monsters, but should probably be in the prototype). Otherwise, click save! Its not that hard to make a simple NPC, is it. Later you can make all sorts of complicated stuff, with waypoints and sellable inventories, but there are plenty of tutorials provided by Agetian for that.

Now... having saved, go (back) to ToEE World Builder\Mobiles. This is where your new .mobs are! There will be one for the NPC and one for each item he/she has. I have 7:

Provisioner
Shortspear
Leather Armour
Small wooden shield
Leather boots
Gold
Silver (I threw in a few SP even though the module didn't say - and a couple levels Ranger).

Select all these and copy them, then find your map. If it is not one that has been fiddled before by Co8, then u will have to crack the ToEE.dat with Zane's .dat extractor and go to ToEE/maps and find the map you want. Then, go to Atari\Temple of Elemental Evil\modules\Co8-4.0.0\maps and make a folder with the identical name there (probably you should make a new folder, paste the mobs in, then copy/paste the name of the map folder from the extracted .dat file). Thats it! Once your .mobs are in there, they will show up.

Now, if you don't use Toffee, while u have the maps folder open, CLEAR THE MAP CACHE! Or your new .mob won't show up in game!!!

And finally, if you only created the prototpe with ToEEWB, don't forget to copy that protos.tab and description.mes over to your data/rules folder.

You're done. Run the game, go to the map in question, and there's your new NPC. 8^D

We're done here. Tomorrow I will do a contents page index thingy of these tutorials (another sensible suggestion from Krunch). If anyone else has an idea for something I should write about, suggest away!

Wednesday, November 16, 2005

Work in Progress

Today we have a script, its long and repetitive but it will do something rather joyous: it will very easily allow us to add chatter from (or even between) NPC followers, a la BG and such other games as have it. It is a work in progress due to a snag I hit, then shoved it on the back burner to work on the Pishella thing, but that is dealing with associated voice issues so its still slowly getting there. This will all be finished when the Starter Pack is re-released.

The way we are going to fire our chatter is from san_new_map. If a script is attached to this, it will fire each time the NPC changes maps (funnily enough). Usually this is done to check if the NPC is to do something specific at that map - for instance, leaving the party (Thrommel, Morgan etc) or betraying them (if you’ve never had this happen in ToEE, it only occurs in very specific circumstances, I won’t spoil it by saying when). What we are going to do is, on specific maps (the Keep itself, the wilderness map outside the Caves of Chaos and a few others - maps where the player will first off be moving for a period rather than fighting or talking to someone) a random number will be generated. If it is in the range we want (we don't need this to happen all the time, it would get very old quickly), then the nearest party member to the NPC will be examined, and the NPC will then make an appropriate comment.

Sound confusing? Well, I have done one up for a character called 'Two Swords', one of Cujo's PCs that he has graciously allowed me to use in KotB as an NPC follower. Two Swords is everything we want in a lass - skilful, voluptuous (in a toned way, of course), rough and tough etc. She likes jewelry and the furry animals that follow rangers (a bit of projection from His Dogginess perhaps?), she dislikes goody-goody Paladins and Druids babbling about balance.

IMPORTANT NOTE: The san_new_map column in ProtoEd is MISLABELLED, it is actually 2 cols to the right, labeled san_join or something.

Anyway: lets look at the script, as I said it was long and repetitive but people who like it can just copy it easily enough.

def san_new_map( attachee, triggerer ):
________randy1 = game.random_range(1,12)
________if (attachee.leader_get() != OBJ_HANDLE_NULL):
________________if (attachee.map == 5129) and randy1 >= 10:
________________________attachee.float_line(975,triggerer)
________________elif (((attachee.map == 5121) or (attachee.map == 5137)) and randy1 >=9):
________________________for obj in game.obj_list_vicinity(attachee.location,OLC_PC):
________________________________if (obj.distance_to(attachee) <= 30 and critter_is_unconscious(obj) != 1):
________________________________________if (obj.stat_level_get(stat_race) == race_halfling):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(900,triggerer)
________________________________________elif ((obj.stat_level_get(stat_race) == race_halforc) and (pc.stat_level_get( stat_gender ) == gender_male )):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(965,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_paladin) >= 1):
________________________________________________attachee.float_line(990,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_sorcerer) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(930,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_bard) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(945,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_cleric) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(925,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_barbarian) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(950,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_monk) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(935,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_ranger) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(970,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_druid) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(920,triggerer)
________________________________________elif (obj.stat_level_get(stat_level_rogue) >= 1):
________________________________________________attachee.turn_towards(obj)
________________________________________________attachee.float_line(955,triggerer)
________return RUN_DEFAULT

Crikey, thats hard to read like that! O well, lets hack our way through it anyways.

First off, we generate a random number between 1 and 12. We call it 'randy1'.

Next we make a quick check to see if we are entering the pub (map 5129). If we are, and randy1 is more than 10, then Two Swords makes a quip about how its good to be back at the pub.

If we are at map 5121 (the main Keep) or 5137 (the front gate) and Randy1 is more than 9, then we have the room and opportunity to make a comment.

So, now we check the nearest party member. If it is (in no particular order):

a druid
a paladin
a barbarian
a fighter
a thief
a halfling
a male half-orc
a ranger
a monk
a sorcerer

then she makes a comment (these will later be expanded to include animal companions and wizards carrying more than 3 scrolls). If not, or if none of these are nearby (she is surrounded by wizards with no scrolls and female half-orcs) then she may make another comment, again randomly determined:

on the party alignment
on her jewelry situation.

Haven't done that bit yet. The alignment one is obvious enough, and will later be expanded to include reputations: she will respond to what they party are actually doing, not just the alignment. The jewellery one will depend on what she has in certain slots (the worn necklace and worn rings slots). If she has some expensive jewellery (established by using the get command to find the value of the item) or magical items (established by using get to find the magical flag), she will purr about it. If she has some cheap crap, she will complain about it, and if she has nothing, she will make it clear to nearby male party members they are falling down on the job.

Simple, eh?

Ok it is long and annoying but it can be copied easily enough and the arguments can be changed. So by all means use it for a new NPC! Of course, for NPCs who join in pairs (like Turuko and Kobort), or who run into other NPCs they know of or would react to in some way (like Taki and Ashrem, or Otis and Elmo), some of these lines can trigger butt-ins and exchanges (again, a la some of the stuff in BG). The hardest part will be getting voice actors: without voices to accompany the floatlines, it really doesn't work at all.

Now, other than the expansions for other comments, what does this work in progress still have to do? I have to come up with a way to delay all this til the NPC is a few seconds into the map. This will allow the party to break up a bit (otherwise the NPC will ALWAYS comment to the same character, unless u change the party order - that gets old quickly). Of course, it will only be if the NPCs are free to chat and not in combat ;-). The time interval will differ for each NPC: by changing the amount of time each, erm, time something fires, even if more than one NPC gets lucky with randy1, their comments will fire at different times, rather than talking over the top of each other. I have tried to implement this using the add_time thing but have had no luck getting event the simplest script to fire from it (despite having used this successfully in the past in DH for Gwenno's reward - well, sorta successfully ;-)) Back to the drawing board!

Now, what exactly are Two Swords comments? You'll have to wait and see 8^P

Subsequent update: I fixed the timed chatter thing, the problem was I added a san chatter() thing but didn't realise I needed to define it with args (attachee, triggerer) because I am a n00b. More info HERE and HERE.

Also, to go straight to the next tutorial, click HERE.

Friday, November 11, 2005

Interview with Richard Garriot

Well I can't not post anything can I? Too much going on to do a long holiday post and while I have a nice long blog about KotB ready to go, I haven't fully tested the scripts involved.

So into the vault we go! Here is an interview I dug up long long ago and saved, it is with Richard Garriot from 1999. DAMN good reading - this is top stuff - and relevant for all those who are either modding or who have recently read the demise of Origin thing over at the U5:Lazarus boards. If the Dragon passes by from whose site I nicked this (and I seriously forget where it came from, I saved it back in 99 when I first saw it) well sorry I didn't give you credit, leave a comment by all means. Needless to say the previews of U9 are rather outdated (ditto the stuff about UO) and we know it didn't live up to it - but still worth the read.

O and its Rememberance Day here in Oz - lest we forget.

They shall grow not old, as we who are left grow old.
Age shall not weary them, nor the years condemn.
At the going down of the sun, and in the morning, we will remember.

April, 1999

The Business of Making Great Games

The games industry has no shortage of soap opera material. Stories like The Death of Ultima IX, The ego's at Id, and Stormy weather at Ion Storm, are prime examples of the great material that developers in our industry give the press to write about. What ever happened to the days of clever individuals relentlessly, selfishly pursuing unique visions of entertainment, and creating these visions without regard to who believed in them before they were completed?

A few things happened. First, there are the realities of the game companies as a maturing business, where distribution and marketing weigh in as at least equals with individual creative talent. Second, the prima-donna egos that are born with early successes create unhealthy working conditions and poor business decisions. Third, inexperienced management brought about by the emergence of a new industry with new challenges makes new rounds of leadership mistakes. Additionally, there is this pervasive belief that many of the new participants in this industry have that they have the right stuff and that they deserve the big bucks and that they deserve it right now. This belief causes stress and instability in companies. Beyond all that, there is still plenty of stupid money pouring in from venture capitalists and outside companies who are late to the game, but willing to waste their dollars trying. All this adds up to an unstable mix of rash thinking, ignorant mistakes, blame, yet still a few great success stories.

Years ago, back in the mid 70's, I began writing games as a personal creative outlet. I had the artistic interest of my mother, without the fine art skills. I had the scientific and technical interests of my father, but not the deep scholastic interest. I had acquired a theatrical presentation interest honed through participation in years of community theater and particularly from my studies under Claire Harmon. Lastly, I acquired an instant deep interest in the creation of fantasy worlds through "The Lord of the Rings" given to me by my sister in law, and the discovery of Dungeons and Dragons in the first few years if its existence. Put all this together, and I began creating fantasy worlds in earnest, as I still do to this day. I created Ultima like games (in fact many, very small ones), throughout high school. I built larger and larger Haunted Houses, as I do still to this day. This love of creation, and my artistic and technical background has been essential to my career in the games industry. Note that profit was not on the list. I still spend hundreds of thousands of dollars building Haunted Houses that we open for free to the public. They are funded by my past successes in games.

The games business has become a glamour business like the movie industry. People love to participate in activities that appear to be all fun and games to execute, and create a fun compelling result. And if there appears to be easy money, well, then this really attracts a lot of people, without regard to their skills and dedication. Making games was and still is fun. Early on, I must admit making games and lots of money for little skill and effort was easy. Making games now is still very hard work. Publishing a profitable game is even harder. Getting rich in short order is all but impossible. Yet, getting to the top of this industry for the properly motivated and skilled person, and then reaping healthy rewards and even great wealth is still much easier than in most industries. Yet way too many people, teams, and companies believe they deserve huge rewards for second tier results achieved through early efforts.

First lets focus on building a great game. Then we can worry about selling it. Great games are few and far between. When you add up the essential elements needed to produce a great game, it becomes clearer why.

Most teams I have seen at most studios lack the first essential ingredient, a true visionary. Most teams are a mix of green resources and "B" resources. Usually the "B" leadership has never led a top tier product successfully. This is the most common formula for mediocrity. Not to say that new visionaries don't emerge from the wilderness, but this is far from a bankable proposition. Some great managers can grow green creatives into great creative leaders, but our industry, due to its youth has few such managers. Generally teams need at least one great creative visionary to see ahead of the pack as to what form of entertainment might be achievable and desirable in the years ahead.

Beyond this, you need a great team. The nominal skill set that a team needs from every participant gets higher each year. Few teams have a stable of aces, but fewer and fewer winning projects can afford to have anything else. Not only is it hard to find this stable of aces, but it's even harder to keep them together. So many people remember the old days when it only required one or two aces and they all feel that they deserve to be the top dog and thus are prone to go their separate ways in an attempt to achieve individual success.

An experienced working relationship is another critical need in this industry. If you look at the very mature movie industry you see that the roles have been so well defined that a lighting designer can come in and use standard equipment and a standard process to add value to a film shoot. The games industry is different. Until a team has completed a full game cycle together it has little chance of being able to create its best work, to exploit the best skills of its members, or to predict the time required to take a project to completion. And as teams often lose members from one project to the next, rarely is a stable multi-project team found. But the companies that do this well succeed much more often. Consider id building Doom or Westwood building C&C: both of these companies had moderate success with prequels and then built the masterpieces with largely the same stable teams.

One of the reasons for this is how fast the rules are changing in our industry. Great games require a good deal of experimentation, and we are shooting for moving targets of machine capabilities and gamer expectations. As most jobs in our industry are not cookie cutter fill-ins, it takes time for a team to gel and be able to anticipate each other's moves.

It has been sad to see that as our industry matures, people seem to always believe the old adage, the grass is always greener on the other side. People now move quickly from company to company, in search of more money and the top job. Because there is so much money still poring into out industry, getting more money by changing jobs in this biz is very easy, with little regard to one's actual capabilities. Eventually, people who move from company to company do get the bad reputation they deserve, but this usually takes a few moves. The most important damage is to our industry as a whole, as the teams they leave are now hurt and the teams they join are often too green. Furthermore, the mover is often accepting a position over his/her head, thus compounding the suffering of all. But, they did get more money and advancement..

This not only happens with individuals but whole teams at a time. In my mind, G.o.D. is a prime example of this effect taken to extremes. They fail to realize the important job that powerful worldwide distributors do for them. They fail to realize how few (if any) of their products will be top 10 worthy and how only a few distributors have enough clout with retailers to help realize the potential of a possible hit.

In the online world, things may be different. New forms of distribution usually do create new players. Like Amazon.com, they would not exist if not for a new form of distribution. I'd be far more enthusiastic about a new company who sold a new type of entertainment that sold through the web.

So my advice to individual developers and teams is this. Keep your teams together. Even a 'B' team will do better after their 1st full product together. Build teams flush with 'stars' in every field. Don't be satisfied with anything less around you from your leadership through every support staff member.

My advice to people hoping to get into the games biz, is to first become well educated. Be that at school or on your own, strong skills are a must from the beginning.

My advice to anyone in the games biz, is to find a company dedicated to its people and the highest standards of quality. Stay there!

Richard Garriott / Lord British

November, 1998

Symbols and symbolism in Ultimas
Pentagrams, Religion, Zionists and Prejudice

I often receive letters either asking about the sources of certain symbolisms and messages in Ultimas, or expressing concern about events or symbols in Ultima that are in conflict with some peoples’ personal values. I do not expect the following tome to win me friends in certain circles, in fact I may offend a few people, perhaps even a few at Origin. At the very least, I expect it will generate some lively responses. It is important to understand that I am not a religious person. I have no religious or supernatural beliefs of any kind. In fact you could say, I don't "believe in" anything. Rather, I use the reliable aspects of reality as a tool for exploration and understanding, view the unknown with great curiosity and adventure, and anything that appears supernatural or incongruous with a healthy dose of skepticism and at best a reason to go back and check earlier assumptions. What follows is sort of a retrospective of the evolution of how and why certain symbols and situations are included in Ultimas.

Back in 1982 when we founded Origin an interesting thing happened. For the first time I received what some might call “Fan Mail”. I suspect people may have written to me before at my earlier publishers, but these notes never reached me. It’s funny that most letters start fairly complimentary of any game further back than whichever was the last one, but quickly turn to what I/we did wrong in the most current release and how we could improve it. As U3 was the first time I received such, it was strange to acclimate too. Now though, I look forward to it as an important aspect of improving our craft.

Back in the 1980’s, “role-playing” games like Ultima and D&D were under a huge amount of criticism from religious groups and others who felt that role playing and pretend magic were an invitation to the devil, and role players were slowly turning themselves over to the dark side. One of the favorite letters I’ve ever received was a strongly worded note calling me “The Satanic Perverter of America’s Youth!” (This person had not played or even seen an Ultima, they had only seen an Origin ad.) At the time I was rather shocked. At the time, I wasn’t sure how to respond to such a charge. Clearly I didn’t agree.

We founded Origin in my parent’s garage, but quickly moved to the northeast for a few cold years. (That is another story.) Having dropped out of college to play games for a living, living on my own for the first time, getting to the age where I began to think about my place in the world and being called the satanic perverter of America’s youth, all added up to a very introspective year.

Though obviously role-playing is not satanic, and combat games do not cause murders, I do think there is a connection between play habits and real life habits. All you have to do is watch small kids who hit each other after playing a combat game to see this. Role-playing is used at all ages as a teaching tool. Children role-play to learn basic social skills, teens role-play in many classes, I've even role-played tough management situations, to learn how to deal with them. Role-playing does have a powerful way of touching people.

The plot lines in most RPG’s are basically the same old drivel, over and over again. I call it the standard RPG plot. I think you will find it familiar: You start the game as the great hero. (You know this because you are told so in the instructions.) You job is to kill the big evil guy. (Also, from the instructions.) You pillage and plunder everyone and everything to become strong for your final battle. (Of course the supposed bad guy is doing no evil right now, but you sure are.) When ready at last, you kill the “bad guy” who has been sitting there peacefully waiting.

Well, after 3 games of my own that retold this story, combined with all that introspection, I was ready for something more. I felt that role-playing would be even stronger in a more realistic setting. I felt that people are basically good, not merely for fear of some divine being, but because it was logical. Thus was born the modern Ultima design. I was really worried before we released Ultima IV: Quest of the Avatar, that people might think I’d gone off the philosophical deep end, but instead, it was my first best selling game.

Ultimas since then have had a deep sense of ethics, which I carefully separate from morals. By my definition, Ethics are logically based, while Morals are religion based. Thus, if you object to pre-marital sex because it is against God’s laws, that’s Morality; if you oppose it because of the risk of unwanted pregnancies, that’s an Ethic. I do not subscribe to any Morals, yet believe I am a very Ethical person.

The Virtues in Ultima are Honesty, Compassion, Valor, Justice, Sacrifice, Honor, Spirituality, and Humility. A fictional collection, to be sure. A good basis for ethical behavior, yes. A good series of thoughts to use to provoke personal introspection, yes. My entire personal belief system, no. Some have asked, what I meant by Spirituality, as it often is used in a religious context. In this case I mean for it to mean the concept of introspection about ones inner values and the deeds they manifest. I do not mean one’s soul or piety. I do consider myself a very spiritual person. However, to this day, I still get the occasional “Die heathen” or “Satan worshiper” note.

I quickly learned that I could not appease the religious right since I am not religious, and do not share their editorial approach to fiction in general. It has been interesting to note the various lines people draw as to how much is too much. Some say playing an RPG is bad enough, some say just don’t pretend to do magic, some say just avoid Pentagrams and similar symbols. Me, I have no line. Worse yet, I seem to have developed a bit of a sadistic retaliation streak in response to their attacks.

Most people who would be offended by role-playing are not generally buying role-playing games. So, if I poke fun at these people, whom I feel to be closed minded, within the game, well.... Years ago I started playing with the edge of good taste. I put a 666 on my office door, my car, my phone extension and other places. I don’t actually believe in any of it, but it is interesting to watch other people’s reactions.

Ultima is full of stories with a mythical theme and often shares a sense of parable that is found in places like the Old Testament. I am told that Ultima Parables are very much like parables found in other cultures. (As I am an unread, illiterate bum, I wouldn’t know first hand.) With this in mind I am very happy with the positive undercurrent that exists in Ultimas. But don’t get me wrong… I love lots of games that have far less lofty inclinations.

It has been interesting to test the limits of peoples’ comfort zones down through the years. Over time I have grown to believe that testing peoples’ comfort zones makes them think about their closely held beliefs. I think this is always a good thing, as I think no one should believe anything dogmatically, especially if their reason for a belief is how they were raised which is where most people gain such beliefs. Let me share some of the stories of testing the comfort zone down through the years, at first inadvertently, later by design.

When Origin was founded in 1982, I finally had control over all aspects of the game including the manuals. I had always dreamed of creating an experience that felt real from the moment you opened the box. For the magic books, I wanted them to feel real, so I went to the bookstore and bought a bunch of “real” magic books. Boy, what a disappointment. I hoped for books, which read like arcane yet meaningful tomes, yet what I found was a bunch of boring text that was not very inspirational. So, I decided I could do better myself. I wrote spells that felt as real as I could imagine them. I created reagents, language and symbolism that to me felt real. We even put the most powerful spells behind a sealed tab, which read, “open only when you are ready, for powerful evil can befall the weak.”

I had a spell where you had to prick your finger and add a few drops of your own blood to the potion. This was my first line crossing. My family members, (who were my business partners,) were afraid that children would actually try this at home, so they made me cut it out. Then when we went to print these manuals, some local print shops wouldn’t print them, as they thought they were satanic. Then a few years after the release of U3 we got an angry letter from a Rabbi, who said that we had included a graphic which was the never-to-be-written-name of God. (As I thumb through the book now, I can’t tell which symbol that was.)

The next time I discovered a comfort zone was during U4. While creating dungeon rooms, 256 of them, it was hard to continually think of compelling new spaces. All I had to work with was furniture, monsters, treasure and the ability to use something and change out a few tiles in response. So, any thing that seemed clever gave me much satisfaction. So, I did orc rooms, wizard chambers, torture chambers… then a few that I was fairly proud of. For example a room near the end of the game, where I put 1 of each of the 8 player types, knowing that the player would also have these 8 in his/her party. Thus the player might wonder what to do, fight or flee. (Don’t forget this game was about proving yourself to be an Avatar, so be good!) One of the next I thought of was a room with cages full of children and a lever in the middle. If you pulled the lever, the children were released. The children were, of course, monsters and thus would attack you. As you were the Avatar I knew this would cause a dilemma as to how to handle the situation, as the players knew that their deeds were often recorded by the game. I was quite happy having thought of some rooms I hoped would spark mental quandary.

Well, one day, my brother, (the GM of Origin), called me into his office. It seemed that a play tester had written him a letter stating that he refused to work for a company that so clearly supported child abuse, and demanded I remove the room full of monster children. Amazingly, my brother agreed with him! Even my parents got involved in the debate and cautioned me against this room’s inclusion for fear of media and public outcry and pleaded with me to remove it. I argued that this was exactly the kind of provocation I was going for and was set in my belief that it should stay. Besides, I argued, you could put them to sleep, you could charm them, and there were many ways to avoid having to kill or hurt the children. The room stayed in. No one had a problem with it. But ever since then Ultimas have had an event involving killing children.

More recently, there was the fiery pentagram on the front of U8. That caused quite a stir. Some stores wouldn't carry it. Some stores’ ads had the center removed. Numerous players called foul. To me classical imagery provokes thoughts and meaning that have value to the realistic feel that I want Ultima to have. So, they stay.

Over 10 years ago, I created an artifact in one of the museums in Britannia. It was merely skeleton, the same as was used when a creature died. I labeled this one, "The Bones of Zog" and included an explanation to the effect that Zog was an ancient Britannian who had cast the armageddon spell and wiped out all life on the planet at that time. More recently, The UO Live team was looking for a good name for a new doomsday cult in UO, so they called them Zog. Well, sometime between these uses, some dumb obscure anti-Semitic group has called themselves something like the Zionist occupation group. So when we used our zog, some people protested loudly. Unfortunately, I was out of town at the time. Origin changed ”zog” to the “FOA”, followers of armageddon. I would not have made this decision, as our game had nothing to do with a few peoples’ sensitivities over an obscure unrelated cult.

On the other hand, we have had some real incursions of hate groups into our virtual world. They are not welcome. They have, and will always be, banned upon identification. Our virtual worlds should, just as our real world should, have no tolerance for these close minded people. Just as I will not have the religious extremes effect our art, nor will we let these extremists do so, either. Both are closed minded groups and do not share the spirit of Ultimas, which is the path of constant learning, constant thinking, challenging yourself, and challenging your own beliefs.

I hope this sheds some light on the how's and why's certain things are included and excluded from Ultimas.

I have a friend who was telling a client about Heather's and my travels to the Antarctic and the Titanic. This woman expressed her concern that clearly we were still searching for the meaning of life, that could only be found in God. Which reminded me of a bumper sticker I had made in High School in response to all the "I Found it" stickers that were popular at the time. Mine read, "I'm not even looking for it!" Really though, to me life is a grand adventure, and I hope we are building grand adventures for you.

Some people do get it. I am reminded of a letter I received after U4. A woman wrote me after she and her daughter played the game. She was pleased to see how her daughter, saw direct cause and effect of good and bad deeds without having to make those mistakes in the real world. She felt that her daughter had truly learned and grown through the experience. Ultima IV was a highlight for me. I hope the work we are putting into Ultima IX: Ascension will have similar depth and impact.

Well, that seems to be more than enough for one letter. Now its time to think about my new castle. Today, Halloween, we broke ground. Its address will be 13 Rue De La Morte (Road of the Dead); it overlooks Dead Monkey Cove. Happy Halloween!

- Richard Garriott a.k.a. Lord British

September, 1998

CGW's News of Ultima's Death has been greatly exaggerated.

What could have been an interesting article on the trials and tribulations of game creation, instead became tabloid journalism, and a forum for one ex-employee. I know all of you realize that it is very unlikely that you will ever hear much of anything good from a company's ex-employees. Either they quit because they were unhappy or they were fired which will make them… unhappy. Such persons are thus a dubious source of information on our current status and our goals. Unfortunately, this pattern of negative attitude towards Ultima has gone on for years at CGW. The most recent article was inaccurate, misleading, and of questionable merit. Major national magazines should strive for true journalism if they wish to remain credible to their audience.

From now on, if you really want the scoop on Ultimas, please peruse our website at www.ultima-ascension.com, or even Email me directly at lordbritish@origin.ea.com.

Ultima Ascension is late… very late. All of the best Ultima's have been. Ultima's 0-3 had no schedule. Ultima IV was two years late. Ultima's 5-7 we're about a year late each. So, Ultima IX, which is many years late, should be great! Really though, Ultima Ascension has seen its share of difficulties, but is now healthier than any Ultima has been in years.

This seems like a good time to talk about my attitudes on Ultima game design and why I believe it is so hard to find designers up to the task of designing Ultimas in this rapidly maturing industry with team sizes, budgets and technology advancing so rapidly.

I believe that a great game design must be crafted. A truly great game design must be worked and honed to achieve a level of polish, impact and worthiness. Easily arrived at answers are usually predictable, uninspiring and rarely compelling. All too many RPG designers feel that D&D rules and a collection of monsters and puzzles makes for a great role-playing game. Some of you may prefer this formula, but I do not.

I consider myself a role-playing purest. Role-playing, especially on the computer is never easy. I have had the luxury of entering this field when games were small and have grown with the products. So I have developed methods to observe and analyze designs in progress that I feel help to insure strong resulting interactive stories in which to role-play.

Many people are attracted to the game industry because they have their great game design idea. Personally, I truly feel that game ideas are a dime a dozen. The hard part is in the details of how you execute on those big ideas and how you choose a collection of ideas that make a truly great game.

Game designers in general have an interesting career challenge. Judging a good coder is fairly easy. Does it work? Is the code versatile, supportable, debugable? For artists, can they use the tools and show you the final product, which you can evaluate. But how can you look at the resume of a burgeoning designer and know if they can design? How can you find out if they can understand the high concepts that drive an Ultima? That is much more difficult to answer.

Computer game design is a non-trivial operation. It is a craft, which requires careful planning, lots of labor and insight that can either come naturally or is learned through years of trial and error. Since this has been my labor of love for nearly 25 years, I feel I have learned much, and yet have much to learn. For me the best results have come when we have tested our assumptions repeatedly, modified when appropriate, researched answers to insure results that would be unexpected. We even use particular strategies, (which I'd love to share someday, perhaps a later address,) as to how a design is recorded, expressed and analyzed.

As team sizes have grown, so has the creation process and our demands of new skills on the part of team members. With all this in mind, perhaps it can be seen why finding both a great game designer and especially one that can share in my vision of Ultima year after year, can be particularly difficult.

Down through the years, I have worked with many people who shared parts of the Ultima dream with me. In the earliest days people such as Ken Arnold not only shared the vision but also added greatly in numerous ways including the early music which I often still have melodies stuck in my head. Herman Miller, who is still a principal team member, not only shares the vision, but leads with added depth of things like the gargoyle language and much more than just the code he writes.

Perhaps the most important and definitely the hardest role is to fill, is the role of being my design partner on any Ultima. Down through the years, I have had periodic high hopes but have still only found a few people who seem to have the design and leadership talents, share the vision of Ultima, and can tolerate me. One such individual is Starr Long. He, backed up by Raph Koster and hopefully now Damion Schubert, know how to design an Ultima. In fact, they are leading us into new areas, which are beyond my 20 years of experience. Its like we are starting over again in the Aplle ][ days. Except the teams, budgets, competition and responsibilities are lots bigger. (So, maybe its not much like the old days… ah well.) Seth Mendelsohn, my design partner on Ascension, and I are very much of one mind as to the future of lineage Ultimas. With them and the rest of our extremely talented teams, our products will speak for us.

Another thing we are working hard to improve is our support of the online community. In the past we have failed to provide you with regular accurate information on our status and our planning.

We are making changes now to insure that you hear details of our status and plans faster and more fully. Even though we believe Origin can easily be the leader in online community development, we are still struggling with how to best organize the company to support it. For example: We have 3 teams in LB productions working on Ultima products directly. We have a game master group running UO live and we have a web group that is part of marketing and builds the web sites that surround these product. The problem, as I see it, has been coordination and planning. Between the 3 teams, the GM's and the web team there was not a single individual driving our consistent support of the Ultima community. So I am happy to announce the hiring of Carly Staehlin-Taylor as our new Minister of Information. Many of you have already met her. Carly come to us from our friends Crack dot Com. There she ran one of the most vibrant community support efforts I've seen. She will doing things like:
Insuring we know the needs, wishes and concerns of the community.
Insuring we respond regularly to the community.
Forging a single Ultima community strategy that will give you all the best support across the whole product line.
Remember, our entire team reads many of the news groups, we do hear your concerns, and we will get better at responding to them.

One of the things I am most proud of is the longevity and growth of the Ultima series. In the last 20 years, computers have changed, tastes have changed (the players and our own). In the end don't forget Ultima, Origin and I have been together nearly 20 years. In that time you have to expect some bumps in the road.

In 20+ years of game development I have never seen a wholly stable team or company. Frankly, I feel I am one of the few constants of the industry. I still work at the same company I have for 15 years. I still create the longest running computer game series in history. The other game series that rival Ultima's longevity have changed development leadership and strategy down through the years. Ultima's are and have been, since the days before they we're called Ultima, been striving to become a completely believable virtual world. Frankly, I don't care how people categorize that RPG, adventure or whatever.

I am very excited about this Ultima; the team is exited about this Ultima. Sure we didn't plan on it dragging on for years, but those are the cards we were dealt this time through. No one is more eager to get it finished than we are, but not at the cost of creating a masterpiece.

Your servant, Richard Garriott / Lord British

July, 1998

Loyal friends and citizens of Britannia,

I come to speak to you today of our next great work in progress, Ultima: Ascension. Just prior to E3 we launched the Ultima: Ascension web site. As part of our community building plans, I hope this to be the beginning of a regular series of posts where I can present our thoughts and plans for UA. Think of this as a State of the Union address, of sorts. I plan to post things that you might find interesting, clear up rampant misinformation and speculation, respond to areas of particular interest and exchange design feedback.

You may notice some information in this document that is similar to the FAQ that we posted recently. That's because I wrote this about 3 weeks ago, and regrettably, we have been slow getting it out. (I think we have solved the time-to-publish issue for the future.)

Let me begin by making a few broad comments about what we intend for Ultima: Ascension to be: a masterpiece. We will craft this game until the game play is fun and compelling throughout. We will craft it until it is easy to play and understand. Ascension will have the depth and meaning you'd expect from the climactic conclusion of the trilogy of trilogies. In many ways UA will be unlike any Ultimas which have come before, so those who are hoping that it will be a rehash of their favorite Ultima of the past will, well, hopefully adjust. Ascension will not be an action game like Tomb Raider, an arcade game like Doom or a strategy game like Heroes of Might and Magic II. It will be an Ultima. It will be an immersive, virtual world that will focus on you travelling to a very real place known as Britannia. Ascension will give you a compelling reason to be there and an epic cause to fight for. It will be an adventure in the sense of having adventurous elements around every corner, and it will be a role-playing game in the sense that you will be expected to play the role of the Avatar.

Perhaps I should mention my definitions for "role-playing" and "adventure games," as I sense that I do not share the same definitions by which many games are pitched. Back when I used to play D&D, a good game master was defined as a great interactive storyteller. No one cared about the "rules"-all that mattered was the "thought." As D&D grew in popularity, all too often the absence of a good storyteller caused people to argue about damage and weapon details rather than immersing themselves in the experience. In my mind, the term "role-playing" is attached to what I consider statistics management games. For example, Diablo is not what I consider a true role-playing game. I would call it an inventory management and stats-based fantasy hack and slash. A great game perhaps, but not the role-playing game I want to build. Heroes of Might and Magic II is another great game I have played for dozens of hours, but not by my definition a role playing game. I would call it a fantasy themed statistics-based strategy game. The same goes for most all of the Japanese style RPG's like Zelda, etc. Only Final Fantasy 7 strives to be role-playing, though it still has a stats-based game at its core. Now you may say I am splitting hairs, but I want you to understand what we are striving for in Ascension. Our goal is to make a role-playing game where you, your mind and your id travels and adventures in the compelling and realistic place we call Britannia.

(BTW - You should know this is not a marketing piece by the fact that I am willing to mention other company's products by name…a marketing no-no.)

In the absence of clear information, people have latched on to the little bits they hear and see and extrapolate their worst fears from there. This is natural in the best of cases, but since it has been so long since we have seen a lineage Ultima, and Pagan's release was, shall we say, a bit rough, people have justification for concern. Hopefully, this dialog will help.

Those of you who have been following Ultima for some time know that my goal has always been to create a living, breathing virtual world in which we can live. I have often commented that I hoped Ultima X would be a "true virtual reality" with all the VR hardware to go along with it. Unfortunately, hardware has not kept pace, but Ultimas have grown closer and closer to being a well simulated, virtual place to live.

Beyond creating a virtual world, I want to create an experience where it is you, not your alter ego or the puppet you control, who goes to Britannia. That's why I have included things like cloth maps, tangible trinkets and manuals that always speak to the reality of Britannia-not of your computer. That's why the game often begins with you on earth finding a portal to Britannia. Character creation often polls you about your personal beliefs in order to create a character that is, in essence, you. A character whose actions you, the real you, are responsible for.

Since Ultima IV, I've taken great efforts to include compelling story in the game, which requires tough personal choices for the player to make. Not that I have a problem with a good bash and kill game, mind you, but I did those for the first 10 years of my career and for the second 10, I have enjoyed these ethical dilemma plays. For the third 10, we will have to see.

Many have expressed concern regarding our decision to make Ultima: Ascension a more broadly accessible game. Again, I can understand player's concerns that we will ruin their favorite playground by "lightening it up," but this is not our intention. However, as Ultimas have become more and more complex, they have also become more and more daunting in which to get started. This has had the net effect of turning people away from the game before they have even had a chance to appreciate it. I now feel this is a critical problem for the Ultima series.

The good news is that I do not think that accessibility comes at the cost of true Ultima depth. Think about C&C and Warcraft. Both of these are great games with plenty of depth. However, they have different controls and units. So it's a good thing that they both start you out with only a unit or two and let you master early principles before overwhelming you with the full technology trees. Consider Ultima Online instead. In UO you are met, day one, with 40+ skills to try to differentiate before you can play at all. So, in the Ultimas we design today, we are keeping the depth, but presenting it one piece at a time rather than overwhelming the player from day one.

Now, let us move onto the broader feature set. The following feature list was one we created for an internal design review some months back. I have removed some secret plot info that was in the list. Please understand that this list represents our current goals and may yet change, but I think it will fill in a few gaps in your understanding of what we are trying to achieve.

Ultima: Ascension will be Immersive


Detailed, high polygon count rich world - 3D hardware favored
All objects Full 3D, no "sunflowering bitmaps"
Truly seamless virtual world, not levels
Variable multiple point and moving light sources
Free moving 6 degree of movement camera in 3rd person perspective, 1st an option
Camera zoom in for animated conversations, out for ship and horse travel
Detailed physics system - falling items, angular momentum, floating, sinking
640x480 16 bit color or 8 bit
Full Dolby 3D surround
Reactive realistic physical environment
wind swings hanging objects which react with sound effects
translucent waves lap up onto the beach
Water wheels turn gear works as do wind mills, etc.
Doors swing open and drawers slide out.
Day &Night
Wind, Rain, Fog and Snow
Player created items from raw goods - bread, cloth, potions
Full Speech for all characters


Ultima: Ascension will be Accessible


First minutes of game play are a narrated tutorial
Ultra simple, expandable interface - begins mouse only, expands with reassignable keys
New RPG game rules, not overwhelmed with stats and skills at the beginning
Combat skills that the player learns during play
High pace of play, real time tactical combat that is not an arcade game
Automatic diary and mapping
Systematic challenges and rewards, careful increase as plot unfolds
Beautiful reward cinematics
Carefully conceived world scope, no pointless giant wanders, big enough to be Britannia
World wide languages supported


Ultima: Ascension will be a True Ultima epic


Richard Garriott, creator if the Ultima Series, is intimately involved in design and creation
Return to Britannia with familiar characters and places
(Censored story elements.)
(Censored story elements.)
(Censored story elements.)


Now let me address some specific areas of concern and their current status:

One of the most commonly asked questions concerns "the party." Players have often described their desire to travel again with the companions of the Avatar. I also share this desire to have strong personalities as your sidekick while you travel throughout Britannia. However, the classical interpretation of a party has not shown to add the value we expected it to. As Britannia has become far more real that ever before, rather than symbolically as before, the experience has fundamentally changed. Britannia is alive in ways we had only dreamed of before. We have succeeded well in creating an immersive, virtual world in which to live. When we stepped back to manage the affairs of the party members, it became a major break in the suspension of disbelief within the game. Adding to this is the difficulty with the party members following you through the complex 3-D geometry. Also, foes needed to be multiplied by the number of party members to make a fair battle. I felt that the gains of making Britannia a real place far outweighed the cost of building a less compelling party inventory management game with lower poly detail.

However, I still wish to keep what I thought was the great aspect of the party, which is, party members added cool color and depth to your experience by commenting along your journeys and participating in their own ways. Our plan is to have the companions still in the game, still with you, but not as robots that shadow your every move. Instead, they have their own wills and their own agendas. They will often travel with you for short stints, or on specific activities. They will meet with you often and do deeds for you and help you do the many tasks that will be required to complete your quests. What we will do is make them even more real, as we are doing with the rest of Britannia.

Jumping and climbing are topics that often stir people as well. Our plan is this. We are creating a full 3D environment with 3D obstacles to navigate. Climbing and jumping is a part of this. However, unlike Ultima 8 where jumping towards a moving object was hard to predict, in Ascension, you jump to the spot that you specify. Thus, it changes from an arcade action to one of planning and analysis. In the end you will have to try it to understand. I think those who saw it at E3 were pleased, and that was still in an early form. You will have to decide for yourself when you see it.

Action! No, we are not creating an action game. When people saw "action adventure," on some of our E3 materials, this choice of wording left many with an unintended impression. We are creating a game with a high pace of play and constant tension element. What I mean by this is best described using Ultima Underworld as an example. One of my favorite features of Underworld was that sense of tension at all times. NPC and monster threats were closely interwoven. It took place in a dungeon after all. Right outside the door of where an NPC might have been located could lurk a monster, so you always had to be on your guard. In many "lineage" Ultimas (what I call Ultimas with a # after them), we have created sedentary towns surrounded by often gigantic, aimless wanders to get to the deep dark dungeon and back. In Ascension we are trying to weave the tension into all aspects of the game as we did in Underworld. Ultimately, we have created a world that has such strife within it, it is reasonable that monsters or at least bad guys might be right around the corner.

Inventory. For E3 we hacked-in function key short cuts to access spells and a few inventory items. Some speculated that this was how the game was designed. However, we plan to have a full inventory system akin to, but hopefully improved from, that which has come before including containers, backpack, new short-cut belt, spell book, etc. Nuff said.

Baking Bread. In the game right now, you can weave cloth, spin yarn and a number of other raw goods to finished product activities. I assure you the world-sim of Ultima is very healthy. What we are doing is focusing our efforts on things that are fun to do and not mere exercises in simulation that are boring or tedious. We are trying to really punch up the interactivity in more exciting and dynamic areas. Fortunately, this method of using raw goods to create finished goods is easy to do and so there will be plenty.

Some have asked how big this Ultima will be, so let me bracket it. Bigger than U8-smaller wandering wilderness spaces than U7. How we are creating the main continent is a bit different this time to insure neither too large nor too small a space. We are first building each city in a separate map. Then we can paste them together at what feels like a good distance. In the past when I built them on the same map to start with-when we had no cut and paste tool-the distances between events often became gigantic! When we moved to 3D, we found that a small distance between events often seemed much farther than we had imagined it would. (By the way that also happen in Ultima 7, and we overcompensated for Ultima 8.) I think this time we have a good stratey on this.

How about areas we are rethinking and plan on improving pre-ship? First and foremost, our character animation system. We feel that it ran okay for E3, but we are doing dramatic (read rewrite) revisions to it to be the best possible quality. We want to make our magic effects, which we feel are one of our strong suits, even stronger. Our 3D special effects, which we also think we do well, still have numerous enhancements to make. As I mentioned, the inventory system has yet to be created. We are re-thinking some of our stats and skills details. We are still tweaking numerous plot elements to be sure they create the right mental problems for the Avatar to face.

Some of you may have heard a rumor that the world comes to an end in Ascension, well…

Now let me say a few things about our team. We have a truly world class team that include many of the best and brightest in our industry. The team includes three programmers who I've worked with for nearly a decade each (Herman, Gary, Chuck), great new additions from places such as Westwood and 3DO (Dave, Jim), including the former lead programmer of C&C (Bill). Great artists whom I've worked with for years (Bev, Jennifer, Scott, Scott, Bob, Michael, Cari), those who have come to us from great teams inside of Origin (Art, Victor) and the art director for many of the Quest games for Sierra (Andy). Add to that my design partner Seth, Jeff our exec producer we stole from Paramount, along with myself, and you have a team very much up to the task of making this the very best Ultima ever.

Finally, let me tell you what I am personally doing on UA. Since we hired Jeff Anderson to replace me as executive producer, I am now free to dig into the design details like I did in the old days. As director, I can assure you that I am very involved in UA. In fact, I built much of the map we showed at E3 and I coded many of the conversations. (I have not coded in 10 years.) I am having a blast, and I believe I am now in a far better position to help make sure this Ultima is a masterpiece!

In any case, I hope this clears up some of the confusion. I expect it will cause some debate. Remember that we are creating this game for you, so your input is valued. Please, for me, keep the flames to a minimum so that I can enjoy this dialog as well and be excited to keep it up, rather than run in fear. ;)

Specific things I'd like to see discussed online, or other forms of feedback, is character creation, character statistics, character skills, inventory management, true role-playing vs. stats/inventory management. I will be scanning the Ultima sites in search of quality discussions of this information. I look forward to continuing this dialog in the near future.

Additionally, I have a new email address that was created for you to give me feedback directly. I may not be able to respond to everyone with a personal response, but I will pull interesting emails and respond to them in future posts. I will also try to set up a system by which you will at least know I am indeed receiving and reading your comments. That new address is: lordbritish@origin.ea.com.

Thanks for your time.

See ya soon in UO,

Your Servant,
Lord British a.k.a. Richard Garriott

Tuesday, November 08, 2005

RL Update

A little update to my real life - I got my doctorate today! Woohooo!!! Came in the mail this morning - no it was not a mail-order degree ;-) the ceremony was while I was overseas, and since I been thru several of those things already, I had no need to do it again. Joy slightly ruined when I looked at the other theses of Doctoral Degrees that were awarded - 22 of the buggers, and while many were for degrees as irrelevant as mine (can't complain about that) its the 3 for "Gender Studies" that bugs me. All women of course - studies into the male gender should only be done by women telling us what is wrong with men, of course - but listen to the garbage that gets a doctorate:

"Penetrating Sex - from Performance to Pleasure".

WTF IS THAT!?! A study in lesbian dildos? An examination of how women can still take pleasure while being brutalised by the patriarchy? A how-to for hookers?

I don't know, I don't WANT to know. But this is the Arts Faculty of the premier institution of the Southern Hemisphere, and this is where there funding is going (and needless to say, under a conservative goverment, that funding is shrinking). More PhD's for the nonsense 'discipline' Gender Studies (which lacks the critical peer review - not to mention the COMMON SENSE - to be a serious field) than there was for Sociology, or Philosophy, or Government: and the two degrees for Hebrew etc studies (one being mine of course) seem to be the only showing at all for the languages. What a disgrace.

Well, they ain't ruining my day: I'm off to buy a frame to fill the gap on my wall where my PhD goes. No partying though, had several of those already (I've finished party, I've submited party, I've been approved party, I've resubmitted party, I've passed party etc). Just a feeling of - satisfaction? achievement?

RELIEF!

;-)

While I am gone, HERE is a link to a story about my missing hat which was a big deal at the time. I lost my hat while on holiday, and GOD ALMIGHTY intervened to get it back for me. Well, it seemed that way. Seriously, you had to be there, but it was fabulous when I got it back. The hat was a Coke hat released as a souvenir for the 2003 Rugby World Cup (ie a one-off run of the buggers, very hard to replace) given to me by my bro. Yvy already blogged about it, so go read!

Sunday, November 06, 2005

The Return of Ted

Well, I made it back alive - got thru customs unmolested too (suckers!!!) Had about 4 litres of Malaysian beer over and above my duty-free allowance (cheap Irish whiskey in this case).

Much much MUCH modding to be done, got a big long list of things to do. Looking forward to it, damn I am feeling positive about this bastard of a monster of a mod. Managed to get some modding done on a broken computer at Yvy's house: couldn't load the desktop, Windows key didn't work (XP kept bringing up a "memory could not be 'written'" error when loading one of the incarnations of svchost.exe), couldn't even get safe mode going, BUT could bring up the task manager and use it to run notepad, mod and save to a floppy. Got the Provisioner's dialogue done! :-D Yvy was not amused ;-)

Might go into detail about my trip, probably just have a rant really - but got so much modding to do, and this trip was more about spending time with Yvy than holidaying (though we did some funky stuff like visiting Singapore and hiking through the Borneo jungle, as well as the inevitable trips to zoos, aquariums and Orang Utan reserves - Yvy loves her animals).

Anyways, work in the morning, then back into it :-)

Wednesday, November 02, 2005

Re-release of starter pack

Well the starter pack came out in a rougher form than I intended in many ways, but then it also had a lot more maps in it than I first envisioned too. The thing was, it worked - in as much as you could start it up, stick a party in there, go to where the Guildmaster or Blacksmith or Bartender or whoever was meant to be, get the cordinates, find him in the protos, mob him in and write him a dialogue (or her). That was the idea, and it workewd for that, and thus we should soon have a few in action (Allyx has certanily got back to me about one).

BUT it was far from impressive (other than for Screeg's artwork) and I have decided to re-release it, since the Co8 4.0.0 release is now out in some form or other and includes some new spells and stuff that should be in KotB but are not in the files I have been using as the basis for KotB. It will mean a quick cut-n-paste update of description.mes, a slightly more complicated update of protos.tab, and some new files, but I may as well do it now as have to worry about it later.

So... I will be back on Sunday (6th?) and then have a few days off work not long after that recovering from a minor surgical on my shoulder - enough to stop me lifting kiddies for a few days but hopefully not enough to stop me modding (no reason to think it will be). Soooooo the current date for re-release is Sat 12th November. The re-release of the starter pack will include:

> Co8 4.0 compatability
> All maps fixed and working, some new ones, and the minimaps
> NPC followers such as Two Swords, Brother Fist and Robin Graves implemented
> The notice board in the Provisioner's shop going
> Updated protos.tab with all dlg numbers assigned and other improvements
> Some more reps
> Some quests
> Updated 'guide' thing incorporating many of Edwin's plot ideas (can't give them all away ;-))

I have been reading a lot of motivational and time management stuff while travelling (there are hordes of that sort of stuff all over Asia it seems and in some places much cheaper than they would cost back home) and I have already started using my time more effectively, modding on the road. So I am confident things will advance at a faster rate now.

For anyone working away on something to do with the mod, just keep at it, no need to stop and wait for the re-release. Stuff that goes in the protos.tab can be emailed to me, for instacne if you have made such-and-such a change to a particular character just mail me the protos.tab and tell me the line number and I will incorporate it. Obviously you don't have to worry about it til I get back though.

In the meantime, I am back in Penang, my Borneo adventures concluded. Want to do a nice long blog on it but my new fiancee seems to think I should be focusing on her, not my modding or this blog. Like she can talk ;-) When I do tell of our adventures though, I will have some nice pix hot off her digital cam to include (I got 6 rolls of film to develop but no working scanner atm). Engagement party tomorrow night, woohoooo!!!