Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 09-07-2015, 02:18 PM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default Overly Ambitious Newblet - World Buildin' Questions

Mornin' lads, 'tis the lil' ol' me again.


Having finally gotten a working client and finished the server setup guide, I've got a load o' questions about what's what, how to do what, where to find what, so on and so forth.

Of course, I did do a bit of searching, but nothing came up that was entirely relevant to me musings, so dinnae worry about that.


1. How would I compose a zone mostly (if not entirely) out of already present resources, such as houses, chairs, trees, etc.? The wiki has a half-finished guide on faffing with 3DS Max to make custom models, but doesn't go beyond that in any shape or form.

Surely, since Everquest has such a wide breadth of content already created, it would be best to just pool those resources, and place them on a custom-created terrain model, much like what's done in Bethesda's Creation Kit for Skyrim.

I've also done a bit of lurking, and correct me if I'm wrong, but is it true that all the 3D models used in a scene (terminology issue here. Map? Zone? There's no clarification that I can find) are actually just one big mesh? If that is the case, I absolutely wish to avoid doing that.

My reason being, is that if I wish to change a house, for example, to be burnt and falling apart due to some in-game event, I'd have to create a completely new zone to accommodate the single mesh that changed, whereas games typically just replace the current model with the new one using the same 3D positioning.


2. What is the difficulty of, and how would I go about, implementing the other races of Norrath to be playable? For example, the Gnoll race; the combat and locomotion animations are already present, sound effects already exist, etc. Would I just have to make an NPC that the player talks to, and invoke some sort of SetRace(PlayerConversationPartner, Gnoll); function?

Or would it involve hacking away at the source code for months on end?


3. The stock player character voices and sound effects are atrociously bad; the footsteps are out of sync, the vocalization made when jumping...Eugh. How difficult would it be to give each player race, and each gender of each race, their own voice files, replacing the vanilla ones?

I'm also going to go out on a limb and assume the same running sound effect is used for every character, even though the animations differ by race? Luckily, I already have locomotion sound effects, and have the know-how to time them, so that isn't an issue. But what tools would I need, and which files will I have to modify, to make the game use the sounds for each race and gender?

I've also got voice acted sounds and dialogue, so that isn't a problem.


4. Is there any great effort involved in making NPCs traverse zones? Once I've got the hang of replacing assets, creating custom scenes, utilizing existing Everquest 3D architecture, etc., I do indeed plan on giving the game some life.

For example, say I want to have a pack of Gnolls go from SceneA to SceneB, where they will then raid (well, move to a bunch of pre-defined points and wait for something to happen) a village, where they then do battle with the inhabitants.

What's involved, or even better, how would I go about implementing such a thing?


5. By default, due to following the server setup guide, the database present with the server is filled with a huge amount of items, NPCs with stats tailored to certain game systems, grinding spots and the like.

What I want to do, is remove the dependence upon grinding for stat points to progress a character. That is to say, I want everything to hinge upon the class a player selects, and the gear that they are wearing. Grinding does not come into the picture, unless you count gathering and bartering resources for crafting said gear.

I also wish to make the divide between low-end gear and end-game gear much smaller. A bronze sword may hit 5 points of damage, whilst the super-awesomely-sharp-katana-from-the-eastern-lands-of-the-north will hit 12 points of damage on a good day. The idea here, is to put a much bigger reliance upon minor buffs and sheer numbers, rather than who spent 8 months grinding to get some antiquated set of equipment.

So, uh, my question is, how would I go about clearing up the database? Removing the vast majority of NPCs, equipment and whatnot already present, so that I do not have unused data clogging up whatever editor's interface will be used...That sort of thing.


6. How dynamic can an in-game scene become? As it stands (with most MMOs, actually), a tree that is present in a scene will not change; it can't be cut down. You can't place barricades, you can't build a house on a non-instance, etc.

But what would be involved in making it so that a player could, say, cut down a tree, with NPCs and whatnot taking that into account (line of sight, pathing, etc.)? Or making a fort out of wooden boxes? And if such a thing is possible, is there a guide on the best practices on designing a map to accommodate such dynamic gameplay?



So aye, that's all the questions I've got at the moment. Tah in advance, milawds.
Reply With Quote
  #2  
Old 09-07-2015, 06:27 PM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default

Don't want to add to the word wall, as it's a pain on the eyes, so I'll posit this as a new post.

For dealing with zones, I did find this piece of software called "EQ Model Viewer Zone Converter" from here, but the .obj files it exports are broken, as are the .ms scripts. At least, as far as 3DS Max 2012 and Blender 2.49b are concerned.

Anybody able ta point me in the right direction?
Reply With Quote
  #3  
Old 09-08-2015, 05:56 PM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default

Wellp, seeing as how there are no responses, I'll just use this 'ere thread to document my findings. Posterity and all that waffle-buffle.

There is a program by the name of EQ-Zip, located over here. What this program allows you to do, is open up the .eqg and .s3d files, allowing for the extraction of the various files within, such as .dds, .bmp, .ani and the like.

So that's one part of obtaining the game's resources settled; got us usable texture files.

Over on this page, there is a link to an archive which contains glmodelviewer.exe. What is interesting about that program, is that it allows you to view the individual models that make up the map. For example, if you load up the map abyss.eqg, the first object you see is that of a saddle.

So there is proof that it is possible to get the models individually from the map files.

Thing is, I can't figure out how to do that. There's probably a program kicking around that does this, but I've not managed to find it. Anybody able to weigh in on this?
Reply With Quote
  #4  
Old 09-14-2015, 10:07 AM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

Hello,

I don't usually scroll down this far.

You are asking are some ambitious questions. I seems like you would like to create something that barely resembles what was originally created.

From what I understand, EQ Emulator is supposed to be an emulator of live EQ. This is what I understand the devs work on. Whatever a server dev, like yourself, can do outside of what is provided by the most capable of the community is your prerogative.

I am uncertain on the capabilities of the project to do some of the things you are asking. I am certain others could enlighten you to this. I think a lot of what you are asking about would be very difficult to do.

I won't reference each point you made but I'm fairly certain each point would require more than just a few sentences to give an explanation on.

Making a comparison between a community project and a billion dollar game development company seems kinda silly. I mean no offense but this is the reality. If you want to create your own EQ version of TES, more power to you.

In all sincerity, I think it's great you want to do these things.
Reply With Quote
  #5  
Old 09-14-2015, 03:17 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

You may even want to do something like one of the RPG maker programs instead. The man hours alone would be ridiculous. If you have the energy and time to do it, by all means tackle it. I will never tell anyone something cannot be done, but you will have to invest a lot of time into the project and you may be the only one working on it.
Reply With Quote
  #6  
Old 09-14-2015, 09:21 PM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default

Quote:
Originally Posted by AdrianD View Post
Hello,

I don't usually scroll down this far.

You are asking are some ambitious questions. I seems like you would like to create something that barely resembles what was originally created.

From what I understand, EQ Emulator is supposed to be an emulator of live EQ. This is what I understand the devs work on. Whatever a server dev, like yourself, can do outside of what is provided by the most capable of the community is your prerogative.

I am uncertain on the capabilities of the project to do some of the things you are asking. I am certain others could enlighten you to this. I think a lot of what you are asking about would be very difficult to do.

I won't reference each point you made but I'm fairly certain each point would require more than just a few sentences to give an explanation on.

Making a comparison between a community project and a billion dollar game development company seems kinda silly. I mean no offense but this is the reality. If you want to create your own EQ version of TES, more power to you.

In all sincerity, I think it's great you want to do these things.

They don't seem to ambitious; for example, the first one just involves ripping out the models from the .wld file. Once that's done, assembling a map is just an exercise in tedium.

About the EQ-TES comparison, you misunderstood the reason I brought it up. I was trying to think of a good comparison between the way maps are handled, because I was lacking the necessary vocabulary.

Basically, EQEmu handles maps in a "serial" fashion; all the objects are compiled into one model, which is entirely static. Skyrim, on the other hand, handles maps in an "object oriented" fashion; each object is independent of the other. An example of another object orientated map design, would be RunUO, the Ultima Online server emulator; each crate can be opened and have items placed in, each tree can be chopped down, each NPC can traverse across the landscape and even change "worlds" (equivalent to EQ's zones), that sort of thing.

The main problem I'm facing, is that there's no documentation on how to achieve what I'm aimin' for. Not that I could find, anyhow.



Quote:
Originally Posted by provocating View Post
You may even want to do something like one of the RPG maker programs instead. The man hours alone would be ridiculous. If you have the energy and time to do it, by all means tackle it. I will never tell anyone something cannot be done, but you will have to invest a lot of time into the project and you may be the only one working on it.
The RPG Maker series of programs are rather trashy; inefficient, lacking in quality resources, missing important features (multiplayer, 3D, active combat, etc.)...Yeah.

I could very well venture out into a game engine such as CryEngine or UDK, but the pay wall is insurmountable for a broke fella.
Reply With Quote
  #7  
Old 09-14-2015, 09:35 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

One downside is that S3D zone files are structured as singular meshes, split up randomly and procedurally into cohesive fragments to keep from sending too many polygons in a single DirectX call.

Example:



Fortunately, EQG zone files are better designed, with terrain or a main structure being one layer, and all of the scenery objects placed around by reference, like you'd expect.
Reply With Quote
  #8  
Old 09-14-2015, 09:43 PM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default

Quote:
Originally Posted by Shendare View Post
Fortunately, EQG zone files are better designed, with terrain or a main structure being one layer, and all of the scenery objects placed around by reference, like you'd expect.
Ooh, now that sounds like there is potential.

So for example, through the plugin system, I would be able to swap out a placed tree, for that of one that has been cut down, without having to get all into the hacky-tedious0nitty-gritty of swapping out multiple .s3d file variants to simulate the same occurrence in real-time?

Or, uh, to keep it short, I can manipulate placed objects through scripting and whatnot?
Reply With Quote
  #9  
Old 09-14-2015, 09:50 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Actually, you can add new placed objects to a zone without even having to change any client files. The Door Manipulation plugin lets you add whatever models are available in a zone wherever you like, storing them in the database for easy editing.

Removing/moving existing ones is where you'd have to start editing the client files.
Reply With Quote
  #10  
Old 09-14-2015, 10:03 PM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default

Quote:
Originally Posted by Shendare View Post
Actually, you can add new placed objects to a zone without even having to change any client files. The Door Manipulation plugin lets you add whatever models are available in a zone wherever you like, storing them in the database for easy editing.

Removing/moving existing ones is where you'd have to start editing the client files.
The former 'tis what I had in mind. My obsession with the existing world files, was to rip out the models and whatnot from 'em, saving me time developing stuff. Had no plan on utilizing the vanilla zones themselves.

Does the server accommodate for that Line Of Sight stuff, when adding in objects?
Reply With Quote
  #11  
Old 09-14-2015, 10:20 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

That Line of Sight stuff?
Reply With Quote
  #12  
Old 09-15-2015, 10:06 AM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

I must have misunderstood you a bit.

What Shendare posted is what I was aware of but have not used. If I want something gone I go into the database and remove it, or vice-versa. I haven't done much customizing - only to the point of knowing it's the `doors` and `objects` tables in the DB and how they work.

In order for the client/player to see any changes I *think* the zone or world needs to come down. I'm not certain of this, I rebooted the server after any changes.

Anyways, GL and keep us posted. I'm interested to know what's possible too.
Reply With Quote
  #13  
Old 09-15-2015, 11:36 AM
MajinCry's Avatar
MajinCry
Sarnak
 
Join Date: Sep 2015
Location: Scotland
Posts: 33
Default

Quote:
Originally Posted by Shendare View Post
That Line of Sight stuff?
Serves me right for posting at 2 in the morning.

Allow me to clarify, milordship!

Aren't there these "line of sight" files that are generated in conjunction with a zone, so that NPCs and players are unable to attack through meshes and objects, requiring them to navigate to a point where the target is visible?
Reply With Quote
  #14  
Old 09-15-2015, 12:07 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Ah. No, the server does not take into account whether a scenery object has been placed between a character and an NPC when testing for line of sight and aggro. It uses a precompiled map file containing the solid geometry specifications for a zone for that.

Though, it's possible someone more knowledgeable about the map files could chime in on whether you could re-run the mapping program in such a way as to add objects from the `doors` and `objects` tables to the map file for the server's precomputed checks.
Reply With Quote
  #15  
Old 09-15-2015, 10:58 PM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

Quote:
Aren't there these "line of sight" files that are generated in conjunction with a zone,/* so that NPCs and players are unable to attack through meshes and objects, */ requiring them to navigate to a point where the target is visible?
I commented out the portion of your message I cannot directly comment on!

The rest of it is a .path file. Something I have recently been using a bit.

If there is no LoS, the angry npcs revert to this file for directions to find the person they are angry at.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 03:09 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3