[Show Table of Contents]

The tutorial series on this page is still being written. The resources available under the requirements section is a good starting point however, you're on your own until this series is done. Blender tutorials will be written after 3ds Max tutorials are complete (Last Update: 9/9/14)


So.... How do I create a custom zone or import my zone models from my 3d program into a zone?

Answer: First, let's start with a brief history lesson. Originally, we relied on OpenZone (written by Windcatcher) to provide a bridge between our 3d modeling applications (Maya, 3dsMax, Blender, Etc.) to visible zone geometry that we can stand on. The active development of OpenZone came to an end around 2005/2006 and years later, Zaela took on the task of writing a suite of utilities for people like us. With OpenZone, we were severely limited by its lack of support for the EQG format among several other much-needed features that never reached implemention.

The purpose of this article is to provide several tutorials and reference guides that can teach you the basics of 3d modeling, texture mapping & importing it all into your very own custom zone.

§Requirements  Downloads & Information

Before we get started, please note that I primarily use Autodesk 3dsMax 2015 (for 3d modeling) and Adobe Photoshop CS6 (for model texturing). The downloads below will first list the programs that I use in the tutorials and there will also be alternatives available for those that do not have these programs.

 3D Modeling Software *Required

You have a few options here. If you already know what software that you prefer, make sure that it supports exporting to ".obj" format and that you can change the exporting method from vertices to triangles which is very important when using Zaela's import tools.

  1. Download Autodesk 3dsMax 2015 (This is free if you register as a student. If you are following this tutorial as a beginner, I recommend obtaining a copy of 3ds Max.) HIGHLY RECOMMENDED
    - OR -
  2. Download Blender (This is also free. If you are a beginner, follow these tutorials here to learn the basics of 3d modeling.)

 Photo Editing Software *Required

The program used to create textures & layers in this tutorial series is Adobe Photoshop CS6 although any version of Photoshop would be suitable. If you are unable to obtain a copy of this, there are various suitable options to replace it with as there aren't many strict texture format requirements.

  1. Download Adobe Photoshop CS6 (This is a link to the trial downloads. This application is not free.) RECOMMENDED
    - OR -
  2. Download GIMP (This application is free and comparable to Adobe Photoshop. Learn how to use it by following these tutorials here.)
    - OR -
  3. Use Pixlr (This is a web-based photoshop clone by Autodesk that is free.) RECOMMENDED

 Client Tools *Required

These are the tools necessary for importing your zone geometry, weapon models + particles and objects into the game following a brief description per each utility. Please note that each of these utilities should remain in seperate folders AND they're compressed as a .7z file. You will need 7-Zip to continue any further. Download 7-Zip Here

  1. Download Zaela's Zone Import Tool (Check here for updated versions. This download link was last updated on 8/20/14. Source: github) REQUIRED
     The Zone Import Tool takes your .obj files and converts them into terrain and object files which can be manually modified in the zone themselves.
  2. Download Zaela's Weapon Model Import Tool (Check here for updated versions. This download link was last updated on 8/20/14. Source: github) OPTIONAL
    The Weapon Model Import Tool takes your .obj files and converts them into useable weapons to be used for items in-game.
  3. Download Zaela's Particle Editor Tool (Check here for updated versions. This download link was las tupdated on 8/20/14. Source: github) OPTIONAL
    The Particle Editor Tool allows you to create & modify spell, weapon & environmental particle effects with the primary focus on weapon emitters. It is intended for use in tandem with the Weapon Model Import Tool.
  4. S3D Spy Utility (There is no active development on this tool although it does support .eqg format & .s3d alike. Source: Download Here) REQUIRED
    The S3D Spy will allow you to crack open the zone, object and character files and modify/add/delete from them. This is essential if you ever need to make changes without recompiling the entire zone/object file.

There are various other utilities available however, to keep the seemingly lengthly list of required software short - I did not include them. They will be included on other client modification tutorials provided seperately.

 Testing Environment *Recommended

