Content creation
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 |
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-. |
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. |
that sounds like a good nudge in the right direction =) Who wants to work on this? eheh...
|
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. |
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?
|
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 |
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 |
maybe start with chequip.s3d
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 |
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 |
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.
|
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. |
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 |
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.
|
Not planning on it at the moment...I have a lot on my plate as it is...
WC |
Quote:
I liked the image because it was color coded and fairly easy to pick out the meaning of various regions. |
hmm...
Relevant or not? Hehehe, i honestly dont know, but i do remember seeing this (the top article) when it was first posted and it caught my eye. Heres the developers site . 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 |
Of course :)
|
Of course :)
dang it. its too big to post. |
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. |
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. |
this what you're looking for madborg?
http://www.strike9.com/eq/image.aspx...ize/SPELLS.jpg |
Quote:
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. |
Re: hmm...
Quote:
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. |
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 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.
|
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 |
update on gmax
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. |
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.
|
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. |
update on gmax
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. |
ran into a snag with eqinside
user error -- not at my best at 2 a.m.
|
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 |
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. |
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 |
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 ]=- |
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 |
DDS to BMP
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?s...s/gph_conv.zip |
update to gmax
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. |
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?
|
I can do zones!!
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.
|
All times are GMT -4. The time now is 03:56 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.