View Single Post
  #5  
Old 12-07-2003, 04:02 PM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default

Heh. heh. Way ahead of you. Here's a taste of what's to come (everything you see below is already done):

1. PLACEABLE OBJECTS. You'll be able to export anything you create as a static mesh, and OpenZone will maintain mesh library in a /meshes subfolder. There will be a button that pops up a list and 3D view that lets you select a mesh from the library, and you'll be able to place as many as you like with a single keystroke.

2. TREES!!! You can use the above method to place trees, but there's now a better way. The overhead texture painter will have a tab for placing meshes with single mouse clicks, and it has extra controls for making trees look nice (checkboxes that let it slightly vary the object's size and angle--trees don't all grow perfectly vertical, you know).

3. MESH GRAVITY. All placed meshes with this feature have a "gravity" setting. This means that, when gravity is TRUE, meshes will automatically affix to the ground height (and sink such that there is no gap between them and the ground). They'll also move when the ground elevation is changed. Change your ground elevation, and all the trees you placed will adjust themselves automatically.

4. LIGHT SOURCES. You'll be able to place light sources anywhere, and you can set the light color and radius for each one. One caveat, though: the EQ client does NOT do dynamic lighting; it's all static, which means that OpenZone has to precalculate which polygons are lit and which ones aren't at export time. It does this with some primitive raytracing to try to determine which polygons are lit and which are in shadow. It's not perfect, since it's limited to what the client can do, but the effect is pretty terrific nonetheless. One warning, though: the more light sources you add, the longer (much longer) it will take to export the zone to .S3D due to the necessary calculations.

5. GROUND WALK MODE. In fly mode, there will be a checkbox that, when checked, fixes you to the ground elevation when you move around.

6. PVP AREA SUPPORT. You'll be able to create PvP areas just like water and lava areas; the only difference is that PvP areas don't use textures like the other types do.

7. LIGHT SOURCES INCLUDED WITH MESHES. Meshes in the mesh library can optionally have a light source come along for the ride. For instance, placing the torch mesh will also place a yellow light source. As I write this, light sources have to be created manually in the mesh file, but I plan on making this possible from within the program.

8. MASKED TEXTURES. Think trees: some areas are transparent and some aren't. I do this with 32-bit .BMP files that store transparency in the alpha channel, and I've added a menu item to OpenZone that will convert a .BMP file that has transparency represented as a single color to one of this type. Also, I found that the client will only do masked textures properly if the textures are all in .DDS (not .BMP) format. I found an open-source library that does this conversion nicely, and from now on OpenZone will automatically convert your textures to .DDS format when it builds .S3D files.

9. CONTENT. So far I've created meshes for torches, lanterns, hanging lanterns with a side mount, tents, tiki torches, miscellaneous furniture, and one tree type (I'll try at least one more before I release it). Since you can export anything you create as a mesh, the sky's the limit.

10. TONS OF NEW TEXTURES. Mountainous areas, transition textures between them and grass, lava (which looks infinitely better than the EQLive lava), and many other textures. I've also created some crappy-looking fire textures, but I found that the client automatically uses its built-in fire textures for any "placed" mesh objects (that is, objects that go into the <zone>_obj.s3d file). The fire textures I have are therefore just placeholders.

11. ENHANCED SCRIPTS. I've enhanced several scripts to give greater control over how the textures are mapped. This is mostly for creating placeable meshes that look good.


I want to try to create a dungeon zone before I release this so I can tackle whatever problems might arise. I'm anticipating creating some dungeon-specific scripts (corridors, turns, intersections, rooms, etc.) to make it easier.

WC

P.S. This is as you might imagine a ton of work. I'd really really really appreciate it if someone could take care of porting ZoneProxy support over to EQEmu 0.5.1 in the meantime...I certainly don't think I can keep up with doing the port every time a new version of EQEmu comes out, and it's necessary to make OpenZone useful.
Reply With Quote