You're going to need a testing environment (an eqemu server) to effectively test your zones and repair flaws/issues. If you do not already have GM access to a server, setup a private or locked server hosted from your system or a server. Since this article does not focus on server-setup, resource guides are provided below.


§Getting Started  Tutorials & Guides

Each lesson is broken up into multiple sections which specifically target the need-to-know information for the corresponding subject

  1. Understanding the Basics I
       Files & Folders
       Export Requirements

  2. Understanding the Basics II
       Project Folder Setup
       Hotkey Cheat Sheet (3ds Max)
       Starting point & Terrain Creation (3ds Max)
       Creating Materials and UV Maps for your Terrain (Photoshop & 3ds Max)

       Creating Foliage, Buildings & Objects from scratch (3ds Max)
  3. Zone Compiling
       How to export properly. (3ds Max & Blender)
       How to build the zone.
       How to visit your new zone.

  4. Zone Tweaking Post-Compile
       How to apply normal maps & normal shader. (Bump Mapping)
       How to apply transparency & alpha shader. (Leaves, etc)
       How to add water or lava.
       How to add permeable object(s). (Objects/Geometry that players can pass through.)
       How to apply lighting to your zone.
       Generating .map files for the server. (Mob pathing, etc)


§Understanding the Basics  Pt. I

This part of the tutorial series aims toward giving you a base understanding of the zone archive structure within the Everquest client directory.

§Files & Folders

Everquest zone files are stored in two different types of files. You may be familiar with zones such as nexus.s3d and then theres zones like draniksscar.eqg. The major difference between these two zones is that the format of draniksscar is newer than nexus. The format itself doesn't change much but it does include enhanced support for various things that we will cover in this tutorial series.
Note: You may open the zone files by using s3d spy which is available in the downloads section above.

Both .s3d and .eqg files work the same way in terms of what they actually are. Think of them as zip files or even folders. If we were to use s3d spy (as illustrated above) to open them, we'll find various files which comprise of textures (.dds), models/objects (.mod), terrain (.ter), lighting (.lit) and other objects which we'll be creating throughout this series of tutorials. A table which is located at the bottom of this overview lists most of the known files that are typically found in a zone archive (.eqg/.s3d) and should serve as a reference guide if you're dissecting a previously-compiled/existing zone.


Now, you'll then begin to notice that zones such as "dreadlands.s3d" have more than one file associated with it outside of its archive. If we look in the list, we'll notice that there are several files with differing suffixes. The table below explains the purpose for these differing suffixes.

File Name Suffix Description
zonename.s3d / .eqg   This is the archive that contains all of the zone geometry, lighting, textures & water/lava/ice. It CAN contain more but typically is reserved for these.
zonename_chr.s3d / .eqg _chr This archive contains character models, textures, emitters & animations that are specifically available for this zone.
zonename_obj.s3d / .eqg _obj This type of archive typically holds inanimate objects such as doors, barrels and the like which can be placed server-side if you so desire.

With an understanding of the .s3d/.eqg file structure, we can then delve into the text file configuration of these zones which allow the placement of particle effects & models from other zones which can be imported to your own that aren't natively global. If you delve into your folder and search for a zone such as "dranik_", you'll notice two text files titled "dranik_EnvironmentEmitters.txt" and "dranik_chr.txt". The following table explains what these are and provide resource links to further break down these files and how to customize them.

File Name Description
dranik_chr.txt This file is responsible for importing character models that otherwise exist in another zone and is not included in the global_chr.txt file. Visit this page for a list of models and a _chr.txt generator written by Akkadius.

This file is responsible for spawning particle effect emitters in your zone such as fire, smoke, swirling effects & more. There is a list available in the "useful resources" section located above which provides the effect id's which may be used in this file.

And that's as far as we go (for now) in regards to zone files and their underlying/overlaying structure.


§Export Requirements

