I has been a while, we’ve been quietly working while dealing with the day to day trials of real life. I figured it was time for an update that included more than just “we are still alive” so… here it is! In this post I’m going to walk you through the process I use to make a new zone. I’m going to include a lot of screenshots of the various tools Legends has helped create to streamline the process. All the tools are online, so I can access them where ever I have time to work!
Step #1: Create the core concept behind the zone.
Basically, what is the reason this zone exists? For our example today, I wanted to create an undead focused map for players level 60+ to grind XP. Undead because it ties into the reworked level 50 weapons (all of them are silver now), it’s generally helps favor melee classes, and honestly because I just wanted an undead map.
Step #2: Find sprites for monsters!
I look through the available monster sprites via our catalog to hopefully find working spites that are unused (or at least under used) in the game already. You can see a snippet of the webpage I use below, Sprites 3073, 3083, 3089, and 3092 are all sprites I decided to use for this map. You may notice a lot of sprites look like shadows or just the glowy bits, that’s because the game layers those over the core sprite. This is coded into the client, and can’t be changed. Not all the sprites work, so we use a custom GM command to spawn a test monster with a given sprite #, then play around with them to make sure they can move every direct, cast every direct, and attack every direction.
Step #3: Find an unused map!
This can be one of the more frustrating steps. I use our maps tool to look at all the maps in the game, typically sorting by their internal ID number. The higher number ones are newer, so I start there. I use GM commands in game to tele to each map and check them out. To vet a map requires several things. First, will it even load (some crash immediately). Second, does it feel functional? If you can tele off the map, walk through objects, if the mini map doesn’t work etc. Third, does the spawn table work? To test this I need to add spawns to the map. In cases where it doesn’t they won’t spawn randomly, won’t spawn at all, or spawn “off the map” in dead space. For our map today I chose map 5200. It’s sort of a cross between TOI and IT, you can see it and the map tool below.
Step 4: Make Monsters!
Making monsters is quite easy. I use the save button in the picture below to create a “clone” of an existing monster. This copies all the existing stats of a monster into a new DB entry, giving it a new unique ID. It doesn’t really matter what I start with, but once I make the first monster for a zone I tend to reclone that monster so their stats start similar. In the pictures below you can see the core monster tool page, the “cloned” frog, and then the final product for our “Soulless Lich”. A couple things to note, there are more monster stats than the picture shows, I just didn’t want to try to fit them all in one copy. Also, you may notice the ID’s don’t match, because I cloned the frog for this post after finishing the monsters. On the monster tool page, you may notice tabs indicating tiers of monsters, every monster has a field in the DB where we can set it’s tier for organizational purposes. It makes comparing similar power level bosses much easier. It’s important to note that this step gets revisited a lot, to adjust monster stats. Str, Int, XP, HP, etc all get tweaked a lot throughout the process. Once we reach the end, I’ll hunt the zone and come back and tweak these things about a million times. I do a lot of zone to zone comparisons as well to calculate XP vs HP of monsters vs quality of loot vs ease of hunting vs density of monsters etc. There are a ton of factors to consider and I am certain whenever we go to a beta there will be a ton more tweaks, since I absolutely won’t get everything perfect the first time.
Step 5: Add spawns to the map!
This step is one of the easiest. Going back to the map tool, I select the map and open it’s spawn page (shown below, albeit finished), then select Add spawn. That opens the second page shown below, where I enter the monster I want (it autocompletes based off existing DB monster entries thank god), then choose how it spawns. If I select “Grid”, it will fill in the max X/Y coordinates and spawn randomly across the whole map. Otherwise I need to give it a preselected X/Y and a spawn “Range” for how many cells away from that point it can spawn. Lastly I put in how many I want to spawn. If it works, I try to stick to Grid spawn because it’s much easier, however if I need “areas” of the same map to have different monsters (like new TI) I have to use coordinate spawns with ranges. I gather that data in game using the .loc gm command around places I want certain things to spawn.
Step 6: Monsters need drops!
What good is a monster without drops?! Using the monster tool, I can edit an individual monster’s drop list by clicking the number under the “Drops” column (shown above a few steps). I can add an item individually or open a page that allows me to add them in bulk. The page below shows the item name, the min/max the monster can drop, the chance to drop it, how many other monsters drop that item (Count), and a breakdown that estimates how many minutes of killing a monster it would take to get the item. That last number is mostly there to make sure we don’t make any glaring decimal point errors, it isn’t really used to balance anything since it doesn’t take anything but HP of a monster into account. Our Soulless Lich’ drop list is a work in progress in the picture. He doesn’t drop adena because at this time that zone won’t drop adena. I’ve included another drop list for a special monster, one of our elite dragons, as well… (Disclaimer: also work in progress!)
Step 8: Make a teleport scroll for the new zone!
This one is so simple I’m not including a picture. I create an item similar to how I created the monster, by cloning an existing tele scroll. I change the name, change the x/y/mapid it teles you to, and add it to a shop using a tool similar to how I added drops to a monster.
Step 7: Wait!
We don’t have our skill tool working yet, which would be the final step towards finishing this zone. Once it works, it will be very similar to the drop tool, where we will be able to edit and add a skill to a monster and enter things like power, mana cost, cast frequency, etc. We will also be able to create skills similar to how we create monsters now. In the mean time here is a picture of the zone we created with monsters in it! I hope you enjoyed reading about this part of the creative process. I enjoy working on this part of the project the most, and I’m excited to share all the content we are creating with you guys some day. Hopefully we can get over our current major hurdle soon, once we do I’m confident we will be able to knock over a lot of subsequent dominoes very quickly. The skill overhaul is just a massive undertaking, touching so many parts of the code, that it’s taking a lot longer than expected. Because of how huge it is, it’s an easy task to burn yourself out on, so taking mental health time is important.