PDA

View Full Version : Content creation


Windcatcher
01-22-2002, 07:48 AM
Okay here is a general-purpose thread where we can discuss different aspects of content creation. If we get a lively discussion going, maybe those of us interested in a specific aspect can start another thread and we can really narrow things down.

Merely as a first whack, I can see some things definitely worth talking about:

- database creation

- zone creation

- texture creation

- character and model creation

I'm sure there are more, but I'm pressed for time at the moment so this is what's on the top of my head :)

1. Database creation

This spans a lot of things: items, npc types, quests, and loot tables, for instance. Our efforts can be immediately partitioned along these lines, but there are some inherent links, such as loot tables to items, and npc types to what they drop, and quests to items and the npcs that grant them. So it means that there needs to be a standard way that content teams can coordinate their efforts, and I really think it would be a good idea to first hash out a way to try and make content modular to make installation easy and so teams don't end up breaking each other's work.

Another huge issue is wkat KIND of content to create, that is, do we stick with SOE's content, or create original content from scratch? IMHO using the same tired-old stuff from the live servers is boring as heck and is a real no-no from an IP standpoint; expect VI/SOE to freak out. I think the real potential of the emu is to allow people to be creative in what they present, and thus players will have the thrill of discovery all over again. After all isn't that one of the resons why some of us quit EQ?

If some of choose the legacy route and some want to create new content, we should try to work out a way to coordinate them so "content packages" can be installed or uninstalled without breaking everything.

2. Zone creation: now this, IMHO, would be really terrific. It seems to me that the first thing we need is a complete specification for the WLD geometry files. Tonight I'll release my upgraded version of ZoneConverter, which renders what it can understand on the screen and enables the dump-to-text feature that the original ZoneConverter contains but leaves disabled (it also fixes some bugs in the code). A collective effort would be necessary for this, but it definitely is doable. I've delved through the dumps and there isn't all that much left to figure out.

The next step would be to design a tool that can allow you to create a 3D scene (or import one), attach EQ specific attributes, and export to a WLD file. I'm positive that this is possible, given a spec for the WLD files. It's something some people can work on and would really open the floodgates as to what we can do with the emu. As for ground textures, paint tools and free content abound; it should be no effort at all to develop a freely-distributable library of ground textures that people can use, categorized if possible.

3. I don't know too much about other textures in the game (such as character or item textures), but I suspect that building other textures or 3D models could be an offshoot of the zone creation effort. We do know that all textures are BMP files, so creating free texture content would be a snap. If work begins on a zone creation tool, I think it would be a good idea to keep other 3D models in mind and perhaps design the tool to allow manipulation, saving, and usage of other models as well (for example, tree models).

That's all I have for now. I have other half-developed thoughts still churning around in my mind, but nothing really mature yet, so I'd really like to hear what the rest of you who join this thread have to say....

Windcatcher

Zeitgeist
01-22-2002, 08:08 AM
I think that this is a very exciting set of ideas and potentially could explode the popularity of eqemu. As you mentioned there are some important things to keep in mind.

1. Recreating EQLive could get people in trouble, but if people want to do it then the best way to go about it is to keep it completely separate from the emu.

2. We need some standards so as not to:
a. duplicate work
b. break other work by importing data

3. Big step will be getting some sort of editor working or getting a program working that imports a known freeware modeler type. From my time building quake levels and models I know a little bit about this and there are tools out there, but I am sadly very much lacking in the programming side of the house.

4. We need dedicated people who can work together to pull this off. A huge first step is WC's Admin Tool of course, another will be his release of the modified zone viewer.

Who is interested in this? I know there is a thread on worldbuilding in the Dev area... Mayhap we should mention this over there =) Heck we probably should've started this thread over there eheheh!

Z-.

Trumpcard
01-22-2002, 08:16 AM
I suggested in the other thread making a seperate CVS project for this so you could use CVS's task assignment features to keep the right people working in the right directions. This would be a great way to assign work out, perhaps assigning duties and zones, and the end users could use the bug submitting tools to track errors.

Just a thought.

Zeitgeist
01-22-2002, 08:28 AM
that sounds like a good nudge in the right direction =) Who wants to work on this? eheh...

madborg
01-22-2002, 09:11 AM
murky waters. careful.


Here is a safe road map to keep you out of IP poopoo:

1. create content rather than modify existing content

2. If you modify content, pick the most generic-- avoid things that can easily be consider exclusive to the property owner.

3. follow any "cease and desist" court order. It's a court order and you must do the right court-related things. But it also allows you to stop without any other consequences. A lawyer's "cease and desist" letter is not binding. Just give the letter to your lawyer to send a letter back which states roughly "go ahead and get a court order cause this piece of paper means nothing to us, hahahahaha (see you at the club next tuesday?)"

4. Never touch any registered content. This means the content owner is serious and they will wack you hard for it. Registered content means that there is a document filed at the appropriate IP office. That information is available to the public.

5. If you can avoid it, never distribute someone's content; only distribute your enhancements, morphs, or patches.

TheClaus
01-22-2002, 09:27 AM
I am willing to help out. I would like to create my own world anyway but fot testing purposes having the items and such there is nice. The only probably I am seeing is spells. Is that a problem though?

