Forums » General

Deliverator Update (gathering in empty sectors)

Apr 08, 2006 momerath42 link
Greetings,

With the Hive back in production, I've been seeing some issues. There are safe-guards in place that should prevent the total server crash that I disabled it to prevent, but the underlying issue was still there, and couldn't be easily investigated without the real load of *TENS* of people! ;)

This update addresses a slowdown I saw this morning which seemed to have been caused by a number of HiveHunt missions starting in close succession. Any time large numbers of bots are in one sector, things go wrong. We hope to make our system more scalable, so that we can someday have many hundreds of bots flitting around in a busy station sector, but for now it's best to just avoid it.

What I've done, is to make all Deliverator missions (Escort/Liberation/Guard/HiveHunt) inform you of a rendevous location (an empty sector in the system) one minute before it starts (suggestions welcome on what this value should be, but short is good for technical reasons). The mission bots warp in from nowhere (for now) and meet you there. As an added benefit, this gives you a better chance of boarding the Trident before it starts moving.

There's lots more work to do to make just these four missions as fun and reliable as they should be. I never dreamed it would take this long, or that there were so many little details and corner-cases to worry about. It's the nature of programming; you discover the problem as you solve it, and you'd never attempt most problems if you really knew what they were ahead of time.

Bug reports with "/mission bug description" wherever possible. Observations, suggestions, or questions are welcome in this thread.
Apr 08, 2006 roguelazer link
If you hit a storm en route to the empty sector, you're pretty much screwed...
Apr 08, 2006 momerath42 link
Yea- I'm planning on doing something to avoid sectors with storms along the way eventually, but for now, the npcs don't have a problem since they're not actually warping from the station, and players know how to avoid them.

Also, I should point out that this whole thing was done this morning on a whim. I haven't discussed it with the other guys, and they may see something fundamentally wrong with it that I haven't.
Apr 08, 2006 roguelazer link
Ayuh, but if you take a mission from the lower-right corner and the empty sector is in the upper-left and you need to avoid storms, it sometimes takes more than a minute to cross the system.
Apr 08, 2006 momerath42 link
Mmmm, good point. Can you make a guess as to the minimum time that would always be long enough to plot a course around the asteroid sectors?
Apr 08, 2006 roguelazer link
I say that you include the rendezvous point in the mission description, then give people 2.5 minutes. That will also give them enough time to get comfy inside the Trident.

Also, it would be very cool if there was some sort of way to ask the Escort mission to tell you who you were escorting. I get confused when convoys cross paths. If I could type "/mission list" to see who I'm escorting (at least until autogrouping works), that'd be 1337.
Apr 08, 2006 momerath42 link
If the rendezvous point is in the mission description, it has to have been decided at the point of mission posting. If we did this, we might not run out of empty sectors to reserve for this purpose right now, but we certainly would before we had as many missions as we'd like. If you overlap, you run the risk of two or more mission-groups arriving in the same empty sector together and you then have most of the problems I was trying to avoid, and maybe some new ones. Putting rendezvous sectors in provisionally and changing them in case of conflicts is a whole other ball of wax, and it doesn't seem worth untangling it.

I could make it 2.5 minutes from the time the first player takes the mission, but I'm afraid of all the odd cases that could occur in that pre-mission period. To handle it properly, every mission would have to have a whole stage devoted to handling the pre-mission time (being attacked by enemies/friends, accidental collisions, and several others too complex to explain briefly), Even at one minute, it's longer than I'd like. I can have missions with the Trident (and other large ships) give an extra period of time to dock, but it would be once the mission has officially started, and it would mean extra time for the pirates to wait (since their mission starts at the same time, as will connected trade/support missions in the future). Actually, I coded something in that should have done this yesterday; it's just not always working right now.

Anyway, thanks for the responses- I hope you have some more ideas :)

Edit: Oh, and the list command to the mission computer would be easy. I didn't think it would really be helpful just to get a list of names, or I'd have already done it. It actually now does tell you the name(s) of the traders as they warp if/when there are only one or two. I'll add the list command, though; in fact I'll put in some more info and make it the default response to anything sent to the mission computer that it doesn't understand.