What I cannot fathom is them asking players to tell them what missions are missing, where they should be and where exactly is the mission bugged.
Is there no list somewhere?
And I guess there's no way for them to be on the server as a dev and see every doff mission in-game?
It's not that simple.
There is a list in the server-side game resources, of course. That list consists of every mission that can potentially spawn in the game, and it is that list from which the game draws in order to choose which assignments are spawning where.
Whether these assignments exist or not in the game is not the question here--we obviously know they still exist, because some people are finding them. The question is, why are they not appearing for most people?
Here's how this works, at a very high level. Some of the mechanics are informed conjecture, but I believe this is accurate enough to understand.
The game used to be divided into sector blocks, right? In order to get a new set of assignments, you had to travel to a new sector block. There was a procedure in the code that was triggered at some point during the zone change process (most likely during loading of the new zone) which queried the list of assignments and selected a random sampling of them.
Those zone changes don't exist in the game anymore--or rather, they don't exist when moving between sector blocks within the same quadrant. So the old code that used to update the assignments? It can't work exactly the same way as before. They had to change it so that the list updated dynamically as the player moved around, when crossing a sector block border. That means adding a hook to detect when this happens and trigger the appropriate code.
However, there seems to be a defect in the way this change was implemented. The check that results in the assignment list repopulating does still successfully repopulate the list when you change sector blocks--that is, when you move from a sector that was part of one of the old blocks to a sector that used to be part of a different block.
The problem is that the assignment list is not consistently updating correctly if a player crosses the boundary between two sectors from the SAME "legacy" sector block--likely because crossing an intra-block sector boundary never updated the assignments before, so it's completely new functionality.
There are probably more complexities to the issue, and I'm intentionally glossing over a lot of them for the sake of understandability.
Unfortunately, simply knowing that this is so--or at least suspecting it--isn't necessarily enough to fix it. There are many different paths the code might have to go through in order to get to where the issue is occurring, and any one of those paths might be contributing in some way to the error. It may take time to chase down the bug.
Fleet Admiral L'Yern - Screenshot and doffing addict
Eclipse Class Intel Cruiser U.S.S. Dioscuria NX-91121-A - Interactive Crew Roster
There is a list in the server-side game resources, of course. That list consists of every mission that can potentially spawn in the game, and it is that list from which the game draws in order to choose which assignments are spawning where.
Whether these assignments exist or not in the game is not the question here--we obviously know they still exist, because some people are finding them. The question is, why are they not appearing for most people?
Here's how this works, at a very high level. Some of the mechanics are informed conjecture, but I believe this is accurate enough to understand.
The game used to be divided into sector blocks, right? In order to get a new set of assignments, you had to travel to a new sector block. There was a procedure in the code that was triggered at some point during the zone change process (most likely during loading of the new zone) which queried the list of assignments and selected a random sampling of them.
Those zone changes don't exist in the game anymore--or rather, they don't exist when moving between sector blocks within the same quadrant. So the old code that used to update the assignments? It can't work exactly the same way as before. They had to change it so that the list updated dynamically as the player moved around, when crossing a sector block border. That means adding a hook to detect when this happens and trigger the appropriate code.
However, there seems to be a defect in the way this change was implemented. The check that results in the assignment list repopulating does still successfully repopulate the list when you change sector blocks--that is, when you move from a sector that was part of one of the old blocks to a sector that used to be part of a different block.
The problem is that the assignment list is not consistently updating correctly if a player crosses the boundary between two sectors from the SAME "legacy" sector block--likely because crossing an intra-block sector boundary never updated the assignments before, so it's completely new functionality.
There are probably more complexities to the issue, and I'm intentionally glossing over a lot of them for the sake of understandability.
Unfortunately, simply knowing that this is so--or at least suspecting it--isn't necessarily enough to fix it. There are many different paths the code might have to go through in order to get to where the issue is occurring, and any one of those paths might be contributing in some way to the error. It may take time to chase down the bug.
If you are talking about the thread below, then you are misunderstanding something.
That thread was started by Borticus long before the recent bugs caused by the sector space revamp. The assignments identified by players in that thread were lost because of the removal of the cluster maps. The lost assignments could have been found by searching their database.
This is a great example of how player reports sometimes fail. This is the first time anyone has managed to give me the exact name of the faulty assignment. I'd heard "Ghosts of Jem'Hadar can't be completed" but it's no help without knowing the exact fail point. There's just too much data to sift through.
The above comment by Borticus leads me to suspect that at least one of the following is true:
(a) Cryptic has no database administrators on staff to assist with such queries.
(b) The doff assignments are not stored in a database.
(c) The doff assignments are stored in flat files, and Borticus doesn't know how to use grep. Usually only programmers and IT staff know about grep, but it comes in handy when you need to search a large number of text files for specific information.
If you are talking about the thread below, then you are misunderstanding something.
I'm not talking about Bort's original post, although what I mentioned is related to the -current- information posted there in the past few days. Don't make the mistake of getting hung up on how the thread started; what is of value is the information describing things as they actually are now.
The above comment by Borticus leads me to suspect that at least one of the following is true:
(a) Cryptic has no database administrators on staff to assist with such queries.
(b) The doff assignments are not stored in a database.
(c) The doff assignments are stored in flat files, and Borticus doesn't know how to use grep. Usually only programmers and IT staff know about grep, but it comes in handy when you need to search a large number of text files for specific information.
Whereas limiting the possibilities to these three as you have done here suggests to me that you may not clearly understand the complexities of troubleshooting an issue like this, or for that matter in constructing a database query. It is also possible that you do have experience with these things and are simply not being fair here.
Consider another comment by Bort in that thread:
I won't be able to help if I can't find the assignments, and knowing their names is the most straight-forward option. There's no efficient way for me to search every Assignment in our database for the one you're referring to, based on nothing more than a vague reward.
Now consider his later comment after fixing the issue:
The following assignments previously available only in Star Clusters have been moved to the adjacent Sector Blocks:
-snip-
(This should fix most of the issues described in this thread, as they were being caused by map requirements that could no longer be met.)
Emphasis mine in both. Now I will do my best to explain.
The assignments were not appearing for players because they were flagged to appear on specific maps, and when the exploration clusters were removed, players could no longer be present in the only location where they could spawn.
It wasn't that the assignments didn't exist, or that they couldn't be found in the database. It wasn't even that the game wasn't checking them. It's that it was no longer possible for the requirements of their appearance to be met, and it was impossible in a way that would not produce an error. After all, from the perspective of that code path, all that's happened is that a player is not currently in the correct location to spawn that assignment. The game has no way of procedurally distinguishing that result from the result of any other assignment not appearing because the player isn't currently in the correct location--it is a legitimate outcome.
I deal with SQL queries and data visualization every day at work. Without knowing the specific assignments that are not appearing to use as a starting point, what kind of broad query would show you what was broken, given what we now know about the cause?
The most useful thing I can think of to try would be to take the metrics collected on doff assignment completion, aggregate at the individual assignment ID level, and query the MAX of the timestamp column. This would return the most recent date on which any given assignment was completed by a player, and assignments that literally cannot be completed or never appear should show up as clear outliers.
If you visualize the COUNTD of completions per assignment across the time dimension, you should also see a very clear dropoff for certain assignments at a given point in time, and the timestamp of the cliff for that dropoff would give you a place to start looking for changes
Now, with all of that said, here's what you wrote that I replied to:
What I cannot fathom is them asking players to tell them what missions are missing, where they should be and where exactly is the mission bugged.
Is there no list somewhere?
And I guess there's no way for them to be on the server as a dev and see every doff mission in-game?
To answer your semi-rhetorical questions: of course there's a list somewhere. Of course they can see every doff mission that exists in the database.
Without the further information provided in that thread, that simply isn't enough to identify which assignments aren't appearing for players or why--when as far as the game is concerned, the assignments are appearing whenever it is legitimate for them to do so based on its appearance criteria.
Fleet Admiral L'Yern - Screenshot and doffing addict
Eclipse Class Intel Cruiser U.S.S. Dioscuria NX-91121-A - Interactive Crew Roster
I'm not talking about Bort's original post, although what I mentioned is related to the -current- information posted there in the past few days. Don't make the mistake of getting hung up on how the thread started; what is of value is the information describing things as they actually are now.
I agree that the recent problems with the doff UI not updating correctly require a programmer to fix. However, many of the bugs were reported on Tribble more than a month before Season 10 was released. See the thread below.
Whereas limiting the possibilities to these three as you have done here suggests to me that you may not clearly understand the complexities of troubleshooting an issue like this, or for that matter in constructing a database query. It is also possible that you do have experience with these things and are simply not being fair here.
Not a database administrator, merely a programmer who has written his fair share of SQL queries.
The assignments were not appearing for players because they were flagged to appear on specific maps, and when the exploration clusters were removed, players could no longer be present in the only location where they could spawn.
It wasn't that the assignments didn't exist, or that they couldn't be found in the database. It wasn't even that the game wasn't checking them. It's that it was no longer possible for the requirements of their appearance to be met, and it was impossible in a way that would not produce an error. After all, from the perspective of that code path, all that's happened is that a player is not currently in the correct location to spawn that assignment. The game has no way of procedurally distinguishing that result from the result of any other assignment not appearing because the player isn't currently in the correct location--it is a legitimate outcome.
I deal with SQL queries and data visualization every day at work. Without knowing the specific assignments that are not appearing to use as a starting point, what kind of broad query would show you what was broken, given what we now know about the cause?
I'm assuming that whatever table the assignments are stored in has one or more columns that contain the IDs of the maps in which the assignments are supposed to appear. I would have looked for the IDs of the cluster maps that were removed. I would have further restricted the query to non-colonial assignments, because I knew that the missing assignments were non-colonial assignments that used to appear in exploration clusters. Maybe, that particular fact was not known to Borticus at that time, but it was known to me. I knew for three reasons:
1. My own observations that only colonial assignments showed up in the new clusters.
2. Reports by other players on the forums of the same. This issue may have been reported on Tribble before the cluster maps were removed. I don't recall exactly anymore.
3. The following post by jheinig, which indicated to me that they made a mistake.
The most useful thing I can think of to try would be to take the metrics collected on doff assignment completion, aggregate at the individual assignment ID level, and query the MAX of the timestamp column. This would return the most recent date on which any given assignment was completed by a player, and assignments that literally cannot be completed or never appear should show up as clear outliers.
If you visualize the COUNTD of completions per assignment across the time dimension, you should also see a very clear dropoff for certain assignments at a given point in time, and the timestamp of the cliff for that dropoff would give you a place to start looking for changes
I wouldn't have done anything so complicated. I would have constructed a simpler query based on the information I mentioned above. Maybe, Borticus wasn't aware of that information, but it was mentioned before on the forums. The players knew about it without access to their internal database.
EDIT: Here are some more posts mentioning that only colonial assignments show up in the new clusters. These posts were made in summer 2014, shortly after the cluster maps were removed.
For those that don't know there is a brainless way to do doffing. Simply pull dont the checkbox that says something like missions I have resources for. Then just click, click, click. 20 X 8 160 missions a day in about 30 minutes across 8 toons.
When klink be sure not to do the execute for incompetence or permit warrior to perform hari kari doff missions unless you don't mind a doff dying.
I deal with SQL queries and data visualization every day at work. Without knowing the specific assignments that are not appearing to use as a starting point, what kind of broad query would show you what was broken, given what we now know about the cause?
Without having access to the data (say, a list of assignment names and eventually locations where they are supposed to be), asking players to tell what is missing based solely on memory yields the "uhhh... that thing that rewarded the X officer, i believe it was somewhere around Y" answers.
I suppose there is a table like "doff_assignments" containing an ID, a name, and a whole bunch of stuff/references that is needed to identify requirements and rewards.
Also, there should be somewhere a table like "doff_locations" which contains, for each row, a sector block ID, an assignment ID, and its status (active/inactive/disabled). The game engine, when a player enters a new sector block with a ID, queries the database and pulls a list of active assignments where sector_block_ID = current_block_ID and status = active. Then it performs some other checks per assignment (is it on timer for the current player? did the player fulfill prerequisites?) and shows the final list.
I'm making all of this up (obviously it isn't as simple), but the point is that dumping a list of assignments, and having someone check all the locations while giving him a "refresh now" trigger at will on an internal server shouldn't take that much, and it isn't definitely impossible. If for some reason it is, then it is bad design.
1) Go to new sector X
2) Check the assignment list. Mark the assignments that have shown as "OK".
3) If every assignment showed up as expected, goto 1
4) If not, hit "refresh now" button and goto 2.
If you are stuck in the above loop and can't get back to point 1 after a reasonable number of tries, then you've pinpointed an error.
Now, there are some "conditional" assignments (namely those that are part of an assignment chain or depend if you completed a chain or some other task), but as players can in most cases see names and description of those (also they are more widely known and covered by wikis), it's far easier to tell if they work or not, based on player feedback.
I also suppose there are metrics, and Cryptic should have the tools to track which assignments are not being done (there *are* assignment logs we can access from the DOFF ui, so that data is definitely saved somewhere), or being done so rarely there must be something broken about them (or they are so terrible they need to be tweaked).
Comments
There is a list in the server-side game resources, of course. That list consists of every mission that can potentially spawn in the game, and it is that list from which the game draws in order to choose which assignments are spawning where.
Whether these assignments exist or not in the game is not the question here--we obviously know they still exist, because some people are finding them. The question is, why are they not appearing for most people?
Here's how this works, at a very high level. Some of the mechanics are informed conjecture, but I believe this is accurate enough to understand.
The game used to be divided into sector blocks, right? In order to get a new set of assignments, you had to travel to a new sector block. There was a procedure in the code that was triggered at some point during the zone change process (most likely during loading of the new zone) which queried the list of assignments and selected a random sampling of them.
Those zone changes don't exist in the game anymore--or rather, they don't exist when moving between sector blocks within the same quadrant. So the old code that used to update the assignments? It can't work exactly the same way as before. They had to change it so that the list updated dynamically as the player moved around, when crossing a sector block border. That means adding a hook to detect when this happens and trigger the appropriate code.
However, there seems to be a defect in the way this change was implemented. The check that results in the assignment list repopulating does still successfully repopulate the list when you change sector blocks--that is, when you move from a sector that was part of one of the old blocks to a sector that used to be part of a different block.
The problem is that the assignment list is not consistently updating correctly if a player crosses the boundary between two sectors from the SAME "legacy" sector block--likely because crossing an intra-block sector boundary never updated the assignments before, so it's completely new functionality.
There are probably more complexities to the issue, and I'm intentionally glossing over a lot of them for the sake of understandability.
Unfortunately, simply knowing that this is so--or at least suspecting it--isn't necessarily enough to fix it. There are many different paths the code might have to go through in order to get to where the issue is occurring, and any one of those paths might be contributing in some way to the error. It may take time to chase down the bug.
Eclipse Class Intel Cruiser U.S.S. Dioscuria NX-91121-A - Interactive Crew Roster
If you are talking about the thread below, then you are misunderstanding something.
Assignments Reportedly Missing
That thread was started by Borticus long before the recent bugs caused by the sector space revamp. The assignments identified by players in that thread were lost because of the removal of the cluster maps. The lost assignments could have been found by searching their database.
The above comment by Borticus leads me to suspect that at least one of the following is true:
(a) Cryptic has no database administrators on staff to assist with such queries.
(b) The doff assignments are not stored in a database.
(c) The doff assignments are stored in flat files, and Borticus doesn't know how to use grep. Usually only programmers and IT staff know about grep, but it comes in handy when you need to search a large number of text files for specific information.
Whereas limiting the possibilities to these three as you have done here suggests to me that you may not clearly understand the complexities of troubleshooting an issue like this, or for that matter in constructing a database query. It is also possible that you do have experience with these things and are simply not being fair here.
Consider another comment by Bort in that thread: Now consider his later comment after fixing the issue: Emphasis mine in both. Now I will do my best to explain.
The assignments were not appearing for players because they were flagged to appear on specific maps, and when the exploration clusters were removed, players could no longer be present in the only location where they could spawn.
It wasn't that the assignments didn't exist, or that they couldn't be found in the database. It wasn't even that the game wasn't checking them. It's that it was no longer possible for the requirements of their appearance to be met, and it was impossible in a way that would not produce an error. After all, from the perspective of that code path, all that's happened is that a player is not currently in the correct location to spawn that assignment. The game has no way of procedurally distinguishing that result from the result of any other assignment not appearing because the player isn't currently in the correct location--it is a legitimate outcome.
I deal with SQL queries and data visualization every day at work. Without knowing the specific assignments that are not appearing to use as a starting point, what kind of broad query would show you what was broken, given what we now know about the cause?
The most useful thing I can think of to try would be to take the metrics collected on doff assignment completion, aggregate at the individual assignment ID level, and query the MAX of the timestamp column. This would return the most recent date on which any given assignment was completed by a player, and assignments that literally cannot be completed or never appear should show up as clear outliers.
If you visualize the COUNTD of completions per assignment across the time dimension, you should also see a very clear dropoff for certain assignments at a given point in time, and the timestamp of the cliff for that dropoff would give you a place to start looking for changes
Now, with all of that said, here's what you wrote that I replied to: To answer your semi-rhetorical questions: of course there's a list somewhere. Of course they can see every doff mission that exists in the database.
Without the further information provided in that thread, that simply isn't enough to identify which assignments aren't appearing for players or why--when as far as the game is concerned, the assignments are appearing whenever it is legitimate for them to do so based on its appearance criteria.
Eclipse Class Intel Cruiser U.S.S. Dioscuria NX-91121-A - Interactive Crew Roster
I agree that the recent problems with the doff UI not updating correctly require a programmer to fix. However, many of the bugs were reported on Tribble more than a month before Season 10 was released. See the thread below.
List of duty officer assignments not updating correctly in sector space
I reported all but one of those bugs on Tribble in March.
Not a database administrator, merely a programmer who has written his fair share of SQL queries.
I'm assuming that whatever table the assignments are stored in has one or more columns that contain the IDs of the maps in which the assignments are supposed to appear. I would have looked for the IDs of the cluster maps that were removed. I would have further restricted the query to non-colonial assignments, because I knew that the missing assignments were non-colonial assignments that used to appear in exploration clusters. Maybe, that particular fact was not known to Borticus at that time, but it was known to me. I knew for three reasons:
1. My own observations that only colonial assignments showed up in the new clusters.
2. Reports by other players on the forums of the same. This issue may have been reported on Tribble before the cluster maps were removed. I don't recall exactly anymore.
3. The following post by jheinig, which indicated to me that they made a mistake.
http://sto-forum.perfectworld.com/showthread.php?p=18054221#post18054221
Note that the missing marauding assignments were mentioned by name in that thread.
http://sto-forum.perfectworld.com/showpost.php?p=18067041&postcount=15
I wouldn't have done anything so complicated. I would have constructed a simpler query based on the information I mentioned above. Maybe, Borticus wasn't aware of that information, but it was mentioned before on the forums. The players knew about it without access to their internal database.
EDIT: Here are some more posts mentioning that only colonial assignments show up in the new clusters. These posts were made in summer 2014, shortly after the cluster maps were removed.
http://sto-forum.perfectworld.com/showpost.php?p=18130151&postcount=1
http://sto-forum.perfectworld.com/showpost.php?p=18188561&postcount=10
http://sto-forum.perfectworld.com/showpost.php?p=18291861&postcount=1
http://sto-forum.perfectworld.com/showpost.php?p=18292581&postcount=2
http://sto-forum.perfectworld.com/showpost.php?p=18790981&postcount=71
Here's another thread from July 2014 mentioning the missing marauding assignments by name:
http://sto-forum.perfectworld.com/showthread.php?t=1171581
Here's a post from July 2014 mentioning "Investigate Unmanned Jem'Hadar Warship" by name:
http://sto-forum.perfectworld.com/showpost.php?p=18177081&postcount=4
Here's a thread from September 2014 mentioning "Infiltrate Deep Space Ketracel-White Production Facility" by name:
http://sto-forum.perfectworld.com/showthread.php?t=1221991
When klink be sure not to do the execute for incompetence or permit warrior to perform hari kari doff missions unless you don't mind a doff dying.
The filter option makes it completely mindless.
You can buy three assignments slots from the fleet embassy. See the link below.
http://sto.gamepedia.com/Embassy#Tier_requirements_and_rewards
Without having access to the data (say, a list of assignment names and eventually locations where they are supposed to be), asking players to tell what is missing based solely on memory yields the "uhhh... that thing that rewarded the X officer, i believe it was somewhere around Y" answers.
I suppose there is a table like "doff_assignments" containing an ID, a name, and a whole bunch of stuff/references that is needed to identify requirements and rewards.
Also, there should be somewhere a table like "doff_locations" which contains, for each row, a sector block ID, an assignment ID, and its status (active/inactive/disabled). The game engine, when a player enters a new sector block with a ID, queries the database and pulls a list of active assignments where sector_block_ID = current_block_ID and status = active. Then it performs some other checks per assignment (is it on timer for the current player? did the player fulfill prerequisites?) and shows the final list.
I'm making all of this up (obviously it isn't as simple), but the point is that dumping a list of assignments, and having someone check all the locations while giving him a "refresh now" trigger at will on an internal server shouldn't take that much, and it isn't definitely impossible. If for some reason it is, then it is bad design.
1) Go to new sector X
2) Check the assignment list. Mark the assignments that have shown as "OK".
3) If every assignment showed up as expected, goto 1
4) If not, hit "refresh now" button and goto 2.
If you are stuck in the above loop and can't get back to point 1 after a reasonable number of tries, then you've pinpointed an error.
Now, there are some "conditional" assignments (namely those that are part of an assignment chain or depend if you completed a chain or some other task), but as players can in most cases see names and description of those (also they are more widely known and covered by wikis), it's far easier to tell if they work or not, based on player feedback.
I also suppose there are metrics, and Cryptic should have the tools to track which assignments are not being done (there *are* assignment logs we can access from the DOFF ui, so that data is definitely saved somewhere), or being done so rarely there must be something broken about them (or they are so terrible they need to be tweaked).