Windcatcher
01-22-2002, 10:34 AM
Well I would strongly, STRONGLY (hmmm do I need another "strongly"? ) recommend creating all content from scratch, and I think any content-creation tools that wind up being developed should be built to make that process as easy as possible. I'm more (if not totally) engineer than artist, so I don't plan on creating any content, but maybe tools to make that possible (unless I take my professor's offer and join the PhD program, which would suck all my free time down a black hole--and yes I do work full-time too).

Textures: should be a snap. I see no reason why anyone should use textures already in the game. One thing to point out is that we need to figure out how texture coordinates work in the WLD files and how they are attached to 3D meshes (in fact this is almost the only thing that needs figuring out).

World geometry: here's my idea. Create a 3D tool that, in addition to importing from, for example, a standard AutoCAD DXF file, takes SCRIPTS for 3D objects. That way we could build a freely-distributable library of CONFIGURABLE objects that anyone can use (for example, a staircase script that automatically calculates the number of steps it needs). Scripts that take parameters, allow variables, can call other scripts, etc. In short order a library could be built that would allow really complex zones, at least above-ground.

Items, loot, and npc types: think of your books, tabletop RPGs, comics, you name it. There are countless possibilities to draw from. Of course you can't use copyrighted names or info, but that really isn't my point anyway; just use your imagination. a Freely-distributable library of creature textures and models would really help with regard to npc types, but I don't think it's strictly necessary (you just can't distribute anything that's the IP of SOE). However, I think our goal should be completely "virgin" content that no one owns. If you've played games like D&D, coming up with ideas for content should be a snap, especially if you've ever DMed your own adventure. For myself, frankly, I'm sick to death of SOE content; if I ever run a server for my friends hopefully there will be none of it.

Quests: put the EQ box down and step away from the computer :) Now go and get your storyeller hat and firmly put it on. Remind yourself: this is NOT Norrath. It's not Nehwon, nor is it Ansalon, Oerth, or Midkemia, but they are all fertile ground for your imagination. Create your NPC personas, their histories, and their objectives. Create YOUR WORLD. No, I don't expect everyone to create an entire world from scratch. That's why I propose modular content.

Okay, that's enough for now. Time to make some ZIP files and upload them...

Next?

Windcatcher

Gino
01-22-2002, 10:55 AM
Hmm i got to admit, that this idea has something.

Dunno if i should love or hate it atm.

Sure it would solve certain problems, but then game balance is very hard to get done right. Taste of the Individuals would play into as well, and im usure if you could get that all under 1 hat.

Guess i should sleep about it first.

Night

Gino

madborg
01-22-2002, 11:12 AM
take a peek at chequip.s3d, if you haven't done so already.
That file contains the models of all the gods, players, elements, and some more things. The animation files are there too for the models. Of course there is also the UV definitions and the material definitions.

So here is what is known so far:
textures -- bitmap format, so its a replacement or add. Has anyone tried to do either?

zone file- wld format but converters exist for obj and scr; no converters for going back to wld though.

character models- text files with their own definition. Requires some carefully study but the information is in text not binary.
Probably not too hard to pick up the vertices and do a line rendering. Might be better to convert to obj and let another tool help out with the texturing.

mob and npc models -- probably in _chr.s3d files, but no clue what the format is. Each zone has three s3d files:
zone.3ds
zone_obj.3ds
zone_chr.3ds

Windcatcher
01-22-2002, 11:41 AM
I just posted my Delphi Zone Converter to SourceForge. IT ISN'T PERFECT. But it runs on the PCs I tested it on. Please read the readme file.

With this, I suspect that a full spec for WLD files won't be far off at all...

Windcatcher

Zeitgeist
01-22-2002, 11:47 AM
sweet gonna go take a look. i'll admit that i am a poor programmer, a decent artist and a fairly good storyteller/character creator =) lookin forward to playing in out new sandbox.

madborg
01-22-2002, 01:52 PM
ok dled your program. Definitely nice to have a viewer built in before the export.

I loaded up my greatdivide wld file and I think I get the hang of how things work. What I wonder about are those little red dots that run along the great divide stream when I select show zone points. I also see a series almost in a line near the neck going to eastern waste. Then it dawned on me what all those little markers were for -- river markers.

I picked GD because is a fairly new zone. It also blows away my previous posts about old zones vs new zones.

I have to look at a few other wld files now.

Windcatcher
01-22-2002, 02:14 PM
Turn the GD zone upside down. you should see solid red polygons along the riverbed

NOTE: what the tool is NOT showing are bounding polygons. These are polygons that define where you cannot go, and generally surround the navigable area of the zone on all six sides. I choose not to display them because then you would not be able to see anything. But they DO exist, and their color/texture attribute is 00000000h. They also serve to limit certain areas. They are the reason why you can't climb over the really high areas in Butcherblock, for example; you collide with those "invisible" polygons. If, for instance, you export as a DXF and import the DXF into any other 3D tool, you can then see the bounding polygons.

Windcatcher