As you may be aware, when you're done with your zone - you must export your zone as an .obj file. If you're using 3ds Max to export the file, I've included a screenshot of the optimal export settings to set before the export starts. Please note that importing a zone without setting these options will result in a failure. If you are using Blender, just make sure that faces are exported as Triangles.




§Understanding the Basics  Pt. II

This part of the tutorial explains the process and workflow with using 3d Studio Max 2015 from setting up your project to having a flourishing zone with trees, bushes and landscape.


§Project Folder Setup

So you may ask, why should I structure my folders the way YOU want me to? I'm no conformist!!!! Well, you can structure the folders however you want BUTtbot this is an optimal way of doing it. So, create a folder titled whatever the hell you want it to be. For this tutorial, let's say your zone is called "Bunny Island" which also happens to be a floating island full of things. So, create your project folder matching the illustration to the left.

Once you're done, your folder structure should be similar to this:

  • /Bunny_Island_Zone/
    - /Zone
    - /Source/
    • - /Objects
      - /Textures/

 Bunny_Island_Project will be the root folder for this zone. \Zone\ will be where we compile the actual zone files. \Source\ is pretty self explainatory. Your 3d project file will be stored here which is what we'll create on the next section of this tutorial.



§Autodesk 3ds Max Hotkey Cheatsheet

ALT + Middle Mouse Rotate View
(Pivots on World/Selection)
CTRL-A Select All
CTRL + Middle Mouse Pan View CTRL-D De-Select All
SHIFT + Middle Mouse Axis Lock Pan CTRL-S Save
CTRL + ALT + Middle Mouse
CTRL/ALT + Middle Mouse Scroll
Zoom In/Out DEL Delete Selection
F3 Toggle Wireframe Right-Click Object Object Options / Context Menu
F9 Render Scene CTRL+C/X/V Copy/Cut Selection & Paste



§Creating Terrain from Scratch in 3d Studio Max 2015

Ok, so we've got our project folder setup which in this tutorial series is Bunny_Island_Project. Now, we're ready to open up 3d Studio Max and start modeling! Upon opening up 3ds max, click the top left icon and save your current empty project into the Bunny_Island_Project \ Source \ folder. Also, adjust your view so that you can see everything a bit better. Watch this quick video and look at what I do when adjusting my setup.

Now that the project is saved, let's do some modifications to the view ports. There is an icon at the bottom left with 4 boxes titled "Quad 4". We're going to start off by setting it to "Full Screen".

View ports are setup, now let's get to building some terrain! We begin by drawing the base shape of the terrain using the line tool under shapes. Holding the left mouse button allows us to drag out curvature into the lines as we draw. Later, we'll fillet out those hard surfaces before beveling & subdividing. Watch the video!

§Creating Materials & UV Maps for your Terrain (3ds Max & Photoshop)

Ok! In the last video, we created terrain by using the line tool. Then, we beveled (a form of extrusion) the shape into an extruded surface. After creating the shape, we converted it into an editable poly which essentially bakes the spline & modifiers into a model. It's a lot like rasterizing vector art, conceptually that-is. Right after that, we used subdivide which gave the surface something that we can form and mold to add some depth and curves into the terrain. Now, we're ready to create a UV Map.

A UV Map is essentially a polygonal map that allows us to take an image and place it directly over the model topology (see def. below). The following video shows how you can create your UVW Map but please note that this is a VERY sloppy & primitive method of doing it. There's far better techniques including surface painting however, this is just the beginning. Later on in the series, I will show you how to tweak this. Try to create your own textures or atleast use royalty free ones. Taking someone elses work without their permission is not the best way to start off in your modeling career. I used google images just to show in this example.

Topology - the geometric surface characteristics of a 3d object.

§Creating Foliage (Trees, Shrubs, Flowers), Buildings and Objects (Boxes, Ground Clutter, Rocks, Etc.)

