{"id":1663,"date":"2014-02-10T00:55:37","date_gmt":"2014-02-09T23:55:37","guid":{"rendered":"http:\/\/www.radicalfishgames.com\/?p=1663"},"modified":"2014-05-15T00:20:51","modified_gmt":"2014-05-14T23:20:51","slug":"crosscode-update-42-under-the-hood","status":"publish","type":"post","link":"https:\/\/www.radicalfishgames.com\/?p=1663","title":{"rendered":"CrossCode Update #42<br>Under the Hood"},"content":{"rendered":"<p>Welcome back! <\/p>\n<p>That was quite the fun week and we did a lot of work on different ends. We added more details to the game and worked on advancing the plot. The Equipment menu got a bit more polished and some fresh new <strong>hotkey buttons<\/strong>. We also carved out the details on the circuit menu and began to implement the skilltree itself into the game. We also started planning a little something for our team!<\/p>\n<p><!--more--><\/p>\n<h2>Details&#8230; so many details<\/h2>\n<p>The cargo ship is the starting area of the game and since this will (probably) be the first thing the players sees we want to make sure they find a place filled with details and atmosphere. Of course this means more time is needed to finish up the area but don&#8217;t worry we will not go over the top. Over time creating areas will get more easy for us and we plan to reuse details in later areas if they fit. So apart from us explaining why we love details&#8230; what <strong>did <\/strong>changed?<\/p>\n<p>First <strong>T-Free<\/strong> worked a bit on the waves and made them appear more staving. You can see the difference here:<br \/>\n<a href=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/waves.gif\"><img decoding=\"async\" src=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/waves.gif\" alt=\"waves\" width=\"400\" height=\"200\" class=\"aligncenter size-full wp-image-1565\" \/><\/a><br \/>\nThese are the old ones, and the new ones look like this:<\/p>\n<p><a href=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/water.gif\"><img decoding=\"async\" src=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/water.gif\" alt=\"water\" width=\"300\" height=\"200\" class=\"aligncenter size-full wp-image-1664\" \/><\/a> (Lea defies gravity!)<\/p>\n<p>Thanks to <strong>TQ and T-Free<\/strong> the cabins got a new update which includes the workers lounge where people calm down after a hard day of work or&#8230; well&#8230; play video games:<br \/>\n<a href=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/gamerdude.gif\"><img decoding=\"async\" src=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/gamerdude.gif\" alt=\"gamerdude\" width=\"500\" height=\"312\" class=\"aligncenter size-full wp-image-1666\" \/><\/a>(Can you guess the game which he&#8217;s playing? And yes, that typo is intended!)<\/p>\n<p>There has been different works on other areas too, but we can&#8217;t show them yet so stay tuned ;) <\/p>\n<h2>Equipment Menu<\/h2>\n<p>So I finally finished up the functionality of the equipment menu. It took quite a while but I also added a lot of reusable features along the way. <strong>Lachsen <\/strong>just rewrote our button manager system that handles moving through buttons via mouse, keyboard and gamepad to better fit what we need. Now we can easily integrate multiple menus on top of each other without any collision problems between different groups of buttons. This is a large topic to cover actually. If you want to know more, leave a comment and we might make a technical post regarding your questions. Next to the new system I also added <strong>hotkey buttons<\/strong>. These buttons can be found in the <strong>top bar<\/strong> in the menu. They serve as shortcuts to different menus or to revisit the help menu (the help dialog will only appear once if you enter the menu the first time).<br \/>\nYou can get a look on it in this picture:<br \/>\n<a href=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/equip-hotkeys.png\"><img decoding=\"async\" src=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/equip-hotkeys.png\" alt=\"equip-hotkeys\" width=\"568\" height=\"320\" class=\"aligncenter size-full wp-image-1668\" srcset=\"https:\/\/www.radicalfishgames.com\/wp-content\/uploads\/equip-hotkeys.png 568w, https:\/\/www.radicalfishgames.com\/wp-content\/uploads\/equip-hotkeys-300x169.png 300w, https:\/\/www.radicalfishgames.com\/wp-content\/uploads\/equip-hotkeys-500x281.png 500w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><\/a><\/p>\n<h2>Optimization &#038; Circuit Menu<\/h2>\n<p><strong>Lachsen <\/strong>spent some time on optimizing our entity system. The result is really amazing. The whole update goes faster by <strong>1 millisecond<\/strong>! Okay, that doesn&#8217;t sound much by itself&#8230; but it is about <strong>20%<\/strong> of our total time per frame. This mostly means that we can possibly add more entities to a map without losing those precious frames. Here is a quick look at our performance testing range:<br \/>\n<a href=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/testing-performance1.png\"><img decoding=\"async\" src=\"http:\/\/www.radicalfishgames.com\/wp-content\/uploads\/testing-performance1.png\" alt=\"testing-performance1\" width=\"568\" height=\"320\" class=\"aligncenter size-full wp-image-1671\" srcset=\"https:\/\/www.radicalfishgames.com\/wp-content\/uploads\/testing-performance1.png 568w, https:\/\/www.radicalfishgames.com\/wp-content\/uploads\/testing-performance1-300x169.png 300w, https:\/\/www.radicalfishgames.com\/wp-content\/uploads\/testing-performance1-500x281.png 500w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><\/a><\/p>\n<p>These are 313 entities running at smooth 60 frames per second. We will cover more about this topic in an upcoming technical post about optimization in <strong>CrossCode<\/strong>. If you&#8217;re interested you might want to keep an eye on the blog for the next few weeks!<\/p>\n<p>The <strong>circuit menu<\/strong> has finally taken a bit more shape in form of actual code. We sketched out the basic outline of the tree that contains the skills so we can easily create the tree itself whilst changes can be added with ease. As you might have seen in our previous post, we use a tree structure combined with so-called <strong>OR-branches.<\/strong> Along with this, we discussed the data structure we want to use for a single skill. We tried to make it as flexible as possible so we can make changes fast. The coming weeks will probably contain lots of information regarding the skill tree and the creation of the <a href=\"http:\/\/www.radicalfishgames.com\/?p=1553\" target=\"_blank\">circuit menu<\/a>.<\/p>\n<h2>CrossWeek<\/h2>\n<p>A week of non-stop <strong>CrossCode <\/strong>Action? Developing until we fall asleep in front of our laptops? This is what we&#8217;re currently planning to do! A part of our Team will meet up to work together on CrossCode for a whole week. We hope that we can squeeze out more content for the game in that week, so we can proudly present it to you in the next update! <\/p>\n<p>And this is where the weekly ends. We hope you enjoyed the weekly and will be here in 2 weeks to get a fresh batch of <strong>CrossCode<\/strong> Updates!<\/p>\n<p>Until then!<\/p>\n<p><strong>P.S.<\/strong><br \/>\nIn Germany it&#8217;s already the 10th February, which means <strong>Intero <\/strong>leveled up! We wish our composer the best and hope that he will continue bringing awesome music to <strong>CrossCode<\/strong>. Happy Birthday <strong>Intero<\/strong>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome back! That was quite the fun week and we did a lot of work on different ends. We added more details to the game and worked on advancing the plot. The Equipment menu got a bit more polished and some fresh new hotkey buttons. We also carved out the details on the circuit menu [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":1666,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7],"tags":[],"class_list":["post-1663","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-crosscode","category-weekly"],"_links":{"self":[{"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/posts\/1663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1663"}],"version-history":[{"count":27,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/posts\/1663\/revisions"}],"predecessor-version":[{"id":2049,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/posts\/1663\/revisions\/2049"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=\/wp\/v2\/media\/1666"}],"wp:attachment":[{"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.radicalfishgames.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}