Vipermmx
01-23-2002, 07:00 AM
Windcatcher you plan on doing a spell editor as well? I know there is a hex image flating around somewhere showing what each line in a hex editor is for editing spells alls we need is a GUI to control the editing. That way we can create new spells and change them around.

Windcatcher
01-23-2002, 08:19 AM
Not planning on it at the moment...I have a lot on my plate as it is...

WC

madborg
01-23-2002, 10:13 AM
Windcatcher you plan on doing a spell editor as well? I know there is a hex image flating around somewhere showing what each line in a hex editor is for editing spells

Did anyone grab that image? I was going to and then forgot.
I liked the image because it was color coded and fairly easy to pick out the meaning of various regions.

madgamer2000
01-23-2002, 02:31 PM
Relevant or not? Hehehe, i honestly dont know, but i do remember seeing this (http://dsvault.ign.com/archive/arc8-2001.shtml) (the top article) when it was first posted and it caught my eye. Heres the developers site (http://www.discreet.com/products/gmax/gmaxconsumer/index.html) . Never used it or seen it running, so couldnt tell you much about it, but it is free (aka something anyone who wanted to try world building could get at) and doesnt look bad. Sure lightwave, smax, or maya would own it, but those cost a couple grand each. Give it a look.

edit: Read the FAQ. Not sure how well it would work without the games specific support. The files are less than 25 megs for the prog and some textures though, so someone with a cable/dsl connection or whatnot could maby dl it and see. Just a thought

Windcatcher
01-23-2002, 02:31 PM
Of course :)

Windcatcher
01-23-2002, 02:32 PM
Of course :)

dang it. its too big to post.

Vipermmx
01-23-2002, 03:41 PM
3dmax is cheap if you know where to go =) Why the hell would any normal person pay 2000 for an editor they use for personel and no profit use. heh.

I sure in the hell hope someone does work on a spell editor. Its needed bad and I cant find the image. doh.

madborg
01-23-2002, 04:41 PM
I am dling gmax as we speak. The biggest drawback that I saw at the time I looked at gmax was the fact that you cannot
"render with, or write plug-ins for the free version".
If you look at the chequip.s3d files, you will see that a lot of that was created with plug-ins to 3DS Max. But for a free product, gmax is a great deal.

The other one to look at is Blender, also free. They have their own format but I think there are plug-ins for other formats.

And finally, Milkshape. It is not free but really cheap. It converts between the various common game formats and also renders. A very handy tool to have. I keep expiring my 20-day trial period so I don't have a working Milkshape.

foley
01-24-2002, 09:18 AM
this what you're looking for madborg?
http://www.strike9.com/eq/image.aspx?path=/foley/fullsize/SPELLS.jpg

madborg
01-24-2002, 09:43 AM
this what you're looking for madborg?
http://www.strike9.com/eq/image.aspx?path=/foley/fullsize/SPELLS.jpg

yes, thanks. It is now in my super secret library.

as for gmax, I get the joke now. Sure the stuff is free if you can actually download it. I have been at this since last night with two computers on two lines trying to get the stuff. The dl rate goes down to a whooping 80 byes/second for files that are 14 MB or more. Then everything times out.

I am dling from the Autodesk ftp site so that could be the problem.

madborg
01-24-2002, 10:03 AM
edit: Read the FAQ. Not sure how well it would work without the games specific support. The files are less than 25 megs for the prog and some textures though, so someone with a cable/dsl connection or whatnot could maby dl it and see. Just a thought

The game support is because Discreet is trying to get all the game makers to use their software instead of writing their own editors, viewers, or plug-ins. I am fairly certain that Q3 pak only works with gmax and is not compatible with Worldcraft.

The only reason that I could see that someone would want gmax/dev is that they need more SDK support and ability to write plug-ins, or want to use the game pak distribution method.

The biggest drawback is that if you can't write your own plug-ins then you are stuck with doing OBJ exports, which is okay but not as complete as a full MAX to whatever conversion. The MAX format is proprietary so the closest you can get is 3DS format -- not the same as MAX.

But if the MAX format in gmax is the same as in 3DS Max (as it will e I am sure), then it is not that big of a problem once someone writes a plugin for the big brother software -- but it has to be a legal MAX, not one of the bargain basement Maxs because you can't write plugins for them.

madgamer2000
01-24-2002, 10:11 AM
Thanks for the info man. I was somewhat unclear on all of that, as far as what you could and couldn't do without the programs specific support. here (http://www.strike9.com/eq/profile.aspx?name=biz) are two more pics that talk about spell editing, but they arnt of much use without the word doc that went along with em that told specifically what each number corresponded to. strike9 wont let me upload a text file though, and i dont feel like makin a geoshities site (or have time) atm just to post the text file.

Trumpcard
01-24-2002, 12:54 PM
I think this program allows you to view the spell information out of spells.eff and spelldat.eff .The source code is included at the website, Im sure it could be modified to tinker with the spell files..

I had completely forgotton about this thing till someone mentioned it too me today, I thought it fit along in the vein of where this conversation had gone..

Check out eqcaster at
www.eqcaster.com

madborg
01-24-2002, 06:44 PM
finally downloaded gmax. it is a nice, quick program. Unfortunately I also saw some things that don't seem right.

