Rylec's Shiny and Collection Guide

Discussions of the design and development of in-game content.

Moderator: Team Members

Post Reply
User avatar
Rylec
Team Member
Posts: 178
Joined: Wed Sep 04, 2019 7:48 am
Location: Qeynos Province District

Rylec's Shiny and Collection Guide

Post by Rylec » Thu Oct 22, 2020 12:18 pm

This is a guide to help budding and new Content Developers get started with Shinies and Collections. The Wiki has a very good guide for setting up groundspawns in general (mostly focused on harvestables but some of the general principles can be applied when working with shinies). This post can be seen as a companion to that article with a few additions of my own (mostly concerning how I handle shiny location variation). Disclaimer: Some of the views found in this post are my own and may potentially not reflect the opinion of the EMU Team as such (especially my view on shiny location variation).

While this guide may seem extensive and therefore quite daunting the truth is that setting up shinies is actually quite easy and can be done by anyone with a bit of time on their hands. It can be a bit tedious, but since most MMO players should be used to grinding you should be well accustomed to repetative tasks by now :D


Image

First of all you need to contact @Cynnar, @Jabantiz or @neatz09 and let them know that you want to help. They will be able to set you up with access to the editors that are used to changes to the game database (in other words how we make changes to things in the actual game). They will also give your EQ2 EMU account GM powers so you have access to GM commands on the EMU server.


Image

The Milestone post details what the current content focus is. With that focus in mind, check out the parent forum to the List and see if there is a thread for the zones in the current milestone focus area. These threads will tell you the progress made to these zones - hopefully also regarding shinies and collections found within these zones.

Pick a zone that needs more work. Please keep the zone thread up to date on your progress so everyone can see what has been done and what is still missing if you stop working on the zone at any point for any reason. If a thread exist for the zone just use that one, if not then make a new one - the easiest way to do this is to use 'edit' for the top post of one of the other threads and copy the post code to your new topic and edit it so it fits the new zone.

If you wish to use Progress Maps and some of the other 'fancy' banners but lack the photoshop capabilites to create them just let @Rylec know and he will teach you how to make one or make them for you.


Image

When you have picked a zone that needs more collection and shiny work then you need to find out what collections are connected to the zone on Live. A great source for this is EQ2i (EQ2 Wiki).

If you are lucky then someone else has already added the collections to the database. You can see this by going to the Spawn tab in Database Editor 1.5, select the relevant zone, pick Ground, and any shinies set up in the database for this zone can be seen in the list with the name '?' (note that if the zone has more than one collection and the collection members of different collections are not found in the same areas of the zone then there may be more than one '?' found in the list - one shiny type for each of those collections).


Image

Figure 1 | List of spawns showing a shiny type


To check what collection is tied to a specific shiny type, click the number in the Spawn ID column and select the Ground tab. Groundspawn_id will show the collection tied to the shiny type.


Image

Figure 2 | Collection tied to shiny type


If all this is already done and set up correctly then you can move directly to the 'Add shinies to the World' section of this guide to see how you populate the server with shinies and how to add spawn location variation. However, if the shiny type you are looking for is missing then you have to create a new shiny type. The easiest way is to use the following command in game (on the EMU server):

Code: Select all

/spawn create ground 2244 0 0 '?' 1 32

This will create a shiny at your location (you can always /spawn move to move it later or add location coordinations directly into the database - but more about this later). You now have to save it to the database (else it will just disappear next time the zone is reloaded). You do this by targetting the shiny and type (replacing QueensColony with the name of the zone you are in):

Code: Select all

/spawn add new "QueensColony_?"

With the shiny type created it is now time to tie it to a collection. Again if you are lucky someone else has already created the specific collection and added it to the database. If this is the case simply go to the Ground tab for the shiny type (see Figure 2) and select the collection from the drop down for groundspawn_id. If the collection does not exist (or you want to check if the collection is set up correctly), you have to use Database Editor 2.0 (this is a newer editor that has other capabilities than editor 1.5 - ignore that it also says 1.5 at the top). Select the Server tab and 'collections' in the drop down list. Here is the list of all the collections added to the game.


Image

Figure 3 | Collection list


If you wish to check if a collection is set up correctly find it in the list and click 'edit'


Image

Figure 4 | Collection


Here you can see all the collection members of the collection. If anything is missing you can add the missing collection members by inserting the Item ID in the 'new' row and click 'Insert'. You can find the Item ID by clicking the magnifying glass icon next to the other collection members and type in the name of the collection member (find the name using EQ2i, ZAM or similar source).


Image

Figure 5 | Search for Item ID number


Use the same technique if you have to add an item as a collection reward. Simply search for the Item ID as above and enter the Item ID in the Reward Value field.

All this also applies when creating a brand new collection. Just remember to adhere to the naming convention for collections (check the list of collections to see how other collections have been named).

