{"id":94,"date":"2018-05-23T10:42:49","date_gmt":"2018-05-23T10:42:49","guid":{"rendered":"https:\/\/blogs.scummvm.org\/drenn1\/?p=94"},"modified":"2022-05-24T10:45:47","modified_gmt":"2022-05-24T10:45:47","slug":"gsoc-week-1-kirk-is-incompetent","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/drenn1\/2018\/05\/23\/gsoc-week-1-kirk-is-incompetent\/","title":{"rendered":"GSoC Week 1: Kirk is incompetent"},"content":{"rendered":"<p>It\u2019s been a week and change since GSoC started. When we left off, I\u2019d just finished implementing pathfinding. In the week since then, I\u2019ve been busy implementing the action system, which is central to any adventure game.<\/p>\n<h2 id=\"the-action-menu-and-inventory\">The action menu and inventory<\/h2>\n<p>First thing\u2019s first: we need to be able to select our actions.<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-1-action-menu.gif\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-1-action-menu.gif\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<p>This game\u2019s interface is\u2026 questionable. You click on a body part to select your action, ie. clicking on the mouth selects the \u201cspeak\u201d action. It may look cool and all, but the selection areas are just a bit too small. I also really dislike how the game is constantly warping the mouse around &#8211; I never have any idea where it will be after closing a menu\u2026 but alas, my job is to recreate the game faithfully, not to change the things I deem clunky.<\/p>\n<p>The inventory was the next logical target. By this point, I had also figured out hotspot detection; I started to get a good grasp on how the game handles interaction between objects.<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-1-inventory.gif\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-1-inventory.gif\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<p>Inventory items were also a good test subject for implementing the \u201clook\u201d action.<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-1-look-tricorder.png\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-1-look-tricorder.png\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<h2 id=\"room-specific-code\">Room-specific code<\/h2>\n<p>With the interaction system just about figured out at this point, it was time to look at room-specific code. This is what makes the missions tick; each room has a series of \u201cevent hooks\u201d that may run when the room is first entered, when a certain amount of time passes, or when you try to vandalize a sign with a phaser.<\/p>\n<div>\n<figure class=\"image\"><img decoding=\"async\" src=\"..\/images\/gsoc-week-1-vandalize-sign.png\" alt=\"\" \/><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/gsoc-week-1-vandalize-sign.png\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<p>Rewriting this will easily be the most time-consuming part of the project, and I suspect that future progress updates won\u2019t be much more than \u201cI finished rewriting these rooms, check it out\u201d.<\/p>\n<p>That being said, I finished rewriting the first room, check it out.<\/p>\n<div style=\"width: 480px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-94-1\" width=\"480\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/Star-Trek-25th-Anniversary-First-room-in-ScummVM-sJpijZ1ukuI.mp4?_=1\" \/><a href=\"https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/Star-Trek-25th-Anniversary-First-room-in-ScummVM-sJpijZ1ukuI.mp4\">https:\/\/blogs.scummvm.org\/drenn1\/wp-content\/uploads\/sites\/62\/2022\/05\/Star-Trek-25th-Anniversary-First-room-in-ScummVM-sJpijZ1ukuI.mp4<\/a><\/video><\/div>\n<p><em>(Source: https:\/\/www.youtube.com\/watch?v=sJpijZ1ukuI)<\/em><\/p>\n<p>If all goes well, maybe the first mission will be completable by next week\u2019s blog post. Here\u2019s hoping.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s been a week and change since GSoC started. When we left off, I\u2019d just finished implementing pathfinding. In the week since then, I\u2019ve been busy implementing the action system, which is central to any adventure game. The action menu and inventory First thing\u2019s first: we need to be able to select our actions. This [&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-94","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts\/94","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=94"}],"version-history":[{"count":1,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":96,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/posts\/94\/revisions\/96"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/media?parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/categories?post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/drenn1\/wp-json\/wp\/v2\/tags?post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}