-file format is gmax instead of max. Unless I find a gmax->max
and max->gmax convertor this is going to be a problem

-import limited and doesn't include OBJ
-export does not include OBJ, may not even include max

apparently if you want seamless integration to 3ds max 4, you need the dev version.

I also see that plugins are support some dlu format. I suspect that the plugins are done through the development system.
Maybe a search for gmax sites will shed more light on the system. The help is really light on the whole import/export thing.
Beside my import/export options never became active.

madgamer2000
01-25-2002, 10:33 AM
I downloaded gmax, the textures, and the help files, but as you said, i havnt yet been able to figure out how to import/export any file type other than the .gmax. Im downloading the tutorial atm and am hoping that it might shed some light (but i doubt it ;) ) on it. To Windcatcher though, the zone converter its self works great. I opened a bunch of the exported files with another program i have and played around a bit with some of them and it, and it was very neat.

nuncio
01-26-2002, 02:39 AM
i would be happy to help with whatever i can.
im afraid i can only help with texture creation though. im a professional graphic artist, set designer and traditional animator. my email is in my profile, feel free to contact me.

madborg
01-26-2002, 03:06 PM
I spent a little more time with gmax and here is what I came up with so far:

-it's a lot like 3DS Max 3 (don't know about 4), so its a good tool for those that want to get some experience using 3DS Max experience.

-found some import filters for 3ds, obj, and md2 (quake 2). Uses Maxscript to do the importing which means that you can actually read the script. It's only a matter of time before someone does the corresponding export filters -- assuming that the functionality is there through scripting.

-chances are good that max import/export is not supported.

** added **
Nevermind about my max statement. Just found the Maxscript tutorial on 3ds max file loading and saving. This is great if I can get it to work cause I have some nice max models that would be fun to work on with gmax.

**added some more**
The documentation for Maxscript doesn't match what happens -- I guess its the same doc for Max and gMax. Anyway, the commands for loadMax and saveMax results in gmax files, not max.

A possible workaround, build a Maxscript to export to a text file that is the ascii form of the various formats that is needed for EQ. The asciiwld would need a convertor to wld, but the files for chequip.s3d would not need a convertor.

It's a start.

Unforunately Lightwave actually make the best tool because their format is well documented and the file is in ascii already. The cheapest Lightwave is around $800 for 6.5.

Whatever format you use, you have to have one that is complete:
-geometry
-texture and uv mapping perserved
-bone and animation perserved

I tried an OBJ import into gmax a and the file did not show. So I don't know how well the OBJ importer works.

I am going to get some md2 files and see if how well the animation and texture is perserved into gmax.

madborg
01-26-2002, 09:54 PM
user error -- not at my best at 2 a.m.

Zamrod
01-26-2002, 11:06 PM
Here's a couple of questions though. What are the things that can't be changed? Aren't there certain things that are hard coded into the client so it would be very difficult if not impossible to actually change them?

Zone files can definitely be modified, given the right tool, and even new zones added. The spell data file sounds like it can be changed, adding spells, removing spells, modifying what each spell does. Textures on the zones, and well as character meshes and textures sound like they can be modified.

However, I've heard that the character creation screen is client side, so the names, and number of classes in the game may not be able to be changed, as well as the number or names of stats. Is this correct? The mechanics behind the stats obviously CAN be changed, because the server deals with all of that. But what if you wanted to remove Necromancers entirely? Or make it so one server only have, say 6 stats?

I could be wrong about what is hard coded into the client (or about how easy it is to change even if it is hard coded). Does someone know better than me?

Zamrod Amsod

Megahertz
01-27-2002, 04:07 AM
Windcatcher,

Have you been able to locate where the texture names are stored? or in what form they are in? Might be just a texture id. If possible could you also export the name of the texture or the id with each polygon in the .obj format or make a .ob2 format or something.

Windcatcher
01-27-2002, 10:39 AM
If you run the DZoneConverter and click Export, the textures are all listed in the file, but for some reason everything is always mapped to only one texture. I don't understand why...

WC

Megahertz
01-27-2002, 03:38 PM
Ahh, i see that now. Thanks.

Also i noticed the coordinates listed below the texture name, however they dont match up to any of the vertices that get exported in the .obj format. I even tried switching around and negating values to switch between different coordinate systems. No dice. I might have missed something tho.

As for the the actual texture names, yeah that sux. I was hoping that i could parse the file and get the texture names out of it but it looks like ill have to wait a bit until somebody figures it out. I'd offer to help, but I dont have any experience with Delphi. =(

-=[ Megahertz ]=-

Windcatcher
01-28-2002, 02:41 AM
Here's what I know (maybe someone can host a FAQ or spec or something--it won't be me though):


Data21
------

The Data21 structure is the main binary tree of the zone. For any given zone, there is only one Data21 structure. I don't know why they use a binary tree, maybe it makes searching easier, but I don't understand how you use a binary efficiently in a three-dimensional space. Anyhow, Data21 contains a number of elements.