Congratulations - you now have the correct collection to tie to your shiny type! Now, lets move on to how to add shinies to the World...


Image


So far this guide has covered things that has to be done regardless of who is working on shinies. The next part of the guide turns more to my personal view on how shiny development should be carried out.

As with other areas of developing an emulation of something original (espcially if the original has gone through different phases), some things can be very subjective. The main goal of the official EQ2 Emulator is to replicate Live (as part of the a much wider goal that should allow for all types of servers), but this can be done in different ways. The main school of thoughts when it come to shinies are (and may be a mix of more of these points) and they all have merit:
  1. Shinies exist in the zone and collections can be completed. If there are many different types of collections they are all bundled up into one shiny type and all shiny types can provide members of all the collections. There is no variation in shiny spawn locations (meaning that all shinies will respawn in the exact same location).
  2. Like the first point but now the shinies can only be found in the areas that also have shinies on Live.
  3. More than one shiny type exist if certain collections can only be found in different areas of the zone.
  4. Shinies can respawn in a few different locations within a certain area (defined by the area where they will spawn on Live).
  5. Shinies can respawn in a LOT of different locations within a certain area (defined by the area where they will spawn on Live) to better replicate Live.
  6. Shinies can respawn using the 'grid' system described below (this has not been used on the emulator yet to my knowledge).
As I said all these options have merit as they all make the World playable at different levels of 'polish'. I could easily see a scenario, where all zones go through all phases described above. I use method 5 and the rest of the guide will focus on how to do this (and the 'grid' system) - however, most of the principles in this guide can be used regardless of the method you are using.


Log in to a server on Live and find the area you wish to add shinies to on the Emulator server. Take some time to examine how the shinies in the area is set up. Count how many are up at any given time. Collect shinies and track how long time it takes for the shinies to respawn. Make notes on what collection members are gained from shinies in your area. When you feel you have all the information you need, then you are ready to start work on the Emulator.

The easiest way to quickly populate the zone on the Emulator with shinies is to simply use to Migrate Zone page in Database Editor 1.5. Select the Admin tab and Migrate Zone.


Image

Figure 6 | Migrate Zone


