{"id":687,"date":"2018-07-02T22:06:10","date_gmt":"2018-07-02T22:06:10","guid":{"rendered":"http:\/\/brasswatchgames.com\/?p=687"},"modified":"2018-07-02T22:06:10","modified_gmt":"2018-07-02T22:06:10","slug":"new-shipyard-big-improvements-to-the-ship-editor","status":"publish","type":"post","link":"http:\/\/brasswatchgames.com\/?p=687","title":{"rendered":"New Shipyard: Big improvements to the ship editor"},"content":{"rendered":"<p>As the first part of the game I created way back in 2013, the ship editor was easily the most naively designed and coded section of the game. My planned redesign of the interface in the never-completed Alpha 1.0 version addressed some of the problems, but the fix was only surface deep. Underneath the new coat of paint, the method of storing and rendering ship designs was still basically unchanged, bringing numerous problems with it. The problems are pretty technical but the extremely simple version is that in the old game, individual systems had no way to store their own variables; everything except their location was defined by the system\u00a0<em>type<\/em>. When I later moved on from this concept, I had to come up with awkward, hacky ways to make new ideas work within my own old code. One example of this was &#8220;free form&#8221; systems, which were really just a blob of separate 1&#215;1-tile systems which changed their sprites to\u00a0<em>appear<\/em> connected. Another example is the decorative slope pieces, which were all essentially the same thing with different sprites, but there was no way to store a &#8220;direction&#8221; variable so each one had to be a completely separate system type.<\/p>\n<p>Working on the new Shipyard, I&#8217;ve learned from those old mistakes and designed the ship editor to allow for individual systems to store their own data and determine their own stats instead of all being exact copies of a master template. For example, it&#8217;s now possible to have\u00a0<em>true<\/em> variable-size systems, which can be a rectangle of any size and are still treated as a single system by the game. This is possible because they can each store their own size variables, independent of each other. You place them by drawing a box the way you would use the rectangle tool in MS Paint.<a href=\"http:\/\/brasswatchgames.com\/?attachment_id=692\" rel=\"attachment wp-att-692\"><img data-attachment-id=\"692\" data-permalink=\"http:\/\/brasswatchgames.com\/?attachment_id=692\" data-orig-file=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture.png?fit=311%2C293\" data-orig-size=\"311,293\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"variable size\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture.png?fit=300%2C283\" data-large-file=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture.png?fit=311%2C293\" loading=\"lazy\" class=\"aligncenter size-full wp-image-692\" src=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture.png?resize=311%2C293\" alt=\"\" width=\"311\" height=\"293\" srcset=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture.png?w=311 311w, https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture.png?resize=300%2C283 300w\" sizes=\"(max-width: 311px) 100vw, 311px\" data-recalc-dims=\"1\" \/><\/a><br \/>\nSimilarly, systems like the decorative slopes which have the same stats but different visual styles can now be combined into a single system type with an individual direction variable. In this screenshot, there are only two different system types (1&#215;1 and 1&#215;2 slopes), each with four possible styles that can be cycled with the scroll wheel similar to how weapon directions worked in the old game:<\/p>\n<p><img data-attachment-id=\"695\" data-permalink=\"http:\/\/brasswatchgames.com\/?attachment_id=695\" data-orig-file=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture-1.png?fit=288%2C139\" data-orig-size=\"288,139\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Capture\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture-1.png?fit=288%2C139\" data-large-file=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture-1.png?fit=288%2C139\" loading=\"lazy\" class=\"aligncenter size-full wp-image-695\" src=\"https:\/\/i0.wp.com\/brasswatchgames.com\/wp-content\/uploads\/2018\/07\/Capture-1.png?resize=288%2C139\" alt=\"\" width=\"288\" height=\"139\" data-recalc-dims=\"1\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As the first part of the game I created way back in 2013, the ship editor was easily the most naively designed and coded section of the game. My planned redesign of the interface in the never-completed Alpha 1.0 version addressed some of the problems, but the fix was only surface deep. Underneath the new [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[2,4],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4ieDM-b5","jetpack-related-posts":[{"id":58,"url":"http:\/\/brasswatchgames.com\/?p=58","url_meta":{"origin":687,"position":0},"title":"Shipyard PA 0.7.3 and Launcher 2.1 released!","date":"February 7, 2014","format":false,"excerpt":"Shipyard pre-alpha 0.7.3 has been released! This is the second if the series of preliminary updates gearing up for the addition of combat. This time, it adds the crew and power tab to the View Ship screen, as well as some other minor stuff. See the Shipyard page for downloads\u2026","rel":"","context":"In &quot;Game Development News&quot;","img":{"alt_text":"Crew and Power Management","src":"https:\/\/i0.wp.com\/www.brasswatchgames.com\/wp-content\/uploads\/2014\/02\/scrn_2014_02_05_1391671070606-1024x576.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":464,"url":"http:\/\/brasswatchgames.com\/?p=464","url_meta":{"origin":687,"position":1},"title":"Greetings from Brass Watch Games!","date":"January 27, 2014","format":false,"excerpt":"Hello, everybody, and welcome to Brass Watch Games. BWG is the professional name under which I will be releasing any games I make in the future. I say \"I\" because BWG is a one-man operation. I am an aspiring game designer and general gaming enthusiast, who hopes to one day\u2026","rel":"","context":"In &quot;General News&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":112,"url":"http:\/\/brasswatchgames.com\/?p=112","url_meta":{"origin":687,"position":2},"title":"Shipyard: The Combat Update &#8212; Progress Report #8 (Revised 7 April 2014)","date":"April 7, 2014","format":false,"excerpt":"Spring break is, sadly, drawing to close, but in the meantime I have got a couple big changes to show you. As always, these changes are coming in the next update and are not in the current version of the game. Anyway, let's get on with it: Scrap The biggest\u2026","rel":"","context":"In &quot;Game Development News&quot;","img":{"alt_text":"Credits and scrap are now displayed in the top left of the navigation screen.","src":"https:\/\/i0.wp.com\/www.brasswatchgames.com\/wp-content\/uploads\/2014\/04\/credits_and_scrap_preview-1024x576.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":256,"url":"http:\/\/brasswatchgames.com\/?p=256","url_meta":{"origin":687,"position":3},"title":"Shipyard Pre-Alpha v0.8.1 Released","date":"November 23, 2014","format":false,"excerpt":"After more than five months of development, I've decided to release version 0.8.1. I finally made the decision to push shuttles back to a future update, as holding back 0.8.1 until they were finished would have meant another month or more without an update. Nevertheless, version 0.8.1 has plenty of\u2026","rel":"","context":"In &quot;Game Development News&quot;","img":{"alt_text":"scrn_2014_11_22_1416699459267","src":"https:\/\/i0.wp.com\/www.brasswatchgames.com\/wp-content\/uploads\/2014\/11\/scrn_2014_11_22_1416699459267-1024x576.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":353,"url":"http:\/\/brasswatchgames.com\/?p=353","url_meta":{"origin":687,"position":4},"title":"Shipyard Development News 5 September 2015","date":"September 5, 2015","format":false,"excerpt":"It's been a while since I posted a true development news--more than two months in fact--and it's time to rectify that! Internal System Map One of the most important changes in the new update is also one of the\u00a0most boring to explain. In the current version, a ship's systems are\u2026","rel":"","context":"In &quot;Game Development News&quot;","img":{"alt_text":"New Ship Editor Preview","src":"https:\/\/i0.wp.com\/www.brasswatchgames.com\/wp-content\/uploads\/2015\/09\/scrn_2015_09_05_1441490271062.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":60,"url":"http:\/\/brasswatchgames.com\/?p=60","url_meta":{"origin":687,"position":5},"title":"Shipyard: The Combat Update &#8212; Progress Report #3","date":"February 16, 2014","format":false,"excerpt":"It's getting close to time to start on the actual combat system, but there's just a little more preparation before that can happen. Everything here is coming in version 0.7.4, which will be the last of the minor updates leading up to the combat update. So, without further ado, let's\u2026","rel":"","context":"In &quot;Game Development News&quot;","img":{"alt_text":"AI Ships Early Preview","src":"https:\/\/i0.wp.com\/www.brasswatchgames.com\/wp-content\/uploads\/2014\/02\/scrn_2014_02_15_1392520891147-1024x576.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=\/wp\/v2\/posts\/687"}],"collection":[{"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=687"}],"version-history":[{"count":3,"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=\/wp\/v2\/posts\/687\/revisions"}],"predecessor-version":[{"id":696,"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=\/wp\/v2\/posts\/687\/revisions\/696"}],"wp:attachment":[{"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=687"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/brasswatchgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}