Each element is a node in the tree, and either has child nodes or is a leaf node. If it has child nodes, then Index1[0] points to the left node (if any) and Index1[1] points to the right node. They contain zero if there is no such node. If it is a leaf node, then Params2[0] will contain the index of the Data22 structure that this leaf refers to.

Okay, I did some more playing with this. It seems that the tree is used for searching. Basically every node is either a "stem" node or a "leaf" node. Stem nodes contain a vector in the Params1[] array, where the first three elements describe a unit vector (a vector whose length is 1) and the fourth element describes the length of the vector. The idea is thus: the very first node is at the position of a Data22 region (it is a good idea to start at the region closest to the xyz center of the zone). The vector in Params1[] points to another region (probably the closest one). EVERYTHING on that side (the point) of the vector lies on the right half of the tree (that is, originates with Index1[1]), while EVERYTHING on the tail end of the vector (the originating point) is on the same side as the initial region. Thus, each node subdivides zone space into two pieces. Each subnode further subdivides the remaining space into two pieces, and so on, until each subdivision contains only one region. At that point, leaf nodes are written, where all elements of Params1[] and Index1[] contain zero and Params2[] points to the region.

It should be noted that this tree points to ALL Data22 regions, not just the ones that map to Data36 polygons. For instance, trees, braziers, and other "canned" objects are referenced by Data22 regions, but those regions do not point to any Data36 structures.

Data22
------

Data22 structures represent leaf nodes in the Data21 tree. Each Data22 structure represents a "region" in the zone. A region contains EVERYTHING in a cubical area that is 128 world coordinates on a side. So, for example, a zone with an east-west size of 1280 would be ten regions across in the east-west direction. Note that this also applies to height; mountainous zones therefore would have layers of regions stacked on top of one another. It is not necessary that a zone have a "complete" rectangular array of regions; therefore, an irregularly shaped zone need not have any Data22 structures for places where there are no polygons. Perhaps this is the purpose of the Data21 binary-tree format: to save space and memory.

The Params3[] numbers look very interesting but I don't know what they do.

It seems that not all Data22 structures refer to a Data36 structure in the Fragment3 field. Presumably this means that there can be Data22 structures that don't refer to a polygon. Perhaps they refer to lighting? Global objects? It is as yet unknown.

Data36
------

Each Data22 structure may point to one any only one Data36 structure. A Data36 structure contains all of the polygon information for that particular region. The Data1[] array contains a list of polygon vertices. Data1[] is NOT an orderd array; it is simply a list. The Data5[] array is the actual list of polygons (triangles ONLY!!!), where the last three elements are indexes to elements in the Data1[] array. There is also a scaling factor represented by the Size10 value. It represents a power of 2 and is used to create very small polygons. For example, if Size10 contains 4, then each (X,Y,Z) value is divided by 16 = (1 Shl 4) before being rendered. Finally, the Params1[] array in each Data36 structure is an offset point. Therefore, after scaling each vertex, the X,Y,Z value is added to the corresponding Params1 element to form the final vertex.

Presumably the Data36 structure should contain texture information, but this is as yet undiscovered. I strongly suspect that the Data4[] array refers to textures somehow but I have been unable to decipher it.

Data2[] appears to contain two signed 16-bit values for each vertex in the master vertex list. I don't know what they represent. Could these be texture coordinates? From what I've seen, most BMP textures are either 128x128 or 64x64 in size, so maybe these are fixed-point coordinates? My guess is that texture coordinates have to be accurate to a fraction of an actual texture pixel to prevent artifacts.

Data3[] seems to contain three signed 8-bit values for each vertex in the master vertex list. My hunch is that they represent normal vectors for Phong (or is it Goraud?) shading, but I haven't tested it. If I remember correctly, Goraud shading uses normals to each polygon whereas Phong uses normals to each vertex, but it's been years since I delved into that stuff.The current thinking is that Fragment1 points to a texture list (a Data31 structure), and that Fragment4 points to a texture, but I'm not convinced of that as of yet. This definitely needs more inspection.

The function of Params3 is as yet unknown.

Important note: Polygons NEVER cross region boundaries. If a polygon spans two or more regions, it appears that it is ALWAYS subdivided into multiple polygons such that each polygon ends at a region boundary.


Data03
------

This appears to be a direct reference to a BMP texture file. It seems to be the lowest-level of texture referencing.


Data04
------

This seems to point to one or more Data03 structures. Perhaps it involves some sort of texture mixing or alternation?


Data05
------

This seems to point to one and only one Data04 structure.


Data30
------

Edit: These do in fact point to Data05 structures. The reference to the Data05 structure shows up as "FRG(-1)" for instance because the Data05 structures generally don't have a printable name. The -1 means that the index of the Data05 structure is -1 plus the index of the current Data30 structure (i.e. the Data30 structure is pointing to the structure immediately preceding it).

Params2 looks a lot like an RGBA color but it could also be a coordinate or vector.


Data31
------

This seems to be a master texture list, and points to all of the Data30 structures in the zone.


Data29
------

In every file I've seen so far, this is the last structure in the file. There can actually be more than one Data29 structure, but the reason is unknown. It appears to point to one or more Data22 structures, where each element in the Data1[] array is an index of a Data22 structre. It appears to detail special areas, like PvP regions, water, and zone points.


Data2A
------

Seems to have something to do with lighting. I haven't investigated this, but it seems similar to Data29 in that it looks like it contains a number of indices to (presumably) Data22 or Data36 structures (I'd guess Data22).

WC

Stud
01-28-2002, 05:50 AM
Just in case its of any use to any one, here is a fairly light weight graphics converter that will allow you to open the DDS texture files without a plug-in and with out Adobe Photoshop. You can save as BMP's to import and export.

http://dl.fileplanet.com/dl/dl.asp?sportplanet/cmr2/skins/gph_conv.zip

madborg
01-29-2002, 08:54 AM
Discreet doesn't want people to export from gmax to some other format. That is the position as stated by their product manager. They what the gmax tool to create objects for the gamepaks that game companies may develop. The dev kit is very pricey and not for mere mortals.

So you can import from a few formats and save as gmax format.

That's it.

madgamer2000
01-30-2002, 01:53 PM
Sounds like gmax prolly isnt the solution then. Have you tried downloading any of the other free 3d editor tools that are out there? Anyone got any suggestions on what else you could possibly use that would be a 3d editor available to anyone who wanted to try making their own content?

Mr Bitterness
01-31-2002, 02:09 AM
I am an accoplished Cstrike mapper, and if you can convert the .wld to .maps or .rmfs then i can work wonders, and im not kidding =) i also can model and skin decently. I have 3dMAX 4 and Milkshape to work with, so if you guys need any help, feel free to ask.

Zeitgeist
01-31-2002, 02:34 AM
/me looks around for WC heheh...

madborg
01-31-2002, 06:38 AM
Sounds like gmax prolly isnt the solution then. Have you tried downloading any of the other free 3d editor tools that are out there?

I also have Blender, but it really confuses me with all those buttons. I haven't even been successful in finding how to get out of a demo without killing the program. This is one that needs some study with the manual. I would have to check the Blender page again but I believe they publish their API set which means a person could write an exporter. I also believe that people have written some of the more popular exporters such as 3DS, OBJ, LWO, MD2/MD3. Blender is free.

Hash's Animator is almost free -- low price. Their claim to fame is that's it's fairly easy to create objects. People have written plugins for all sorts of system. Animation is very good.

Milkshape, almost free. I think its about $25. Doesn't have all the bells and whistles that the other tools have. Lots of conversion plugins. A low count poly modeler, can display animation but animation tools are fairly weak. Has SDK for writing plugins.

Truespace. There is a free version available -- or at least was a couple of years ago. Don't know much about their SDK or animation.

Lightwave 6.5 is on a special price of $800 but it is only going to last a few more days. It's a very good price if you were going to buy Lightwave anyway. Well documented file format.

One of the other products, Maya I believe, is going to be free as a personal edition in February. Going to have the same problem as Gmax.

that's it for off the top of my head. Used to be some low poly modelers for Quake, but I don't know if they are still around.

madgamer2000
01-31-2002, 02:15 PM
Maya is a realy nice high end modeler. Any idea how/where i could get my hands on that free promotional version? hehe :) When you say it will be like gmax i would assume you mean in the promo version youll only be able to save the files in it to some proprietary file format made just for it. I still think it would be neat.

cbreaker
01-31-2002, 05:19 PM
I like the idea of creating a new world, with a new set of everything, including models and zones, however I feel that it may be too big of a task at this point.

Perhaps the best thing to do at this point would be to simply get the emulator up to quality; complete with easy (gui) tools edit items, monsters, spawn times, loot drops, etc.

I feel that once the emulator can DO what EQLive can do, then would be a good time to start modeling new mobs and new zones.

As someone stated earlier, achieving balance may be very difficult, as it is a very daunting task. Everquest was made by large teams of in-office people working on different aspects of the project, and years after release it's still not perfect.

Creating a whole world complete with new models, items and zones could take many years, in which everquest could even be down, obsolete or even completely different in so to obsolete the emulator.

It's not to say that a whole new world cannot be done here, I think it really can be done, but it may be worthwhile to simply work on recreating at least some of EQLive before attempting to model your own world.

If you get a court order to stop, then would be the time to begin work on new zones and models. :)

Of course, it would be WONDERFUL to be able to actually manage a dynamic world, unlike EQLive. You could set up changes in the economy, attacks by monsters, new and dynamic quests, etc. The way EQLive has been documented on the web takes out any excitement. And the world never changes, besides weak GM 20 minute events that seldom happen and very few benefit.

-CB

madborg
01-31-2002, 06:49 PM
Maya is a realy nice high end modeler. Any idea how/where i could get my hands on that free promotional version? hehe :) When you say it will be like gmax i would assume you mean in the promo version youll only be able to save the files in it to some proprietary file format made just for it. I still think it would be neat.


February:

http://www.aliaswavefront.com/en/Community/Special/ple_announce/index.html;

madborg
01-31-2002, 07:13 PM
I like the idea of creating a new world, with a new set of everything, including models and zones, however I feel that it may be too big of a task at this point.