By using the drop down lists select the zone you are working on, the spawn type 'Ground' and shiny type '?' If no shiny type exist (or if only one exist and you need to work on another type of shiny, then you have to add all potential shiny locations manually (and potentially have to create a new shiny type as described above). If lucky then there will be a long list of shiny locations available here in Migrate Zone.


Image

Figure 7 | List of shiny locations


IMPORTANT NOTE: Migrate Zone is a powerful tool and it has the means to add 1000s of spawns to the World with a single click, so use the information in this section carefully and if in doubt ASK FIRST...

Migrate Zone stores information about a lot of spawns that were automatically collected by other people earlier in the development of the Emulator but for various reasons they are not in the actual server database - mainly because you don't want 100s of the same spawn in a very small area.

However, this time you actually want to add a lot of shinies to the World, you just need to click the right button. Find 'Spawn These' to the very right and above all the listed shiny locations.


Image

Figure 8 | The 'Spawn These' button


When you have double checked and you are absolutely certain that you have found the right button... click it... and on the EMU server use the command '/reload spawns' and hold your breath... If you have done everything correctly you will find a result similar to this:


Image

Figure 9 | Migrate Zone spawned shinies in Queen's Colony


As you may know this beach on Live only ever has one shiny spawned at any given time, so why do we need all these spawns you may ask? We do this to add spawn location variation. All these shinies on the beach will soon be 'associated' (grouped), and when this is done only one of them will be up at any given time, and since we have so many different locations now then we will be able to create a situation where the spawns will seem to respawn all over the beach (of course this is an illusion since even though we have a lot of locations we have by no means covered the entire beach - the player just doesn't know this).

So when is the number of shiny locations in a given area 'enough'? Well, as mentioned above this is one of the subjective parts and its ultimatively your call. Some may think that a few locations is more than enough and others may think that a beach like this one needs at least 20, 50 or maybe even 100s of locations. As an (subjective) example I ended up adding 77 locations to this particular beach. You may want to define a number for a particular area and go for that, and when done setting up shinies step back and ask: do you have locations covering all parts of the area equally? (e.g. if you have 50 locations in one side of the beach and just 5 in the other side then respawn will almost always happen in the first side), are you satisfied with the number of spawn locations? Etc...

You may want to remove some of the shinies produced by Migrate Zone. If any shinies are on top of objects or in inaccessible locations its best to remove them. Either target them and use: '/spawn remove', or better yet go to the Location tab of the shiny type and scroll down to the spawn_location_entry table and change the spawn percentage of the shiny to 0, that way no information is lost, and the shiny will simply never load.


Image

Figure 10 | Spawn_location_entry table


To find the shiny you are working on you need it's spawn_location_id. The simplest way to find this is to target the shiny on the emulator server and use the command: '/spawn details'.

If Migrate Zone did not provide enough shinies to satisfy you (or if none existed), then you have to add them manually. Head back to Live and stand on top of a shiny and use /log (to get the location of the shiny). Then go back to the Emulator and use the following command to spawn a new shiny of a certain shiny type (in this example the Spawn ID of the shiny type is '123456'):

Code: Select all

/spawn 123456

Then target the new shiny and use this code to save the shiny to the database (replacing QueensColony with the name of the zone you are in):

Code: Select all

/spawn add new "QueensColony_?"

Now we just need to move it to the same location you just found on Live. This is done in Database Editor 1.5 by going to the Location tab for the shiny type and scoll down to the last table:


Image

Figure 11 | Spawn_location_placement table


Find the correct shiny in the table and plot in the x, y and z coordinates from the shiny on Live and click 'Update' (you may also want to plot in the respawn time in seconds - you can get this by timing the respawn time on Live).

On the emulator server use: '/reload spawns' and the spawn will now have moved to the new coordinates.

Simply repeat this process until you have enough shinies.


Image


To 'associate' or group the shinies you have to make each of them into 'solo' groups containing just one shiny each. This may sound like nonsense, but this is how the association command is set up, it can only associate 'groups', even if these groups only contain one group member each.

If there is just one shiny up at any given time in an area on Live its simple, you just have to associate all of them with each other. If there are more than one shiny up its a bit more complicated but we will cover that later.

On the emulator server target one of the shinies, use '/spawn details' (better macro it - you will be using it a lot) to get the spawn_location_id and type the following command:

Code: Select all

/spawn group create <Spawn group name>

I use the following naming convention for spawn groups: <Zone name><Spawn area number according to my own zone progression map>_<Group number>_<Spawn name><Spawn_location_id> so for a shinie in Thieve's Way with spawn_location_id '123456' in area 001 on my personal map I would use the following command: '/spawn group create TW001_01_?123456'.

Now this shiny is assigned to a group containing just that one shiny with the name you just gave it.

Target the next shiny and use '/spawn details' and hit <enter> followed by <arrow up> to get the command you just used back in chat, update the spawn_location_id and hit enter. You just created the next group.

When all groups have been created its time to associate them. Use '/spawn details' on one of the shinies and note down the Spawn group ID. Then in turn target each of the other shinies and use the following command on each (use the <enter><arrow up> trick in chat for a very smooth process), replacing <Spawn group ID> with the Spawn group ID of the initial shiny:

Code: Select all

/spawn group associate <Spawn group ID> 

After this is done simply '/reload spawns' and be amazed at result of all your hard work when all your many shinies disappear and only one shiny respawns! This part never gets old... Use '/reload spawns' a few times to see if shinies respawns in different parts of the area and everything seems ok.


If there are more then one shiny in an area you have to make as many different associated groups as there are shinies up at any given time in the area on Live. You handle it just as above, just remember to update the group number in the group name (e.g. TW001_01_?123456 for group 1 shinies, TW001_02_?123456 for group 2 shinies, etc.)

To ensure a good distribution of shinies throughout the area I try to keep track of an area while I set it up using a simple drawing that I update as I go.


Image

Figure 12 | Sketch for multiple shiny planning


The way I do it is that I will start in a corner of the area and see how the shinies are clustered within the area. Then I will pick one cluster of shinies and make a similar circle on my paper (indicating this cluster of shinies) with the group number and the number of shinies I plan to add to that group (e.g. 1 and 3 (3 being underlined so I can tell the difference between group number and number of shinies)). I will make solo groups of each of these shinies in the circle and associate them, followed by a '/reload spawns'. That way they disappear (only one spawn of each group will ever be up, the rest will not be loaded) so it its easy to see how far you got.

I also try to make sure that each group number is represented throughout the area.

I feel that using this technique I progress through an area in a structured way and usually get results quite similar to Live.


Image


When using Migrate Zone to add shinies to the Emu server you may notice that a lot of the shinies will share a common x or z coordinate. It would seem that SoE/DBG/DPG have used a grid system to setup shinies in an area. You may notice this in the next figure where some of the shinies form a line (not a straight line as some of the shinies were added manually with coordinates from Live) or even more clearly in the last figure with school of fish that uses a similar grid setup.


Image

Figure 13 | Shinies on a line


Image

Figure 14 | School of fish on a line


The ultimate way to set up shinies in an area seems to be to create shinies that matches this grid. It could relatively easily be done by plotting in x and z coordinates in a spread sheet and then calculate the missing shiny locations, and add them to the Emu server.

This is a rather great undertaking though, and might not be something worthwhile at this stage where we are trying to get zones up, so its mentioned here more as an information of how things are done on Live rather than an instruction on how we want the Emu to be set up.

If you are really bored and have a LOT of time on your hands - or have a favourite zone that just needs to be perfect, by all means have a go at it, but as I said your efforts may be better spent in other ways at this point.
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest