{"id":326,"date":"2008-09-08T09:37:27","date_gmt":"2008-09-08T17:37:27","guid":{"rendered":"http:\/\/www.lostvectors.com\/blog\/?p=326"},"modified":"2010-10-11T09:40:16","modified_gmt":"2010-10-11T17:40:16","slug":"upgrades-and-info-box","status":"publish","type":"post","link":"https:\/\/www.lostvectors.com\/blog\/2008\/09\/08\/upgrades-and-info-box\/","title":{"rendered":"Upgrades and Info Box"},"content":{"rendered":"<p>I&rsquo;m making great progress with the upgrade shop. I&rsquo;m working  on an info-box popup that shows important information about the skills  available to you in the shop. All you need to do is mouse over the upgrade  icons and lots of useful information will be displayed about that skill. For  example, the info-box will tell you if you have enough gold to purchase a skill  if you don&rsquo;t already know it. If the skill is a bow-shooting skill, it will  display the stats of the arrow that is shot when using this skill. The info box  will work similar to the mouse-follow text in Cupid&rsquo;s Revenge upgrade shop, but  it will be much more detailed. Compared to Prelude, this design approach is  much more intuitive and frees up screen real estate for more upgrades! Prelude&rsquo;s  upgrade window just had a huge text field at the bottom of the page which  worked fine for that game, but this new method allows you to read information  closer to where you&rsquo;re pointing the mouse. The info-box text will also be color  coded so you&rsquo;ll be able to make visual associations about what  elemental\/magical attributes certain skills have.<\/p>\n<p>While implementing the upgrade menu I was thinking about how  the game should handle skill rank increases (leveling-up skill ranks). In  Prelude, the rank of the skill was determined purely by xp which was awarded by  repetitively using the skill. I&rsquo;m thinking instead of depending solely on this  approach, I would allow skills to be upgraded even after they are purchased  from the upgrade window. For example, prior to having Fire Arrow, when mousing  over the Fire Arrow icon you&rsquo;ll see the info box say &ldquo;Fire Arrow available for  purchase for N gold&rdquo; and after purchasing that skill the info-box will say  &ldquo;Fire Arrow Rank 1. You can upgrade this skill to Rank 2 for N gold.&rdquo; I like  the idea of upgrading ranks using gold. I haven&rsquo;t decided if I want to use this  method only and do away with individual skill rank increases via xp. This is a  balancing\/design decision. It might be cool to have both methods available, so  if you want to increase skill ranks by earning xp you can do that to save gold,  but if you have a lot of gold and want to quickly become an expert Fire Arrow  shooter you could do that too at a certain cost. It just wouldn&rsquo;t be a good  idea for you to purchase the skill rank increase if you&rsquo;re just a few xp away  from leveling up for free.<\/p>\n<p>In the process of making colorful pretty looking text, I&rsquo;ve  also been formalizing the developer documentation for adding skills to the  game. To review, a &ldquo;skill&rdquo; is anything that you can purchase from the upgrade  menu. This can be anything from passive abilities like health bonuses to bow  shooting skills (e.g. fire arrow). The process for adding basic bow-shooting  skills is quite simple so it&rsquo;s been fun creating new types of arrows for you to  shoot. I can literally create a new type of arrow in fifteen minutes with just  a few lines of code and some new graphics. Some of the more advance arrows,  like the ones that have special spell summoning abilities (e.g. chain  lightning) will require more time to integrate, but I&rsquo;m pretty happy with the  design so far.<\/p>\n<p>My next steps are to formalize the developer documentation for  adding non-shooting skill upgrades like passive skills (e.g. faster cooldown  times, faster mana regeneration rate, etc.) and instant cast abilities like unit  summoning. I&rsquo;ve been focusing on skills that shoot stuff, so these other types  of upgrades will require some new code.<\/p>\n<p>-Jason<\/p>\n<p>&nbsp;<\/p>\n<p>Q: Developer Documentation&hellip;What do you mean by this Jason?<\/p>\n<p>A: This is documentation that outlines procedural steps for  maintaining the integrity of the code while adding a new feature to the game. For  example I have a document called &ldquo;Skill Adding.&rdquo; Such documentation helps  ensure that I don&rsquo;t miss important steps. There&rsquo;s a lot of code in this game,  and I&rsquo;m just one dude making it all, so sometimes I forget why I coded  something the way I did. Writing this stuff down is just a way to remind myself  how this crazy game works. You, the game player, will never get to see this  documentation (because it&rsquo;s top secret of course) but just know that the game  will be super cool because I&rsquo;m using a formal maintenance process to keep  Bowmaster 2 in the best shape it can be! A bonus feature about having good  documentation is that I&rsquo;ll be able to easily add new features long after the  game is released even if I&rsquo;ve forgotten how to program. Yay for documentation!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&rsquo;m making great progress with the upgrade shop. I&rsquo;m working on an info-box popup that shows important information about the skills available to you in the shop. All you need to do is mouse over the upgrade icons and lots of useful information will be displayed about that skill. For&#8230; <a class=\"continue-reading-link\" href=\"https:\/\/www.lostvectors.com\/blog\/2008\/09\/08\/upgrades-and-info-box\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-326","post","type-post","status-publish","format-standard","hentry","category-devlog"],"_links":{"self":[{"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/posts\/326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/comments?post=326"}],"version-history":[{"count":2,"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/posts\/326\/revisions"}],"predecessor-version":[{"id":328,"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/posts\/326\/revisions\/328"}],"wp:attachment":[{"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/media?parent=326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/categories?post=326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lostvectors.com\/blog\/wp-json\/wp\/v2\/tags?post=326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}