Perhaps the best thing to do at this point would be to simply get the emulator up to quality; complete with easy (gui) tools edit items, monsters, spawn times, loot drops, etc.


-CB


There are enough people to do both actually. I personally think that content creation is going to be very limited. But even with the limitations there are things that we could learn from studying these formats.

madgamer2000
02-02-2002, 03:55 AM
I would have to agree with madborg on that one. I also think that in many cases it would be two completely different groups of people doing the different things. I for instance dont have very much experience with scripting, programming, etc. I do use photoshop a lot, have GM'd various games in the past so like creating adventures, and have some experience with using 3d tools. I think there are enough people working and using the emu that it would almost be different groups of people doing different things. Everyone could be doing their own thing while working togather and I think that you could make a sizable lump of old world style content. In some cases you could also modify existing zones if you wanted more content faster. East commons of west commons for instance. Fill in the tunnel like its collapsed with sand, punt the inns, and add some other stuff. It could pass for any outdoor area.

Thanks for the maya site btw madborg :)

cbreaker
02-02-2002, 09:27 AM
There are enough people to do both actually. I personally think that content creation is going to be very limited. But even with the limitations there are things that we could learn from studying these formats.

Well good! I just wouldn't want to see the progress on the emulator itself be slowed due to world creation.

Either way, I think it's a very cool project.

-CB

Windcatcher
02-02-2002, 05:54 PM
I've been experimenting with creating my own zones, but I need some help. It seems that the game won't recognize what I create, so I performed a test and the result was unexpected. If you take all the files for a zone (e.g. everything beginning with "tox"), copy them, and rename them such that "tox" becomes "test", for example, putting a zone entry for "test" in the database and trying to go there in-game doesn't work. This seems strange to me, since the files are of course known to work. Can anyone try this, i.e. try to figure out how to run a valid zone under another name? It would go a long way toward getting our own .wld files to work.

WC

Bunga
02-03-2002, 06:46 AM
I'm no expert, in any way, shape or form, but it sounds to me like somewhere in the EQ files there is an entry as to what zones etc can be acessed by he EQ game... We would have to modify those entries to be able to create new content.

Windcatcher
02-03-2002, 06:52 AM
Let's start looking :) I've tried getting it to work on 0.2.0 and 0.2.1, but no success so far. Here's what I did on 0.2.1:

1. copied tox*.s3d to test*.s3d

2. added a zone entry in the db for zone "test", and specified "test" in the filename field as well.

3. copied tox.cfg to test.cfg and used a hex editor to change the text in the file to "Test" and "Another world", respectively. Any extra characters left over were replaced with nulls.

4. I set my character's zone to "test", and the xyz coordinates to 0,0,10.

When I try to enter the world, the client crashes.

WC

P.S. I've also updated my informal WLD spec on page 3.

Windcatcher
02-03-2002, 07:08 AM
Got a little more info. When I run in EQW 2.2 (which is REALLY slow, btw), I get the following pop-up message:



Unable to load World

EverQuest cannot load the zone file "test.s3d" in the directory that you are currently running EverQuest from. The file is present but it may be corrupt.

Please either reinstall or delete and re-patch this file.

For assistance with this problem, please call (858)-537-0898, or visit our website at http://www.everquest.com



When I click Ok, the client closes. It's interesting that this pop-up is only visible under EQW; before I was running eqgame patchme, and the pop-up wouldn't show up, but after I pressed enter the client would close. Presumably the popup was there but hidden by the game itself. There's QA for ya...

When I go to the eq folder, there are two new files there: test.chk and test_obj.chk. Maybe the game has a list of checksums or somesuch?

WC

Edit: I've been looking at the dbg.txt dump in the eq folder, and it says it was looking for test.wld. I used eqinside to rename tox.wld to test.wld, but it still didn't work. I then used eqinside to update the crc on that file, and still no-go...dbg.txt says that the client can't find test.wld, but I've verified that it's there. It looks like the client is complaining on all of the .wld files, but only the main wld file with the zone geometry is causing it to abort. This is potentially good news, since it implies that we can distribute files with only zone geometry and it might work (i.e. no chr, obj, etc. files), but we have to get the zone geometry files working first.

Edit: Another thing that's intetresting. In the character select screen, the zone shows up as "Unknown Zone". I've verified that there is an entry in the database for zone "test", and that there is a zone.cfg file in the cfg folder. So why doesn't the zone name show up? I suspect this is a related problem.

Windcatcher
02-03-2002, 10:40 AM
I tried moving in the other direction, that is, taking the WLD file I made, renaming it to an existing one, and putting it in an existing s3d file. I got the same result; dbg.txt said that the client couldn't find the file. I suspect it's related to the checksum/crc in the s3d file. I noticed that eqinside doesn't recalculate the checksum when you put a new file in the archive. I think the loader in the client is calculating the crc/checksum and barfing when it doesn't match. If this is the case, I/we can't proceed until we know how to calculate the checksum that goes into the s3d file for any given file. I hacked together a quick eqinside clone that displays the checksum for a given file that is stored in an s3d file, and displays what it calculates using a standard crc32 algorithm. It doesn't match, so the client must do something different. Has anyone investigated this? I did a cursory look around the net and couldn't find any info.

