{"id":102,"date":"2018-06-14T10:49:07","date_gmt":"2018-06-14T10:49:07","guid":{"rendered":"https:\/\/blogs.scummvm.org\/drenn1\/?p=102"},"modified":"2022-05-24T10:52:32","modified_gmt":"2022-05-24T10:52:32","slug":"gsoc-week-4-dammit-jim-im-a-doctor-not-a-qa-tester","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/drenn1\/2018\/06\/14\/gsoc-week-4-dammit-jim-im-a-doctor-not-a-qa-tester\/","title":{"rendered":"GSoC Week 4: Dammit Jim, I&#8217;m a doctor, not a QA tester!"},"content":{"rendered":"<p>Star Trek\u2019s second mission, \u201cHijacked\u201d, is finished. It\u2019s very short, only consisting of 4 rooms. Despite this, the devs didn\u2019t fail to insert a number of bugs into the mission, most of them in the final room.<\/p>\n<p>Let\u2019s start simple: if you talk to McCoy at a specific time, he has no text.<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-4-mccoy-text-broken.png\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-4-mccoy-text-broken.png\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<p>However, there\u00a0<em>is<\/em>\u00a0an audio file which fits perfectly for this situation. So, I whipped up some corresponding text to go along with it, and inserted it appropriately. Honestly, how could I let DeForest Kelley\u2019s wonderfully snarky voice acting go to waste?<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-4-mccoy-text-fixed.png\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-4-mccoy-text-fixed.png\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<p>It\u2019s not the only voice clip that\u2019s unused, either. There are a surprising number of cases where they clearly intended for some dialogue to be said, but there\u2019s problems in the implementation causing it to not occur; for example, when you try to shoot the Masada crewman, he\u2019s supposed to say something, but due to a bug(?), he didn\u2019t in the original.<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-4-unused-masada-text.png\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-4-unused-masada-text.png\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<p>There\u2019s also an oversight with the mission scoring system. You\u2019re supposed to combine some inventory items together to progress through the mission, but you\u00a0<em>only<\/em>\u00a0get points for this if you do it in a specific room! This is the consequence of each room having entirely separate codebases; the code needed to be copied for each room, and clearly, they must have forgotten that the code was duplicated when they made some changes to it.<\/p>\n<p>Lastly, the final room is pretty buggy. Don\u2019t read any further if you want to avoid spoilers.<\/p>\n<p>So, there are three ways to end the mission; either you shoot the Elasi, they surrender, or they attempt to deorbit the ship. But\u2026 these aren\u2019t mutually exclusive. In fact, all three can happen, and the devs clearly didn\u2019t think this through properly.<\/p>\n<p>Consider scenario #1: You shoot the Elasi. This aggros them, and they immediately kill your redshirt, followed by Kirk. However, you can still talk to the Elasi if you\u2019re fast enough. If you convince them to surrender\u2026 they don\u2019t actually surrender, despite saying so, they just keep killing you. If they deorbit the ship, you can call Sulu, stabilize the orbit, and beam out, WHILE THEY\u2019RE STILL SHOOTING YOU.<\/p>\n<div style=\"width: 580px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-102-1\" width=\"580\" height=\"435\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-4-kirk-killed.webm?_=1\" \/><a href=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-4-kirk-killed.webm\">https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-4-kirk-killed.webm<\/a><\/video><\/div>\n<p>Scenario #2: You talk to the Elasi, and you choose the worst option, causing them to both deorbit the ship and start shooting you. This one\u2019s funny, because there\u2019s\u00a0<em>no way<\/em>\u00a0to finish the mission in a way that makes sense. You can do one of two things:<\/p>\n<p>Scenario #2a: Shoot the Elasi. This is sensible since you only have a few seconds before they kill you. After this, the mission is \u201csuccessful\u201d, even though you never save the Masada from deorbiting. I guess the security team that beams over dies when the ship goes down\u2026<\/p>\n<p>Scenario #2b: Call Sulu to prevent the ship from deorbiting. This results in the same issue as scenario #1.<\/p>\n<p>It\u2019s a mess. I\u2019ve tried to fix things as best I can, by requiring that if the ship is being deorbited, shooting the elasi doesn\u2019t end the mission, and vice-versa; saving the ship from deorbiting doesn\u2019t end the mission if the Elasi are still a threat. Also, if the Elasi say they surrender, they actually do surrender now.<\/p>\n<p>There are many more minor bugs, such as the Elasi guards freezing up if you shoot one of them at a specific time; but I\u2019d be here all day if I listed them all. I\u2019ve put down \u201cBUGFIX\u201d tags in the source code whenever something like this comes up. I\u2019ve no doubt I\u2019ll encounter more while working on the next mission.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Star Trek\u2019s second mission, \u201cHijacked\u201d, is finished. It\u2019s very short, only consisting of 4 rooms. Despite this, the devs didn\u2019t fail to insert a number of bugs into the mission, most of them in the final room. Let\u2019s start simple: if you talk to McCoy at a specific time, he has no text. However, there\u00a0is\u00a0an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-102","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":103,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts\/102\/revisions\/103"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}