How events are made by GMs
Posted: Tue Oct 24, 2017 4:02 pm
by MadMikael
This post is for anyone curious, with a special dedication to those impatient ones who think I'm incompetent and they can do better.
Risks, textures, entities, spawn commands.
These are what I want to describe a little.
Risks, textures, entities, spawn commands.
These are what I want to describe a little.
- Risks: Show
- Mistakes, if made, can often only be undone with a restart. This wipes everything out on that map (or every map, if server restart), and I have to start all over.
Any single typo can cause a map to crash, and everyone on it will not be able to play until an admin or compbatant fixes it. If a map is only partially crashed, a Senior GM may be able to restart the map.
If I place an invalid texture, it can crash the map. In some cases it is possible to remove the texture without restart -- but not always. In some cases, it requires a server restart to fix.
If I place an entity, it cannot be removed without a restart. If I place one that is not safeguarded, it can crash the map (maybe, the whole game).
If I make a spawn command set on repeat, it can only be undone with a restart, wiping the whole map out.
For some of these things, it may be possible for compbatant to remove without a restart, but as you know he's busy with other things (coding is not easy, especially when a game gets so large), and its far quicker to just restart 100% of the time.
- Textures: Show
- Textures are simply graphics in most cases. They can have certain properties, like solid or not, or special properties - like water is fish-able, stone is mine-able.
On their own though, they don't do anything special. If I place a chest, it's just a chest graphic. If I place a teleporter pad, it's just a teleporter pad graphic. They don't actually do anything until you attach an entity to them. All added textures will disappear when the map or server restarts.
- Entities: Show
- These are the magic added. These are what make a teleporter pad take you somewhere, a sign say something, or a chest have an item. These are advanced coded mechanics that can be used to make things more interesting. Sadly, at this time, if an entity is placed, there is no way to remove it, except restarting the map/server, which removes everything added on that map (or every map in server restarts).
- Creating stuff with textures and entities: Show
- To add textures, I have two methods available. There's a simple gui interface that allows me to place as I wish (it's not perfect, but it's nice to have). Also a command line to place textures in (almost) exact positions, but I need to know the file # and position in the file. These are viewable in the map editor - like file 4 is bridges. The gui has a remove option, that isn't always easy to use, but it's basically point and click. There is also a manual command for removal, but this requires the same file # and file pos, as well as the pos of the texture you wish to remove.
The thing is - the placement of textures is kinda quirky. Whether you specify a position, or click to place, the game engine will place it in the nearest allowed space. Things can move a few spaces away (think of how /pos works). Also, textures are set by their bottom left corner. This makes simple things like building a straight wall difficult - and even more so if you wish to make the wall turn. Removing textures is even tougher - as part of the texture may actually be transparent - like a round teleporter pad or a vertical wall (textures are squares; a vertical wall is actually just as wide as a horizontal one).
So, after I place a texture, if I intend to attach an entity, I should walk up to the texture as close as possible, use /pos, and figure out the /pos of the placed texture. If I'm making a teleporter (doors included), I should scout the destination for an exact position as well - which means I have to remember two positions. Entities also fall into the same quirkiness of textures; sometimes, they don't go exactly where you tell them to. This is why some portals may only work on the left side, or the right. I may be able to adjust this after some testing, as there are larger teleport entities available than the one I use currently.
- Frustrations: Show
- Time spent is the most key thing here; I'll give an example below. Add to that players who complain, and you really don't feel so great after.
Placing textures is annoying. Sometimes, they don't go where you want, so you have to remove (which can take several efforts), then place again (which may again go wrong). If a player walks in the way, I cannot remove the texture. If I place a teleporter or chest graphic when players are around, several will in fact swarm it right away. If I intended on removing something, I have to wait for them to move. If I wanted to add an entity, I need to get close, and they're in the way. Yes, I can move them, yes I can chat - but this is all extra time spent that really adds up.
Questions - I'm happy to answer questions, most of the time. But, it gets a little frustrating having to stop and answer the same question every five minutes when another player approaches. To that end, I make posts explaining on the forum, and tell them to read it - whether they like my answer or not, the information is available if they simply look. Sadly, many players are lazy in this, and would rather spend 5 minutes chewing me out about not explaining complex issues that they don't understand - in four lines of chat - rather than spending 2 minutes coming to the forum. Oh, did I mention, that stopping to explain makes the event creation take longer, thereby making everyone wait for this "special" player?
- Spawning: Show
- I'm quite excited to have the advanced spawning power. Now, I can set stats, drops, positions, and set up spawns to repeat (love that new feature). However, it's not as simple as many think. I have to enter a command, with ID of the mob, and various flags to set up what I want.
If I use an invalid mob ID, or make certain typos - crashed map, start over (sometimes, I lose my GM account for hours from this). The list I have lists all - but some are not actually mobs, just skins. Like the fairy, has 2 IDs.
Now to those who want me to spawn something with 1000000000000 whatever hp or xp with adjusted stats, drops, all the bells and whistles - you really need to think. The chat input is exactly 60 characters long. I cannot fully customize a mob the way you wish. If I set stats really high, I have less room to add stuff like repeating+duration, drops+chance, etc. So I have to compromise. If I had a FULL monster manual (all stats, including IDs and xp, and it's all CORRECT), I could make better judgement here, using mobs with natural stats I don't have to adjust. But I make no secret of the fact that I don't play much, and the highest quest I've actually done is probably house of houses. Anything more powerful than that, I'm clueless on. I've crashed maps 3 times in the last few weeks trying to spawn some mob that some player requested, and I guessed the wrong ID.
Also, before adding any mob, I have to research it. I need to know its stats. I need to know its drops. There is no comprehensive guide or manual; I can find some of the info by cross checking 3 files from the editor; but for IDs I have to guess from the list I have. Spawn a dragon sound easy? There's more than one dragon, and some could crash maps if spawned.
One simple spawn command actually takes a lot of time to prepare correctly.
- Example, from today: Show
- I got up at 0300, to be ready for server restart at 0413 (1013 FT time is 0413 where I live). I finished setting up the event at 0800ish (which is 1400 FT time). 4 hours worth of work.
I spent much time on looking at the spawn list from yesterday, and trying to adjust it for today. This required me going back and forth through the various files, looking for IDs, then testing them on the test map, as I don't want to crash a player map. The main problem is one that players can all agree on - we don't have a monster manual up to date (including all stats/drops, and xp), and we don't have an items manual up to date. Items I can find relatively easy - takes a little time, but not too much. But before I consider adding a drop, I need to test the drop first. Don't want to give someone 2k gear when they're supposed to get a 1k hp potion.
Also, I changed some of the times, and various other tweaks, as I noted above in the spawning section. I had to compromise here and there. My goal is to make a fair event for all players from lowest level to highest. The lowest level possible is 0 - although I think the difficulty would be a little too much for them.
The highest level is over 10000. If you think this is easy, its about as easy for a level 100 to beat up that level 10000 in PvP.
That's all just paperwork and testing - haven't even done anything yet.
I went to the Coliseum, and started adding textures. Walls, to keep people out until its open, and to separate the challenge areas. I made exits a priority,
as players would occasionally log on, and I made it so they could get out if they wanted. Typically, I'd move them out as soon as they logged on, especially if another GM was working with me. Today, I was alone, and I knew I had hours of work ahead, so I chose to ignore them for the most part. The exceptions were, if they got in my way, or if I started to spawn. Stopping to chat makes the long setup take longer. And to maintain fairness, no one is allowed to kill spawn until the spawn is fully setup. As I said, I mostly ignored, I did not reply to any chat. Without warning, I'd move a player out. If they're angry about it, I really don't care, those are my reasons. This event was made for all, I was busy, and stopping to greet every player, and answer their multiple questions, would only make the event setup take longer, at the expense of every single player in the game hoping to attend. Sorry, I don't play favourites; I was on a mission, and I was not to be swayed.
I decided it best to set a reasonable spawn, and potentially add a little here and there as the day goes on. Maybe I will, maybe I won't. We'll see.