Oh well. Time to head to that Super Bowl party...

WC

Edit: Wow that was a good game (unless you're a Rams fan I guess). Anyhow, here's my final thought for tonight: I found a small (72 byte) file in an s3d file and I've started an exhaustive search over all 32-bit seed values to see if any of them results in the checksum stored in the s3d file. I'll let it run overnight so if there are any keys that work, they should be found by tomorrow. Hopefully they used a straight crc32 algorithm...

Windcatcher
02-04-2002, 12:40 PM
Well, so far I haven't been able to figure out how to generate a proper checksum for my WLD files so the game will extract them from the S3D files without barfing. I super-optimized my crc32 routne and sic'ced a 1.7GHz PC at it, but no dice. So I'm officially yelling that I NEED HELP!!! :) I'm 99% confident that the checksum is somehow based on the actual name of the stored file, since I found four bitmaps in both global_chr.s3d and global_chr1.s3d that:

- are all byte-for-byte identical
- are all 72 bytes in size
- have DIFFERENT checksum values.
- have the SAME checksum value in each .S3D archive where the filenames match (e.g. elmhe0042.bmp has the same checksum in both files, but a different checksum than elmhe0052.bmp, even though the files are IDENTICAL).

The files I'm testing with are:

elmhe0042.bmp
elmhe0052.bmp
elmhe0062.bmp
elmhe0072.bmp

They are all 72 bytes in size and are byte-for-byte identical, but have different checksums in the S3D files:

40EF7F22
0FB81733
DE41AF00
9116C711

I did some poking around and noticed that there was a project called "nudeeq" that changed some character skins. NO, I'm not interested in nude character models, but I am VERY interested in HOW CHECKSUM VALUES WERE GENERATED. If anyone has any info on this, please post it or msg me; there is no way we can generate our own zones unless we can get the game loader to extract the files without thinking they are corrupted.

Windcatcher

DeletedUser
02-04-2002, 01:15 PM
Jeeze Windcatcher sure is a sick pup aint he? :P

Zeitgeist
02-04-2002, 03:57 PM
lol, you don't know the half of it. he was looking for the nude Image the Gimp skin!

madborg
02-04-2002, 08:20 PM
this comes from the skinFAQ


that pretty much covers all the .bmps in the global files...

how to change these? assuming you have eqinside..
1) find what you want to change... use Archive --> Save to save it some where
2) open that up in whatever gfx program you're going to be using, modify to
your liking save it...
3) back in eqinside... choose load the file you modified.. Archive -> load....
File -> save... Archive -> load in some of the other global files.. the race
cloth is in more then one file.. (except for iksar)


other information was the meaning of the texture file names for npcs such as human female chest piece.

I also have the nude wood elf female somewhere. Here is something from another file that I have:


1) First, back up "global4_chr.s3d" and "global_chr.s3d", found in your EQ
folder. You'll probably want to go back to it at some point.
2) Next, unzip the included bitmaps to somewhere of your choice.
3) Now run EQInside, pointing it to the folder containing EQ that you use for
EthernalQuest.
4) Select the "Archives" tab near the top of the EQInside window.
5) Scroll down until you see "global4_chr.s3d" on the left side of the window
and then double-click it
6) On the right side of the EQInside window, scroll down until you see
"clk0401.bmp"
7) Now click "Archive" on the toolbar at the top of the window and select
"Load Data..."
8) In the new "Open" window, point EQInside to the folder where you placed the
bitmaps included with this archive.
9) Now press the "Open" button
10) Repeat steps 6 though 9 for "clk0402.bmp", "clk0403.bmp", "clk0404.bmp",
and "clk0405.bmp"
11) Next, repeat steps 5 though 9 using "global_chr.s3d" instead of
"global4_chr.s3d" and "clk0406.bmp" instead of "clk0401.bmp"
11) Now click on "File" at on the top toolbar and choose "Save..." then "Yes"
12) Now run EthernalQuest and enjoy :) Summon a "Robe of the Elements" (item
number 1356) or any other robe that uses the same textures and put it on.

DeletedUser
02-05-2002, 06:53 AM
Yep, EQInside handels all the .s3d stuff, i know i've replaced files in there before with np.

Interestingly enough, if you add files along the naming pattern it wont recognize them, meaning that the skin filenames, or maybe just which skins are valid/invalid, are stored somewhere.

The client reads the zone name at character select from it's local files, same with on the /who after you're in game. Also interesting, even the Verant s3d files "load" and "tutorial" display unknown zone. Only the "You have entered ZoneName" is read from the server.

madborg
02-10-2002, 10:48 PM
The client reads the zone name at character select from it's local files, same with on the /who after you're in game. Also interesting, even the Verant s3d files "load" and "tutorial" display unknown zone. Only the "You have entered ZoneName" is read from the server.

The zones are hardwired in the client. There is a table that has some zone names and also a set of lists that have all the names. The list seems to had null pads of 2 or 3 chars but the table seems to have enough room to put some information in it -- from cfg files? The table does not have a complete zone list, but the list seems to be complete.

the zone "tutorial" was not in either the table or the lists of zones.