In this closing chapter of Understanding the Basics Pt. II, we will begin to delve into how we can breathe some life into our zone by creating several variants of trees, bushes, flowers, mushrooms, boxes, bags, furniture, houses, statues, rocks and other various ground clutter objects by hand. You can find models & mesh objects for free or you can purchase them from a wide variety of sites however, if you put in the effort to learn how to do this yourself then you can just create them yourself and save time wasted on searching for something that isn't exactly what you wanted.The rest of this series will be provided through illustrations and text instructions as you should be relatively comfortable navigating the viewports (panning, rotating, zooming) 3ds Max & Photoshop if you followed the prior video tutorial series.

Before we get started, the following list is a set of plugins that come highly recommended and I will be using them in this series for various tasks which will help speed up the modeling process. You can do it all by hand but once you start, you'll quickly discover that you're essentially reinventing the wheel when scripts can handle things for you to save time in the development phase of your creations.

Avizstudio has taken the time to write a few excellent utilities for 3ds Max that are comparable to the well known industry standards such as SpeedTree, OnyxTree among others. A3dTree has never let me down and helped me create a vast jungle full of different types of winding and low-poly trees.

Download & Install ATree3D v1.20
- ATree3D is a simple to use 3D plants generator for architectural visualizations. With this script for 3ds max you can create trees, bushes, shrubs, flowers and grass. You can use it for low or high polygon models with precise control of the level of details on each sub-element. Script works inside of the 3ds max viewport and show instant preview of your changes

Download & Install ATiles v2.02
- ATiles is a scripted 3ds Max plug-in for creating roof tiles, tiled floors, brick walls, fences, and more.


§ Creating a Cottage-Style House Step-by-Step












§Useful Resources Lists



§Environment Emitters ID Reference List

<insert zone name>_EnvironmentEmitters.txt is a csv (comma seperated value) file for zones which can be found in the root of the EverQuest folder.  which includes the emitter id, x,y,z coordinates as well as the heading, scale & lifespan of the effect. These ID's may be used to spawn the effect via the quest function "SendAppearanceEffect" as well.

Effect Description Effect ID
static tiny lightning bolts along the floor 1
static tiny blue/white ball 2
static tiny blue/white fire 3
static tiny electric field wall 4
static tiny electric bolts going up 5
static tiny electric bursts 6
tiny electric burst particles 7
tiny blue/white ball burst 8
static tiny electricity from the floor 9
Nothing? 10
static tiny electric burst sphere 11
static tiny electric bolts from the floor (nice) 12
static blue/white flame sword effect 13
static green/white flame sword effect 14
static tiny light burst 15
static tiny green/white low density particles 16
static tiny red flame sword effect 17
static tiny D rotating light burst 18
static tiny green very low density particles 19
static tiny red very low density particles 20
static tiny blue very low density particles 21
small long and flat golden cloud 22
static Cleric . effect 23
Ranger . effect 24
static tiny green drip (rogue . effect?) 25
static tiny green mist (rogue . effect?) 26
small green burst of flame 27
small light burst particle 28
small green mist spray 29
small tall smoke 30
small pastel round particles 31
small green circle light bursts 32
small animated vertical light burst 33
small sphere of blue and white particle sprites 34
small vertical flame burst 35
small loose vertical flame burst 36
static small red glowing cloud 37
static tiny yellow particle fire 38
small yellow cloud burst 39
small yellow/orange flame burst 40
yellow flashy light burst 41
static tiny yellow light burst/particles aura 42
static tiny blue vertical lights forming a ring aura 43
static tiny pink/white flame 44
Nothing? 45
Nothing? 46
orange ring light bursts 47
static small vertical black smoke 48
static tiny blowing light black smoke 49
static small orange flame ring sphere 50
static tiny green particles flowing up 51
static small pink/blue flame 52
tiny pink/blue vertical flame slivers 53
static tiny pink/blue flame 54
static small white smoke puffs slow intervals 55
small black smoke ring poof 56
static small fast translucent black smoke clouds 57
small white particle swirl 58
static small yellow/white burst rounded flames 59
small white swirling particle bursts 60
static tiny green/yellow/white high density particle flow 61
static small yellow/white burst flames 62
small white star burst 63
small snowie impact particle burst 64
small blue/white cloud burst 65
flashy rotating star bursts 66
tiny white particle bursts sphere 67
small purple blowing clouds 68
small purple blowing clouds blowing towards you 69
small bubbles 70
small ZZZ 71
small light particle swirl 72
tiny light burst seconds 73
tiny blue/white particle bursts flow 74
small upward rock burst 75
small transparent black cloud burst 76
medium blue vertical cones circling the caster 77
medium large blue vertical cone 78
medium yellow/white flame burst (level up) 79
medium yellow round particles flowing up 80
medium yellow star burst spiral up around caster 81
Nothing? 82
static medium blue/white flowing smoke 83
medium dense black cloud burst 84
medium springs shooting from the ground 85
medium sprockets shooting from the ground 86
medium round electro-static bursts 87
medium black lava chunks shooting from the ground 88
static small vertical electric field 89
large lightning bolt from above to target 90
medium light burst to target 91
small purple cloud burst 92
medium black lava chunks many bursting from the ground 93
medium white particles raising and fading 94
static tiny blue/white sphere of light 95
static tiny white particle bursts sphere 96
static very tiny yellow light burst 97
tiny sideways shooting flame 98
tiny yellow light burst 99
static tiny vertical red flame sword effect 100
Water Forming on Ground(non-perma) 180
Fire Breath (Big)(non-perma) 185
Black Fire Breath(non-perma) 186
Fire Forming on Ground(non-perma) 187
Fire Blasting from Ground(non-perma) 188
Electricity Blasting from Ground(non-perma) 189
Realistic Burning Fire(non-perma) 190
Green Smoke(non-perma) 199
Green Smoke Ring at Feet(non-perma) 200
White Smoke Ring at Feet(non-perma) 201
Slow Blue/Purple/Pink Fading Smoke Cloud (non-perma) 202
White Sparkles flying upward (non-perma) 203
White Smoke Blast (non-perma) 204
Water Forming on Ground (non-perma) 205
Ice Forming on Ground (non-perma) 206
Ice Floating around Ground (non-perma) 207
White Sparkles forming on Ground (non-perma) 208
Green Fart(non-perma) 209
Yellow Sparkles eminating from Ground (perma) 210
White Sparkles eminating from Ground (perma) 211
White Smoke Emitting at Feet (perma) 212
Black Smoke Emitting at Feet (perma) 213
Yellow Sparkle Explosion (non-perma) 214
Arora Borealis Effect from Feet (non-perma) 215
White Smoke Poof from Ground (non-perma) 216
Blue Sparks Ring at Feet (non-perma) 217
White Spark at Feet (non-perma) 218
Fire Pulse at Feet (non-perma) 219
Black Smoke Emitting at Feet (non-perma) 220
Electric Shock at Feet (non-perma) 221
Electric Strike on Body (non-perma) 222
Blue Sparkle at Feet (non-perma) 223
Small Sparkle falling from feet into ground (non-perma) 224
Small Electric feild at feet (non-perma) 225
Small Electric feild at feet (perma) 226
Small Directional Gust of Dark Smoke (perma) 227
Small Emitting Smoke from Feet (perma) 228
Small Fire Embers from Feet (perma) 229
Various Yellow Sparkles around Body (perma) 230
Gentle Emitting Smoke from Feet (perma) 231
Small Red Flame at Feet (non-perma) 232
Swirling Gust of Dark Smoke (non-perma) 233
Nothing Visible (?) 234
Nothing Visible (?) 235
Small Electric Pulse at Feet (non-perma) 236
Electric Strike at Feet (non-perma) 237
Small Random Electric Shock at Feet (non-perma) 238
Small Blue Gush of Smoke at Feet (non-perma) 239
Small White Gush of Smoke at Feet (non-perma) 240
static small cloud puff bursts 330
nothing? 331
static small diagonal lightning bolts 332
small white cloud burst 333
static widespread falling snow flakes 334
static widespread shooting up rocks 335
static wide orange shooting up particle ring 336
static wide dark blue shooting up particle ring 337
static wide green shooting up particle ring 338
static wide purple shooting up particle ring 339
static wide gold shooting up particle ring 340
static wide ice blue shooting up particle ring 341
static wide black shooting up particle ring 342
static wide grey shooting up particle ring 343
static wide blood red shooting up particle ring 344
static widespread raining red notes 345
static widespread small slow blue/white falling particles 346
static widespread random ground flame bursts 347
static widespread fast brown ground fog/smoke 348
static widespread fast white ground fog/smoke 349
static widespread fast light black ground fog/smoke 350
static widespread fast black ground fog/smoke 351
static widespread fast purple ground fog/smoke 352
static widespread fast and heavy lightning 353
static widespread white tornado clouds 354
static widespread poison clouds 355
static widespread green bee clouds 356
static widespread blue/white pulsing orbs particles in a ball shape 357
static small fast thick black smoke 358
static small flame sparks 359
static medium tall skinny white flame 360
small pink sparkler bursts 361
nothing? 362
medium flame ring burst 363
medium firework burst 364
medium smoke ring around target 365
static medium flame ring 366
static medium fast flame sparks 367
medium flame burst 368
medium light white smoke 369
medium grey smoke ring around target 370
medium smoke cloud from hands 371
medium quick smoke puffs ring around target 372
medium fast smoke puffs ring around target 373
tiny blue/white spinning smoke ball 374
tiny blue/white spinning smoke ball short duration 375
small blue/white spinning smoke ball short duration 376
small green spinning smoke ball 377
small blue/white spinning smoke ball 378
medium blue/white spinning smoke ball 379
medium light smoke ring around target 380
medium light smoke puffs ring around target 381
medium fire burst 382
medium black smoke cloud burst 383
nothing? 384
medium light smoke ring around target 385
medium flame ring around target 386
medium smoke puff ring around target 387
static small purple cloud puff bursts 388
static widespread overhead swirling black clouds 389
static widespread huge ice shard particles 390
static widespread raining rainbow notes 391
static widespread orange orb particles 392
static widespread green/blue/red orb particles 393
static widespread pink/purple orb particles 394
static widespread grey/white orb particles 395
static widespread brown orb particles 396
static small white ball of dense bubble particles 397
static small blue/white glowing smoke ball 398
static tiny white diagonal shooting particles 399
static small fire 400
nothing? 401
static small fire smoke 402
static small campfire like flame 403
static small campfire sparks 404
static small inner campfire flame 405
static small campfire electric sparks 406
static medium very low density fire sparks that shoot far 407
static small white glowing smoke ball 408
static small purple smoke ball 409
static small ash particles 410
static small white/blue smoke ball 411
static small verticle white smoke 412
static small purple cone shaped smoke 413
static small purple smoke ball 414
static small fast purple shooting particles 415
static small fast smoke 416
static small fire 417
static small pink fire ball 418
static small fire sparks 419
static small very low density fire sparks that shoot far 420
static small aqua/pink/purple/white flame 421
static medium campfire like flame 422
static medium campfire smoke 423
static small diagonal fire particles slow 424
static small diagonal fire particles slower 425
static small bouncy fire particles 426
static small bouncy fire particles 427
static tiny circular Fire ring that is vertical 428
static small circular Fire ring that is vertical 429
static small diagonal fire particles 430
static small ball of fire particles 431
static small blue and yellow rotating smoke rings 432
static small blue and yellow particle rings that loop 433
static small blue and yellow flame sword weapon particles 434
static small blue and yellow flame wall weapon particles 435
static small blue and brown blocky smoke weapon particles 436

This list was generated from a post made by Akkadius in regards to the "SendAppearanceEffect" function in perl scripts.