{"id":388,"date":"2014-03-02T23:51:44","date_gmt":"2014-03-02T23:51:44","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=388"},"modified":"2014-03-03T18:24:58","modified_gmt":"2014-03-03T18:24:58","slug":"star-commander-2422014-update-debugging-game-rules-level-design","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/star-commander-2422014-update-debugging-game-rules-level-design\/","title":{"rendered":"Star Commander: 23\/2\/2014 Update: Debugging, Game Rules, Level Design."},"content":{"rendered":"<p>This week was mostly about bug fixes. I spent a lot of time working on the targeting, aiming, and firing code. Users now have the ability to fire on objects and terrain as well as on enemies. This could be important tactically, because a user may guess that an enemy is in a certain location even though they cannot actually see them. By firing on the location itself, they can hit the enemy even without the enemy being displayed.<\/p>\n<p>I also made extensive modifications and improvements to the game rules that govern weapon accuracy. The accuracy of firearms and grenades is now much more realistic, and varies with distance, and with the type of fire mode that the user has selected (Single, Burst, or Auto).<\/p>\n<p>I have designed these variables in such a way that they can be changed easily, which will make game balancing much easier later on.<\/p>\n<p>There were a few bugs in the client\/server code which only became apparent when I tested the game in a multiplayer environment. These were all down to the client not having access to certain pieces of information from the server. I fixed these mostly by moving the calculation itself to the server.<\/p>\n<p>I also made improvements to the detection and client\/server rendering code, to ensure that targets are detected at a reasonable distance, and can hide behind obstacles, while being visible through certain types of cover.<\/p>\n<p>Finally, I did some work on the level design and level art.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_78-Feb.-23-03.39.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-387\" alt=\"ScreenHunter_78 Feb. 23 03.39\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_78-Feb.-23-03.39-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_78-Feb.-23-03.39-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_78-Feb.-23-03.39-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_78-Feb.-23-03.39.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_76-Feb.-23-03.38.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-386\" alt=\"ScreenHunter_76 Feb. 23 03.38\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_76-Feb.-23-03.38-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_76-Feb.-23-03.38-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_76-Feb.-23-03.38-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_76-Feb.-23-03.38.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\u00a0 <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_72-Feb.-22-17.16.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-384\" alt=\"ScreenHunter_72 Feb. 22 17.16\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_72-Feb.-22-17.16-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_72-Feb.-22-17.16-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_72-Feb.-22-17.16-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_72-Feb.-22-17.16.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_71-Feb.-22-17.16.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-383\" alt=\"ScreenHunter_71 Feb. 22 17.16\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_71-Feb.-22-17.16-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_71-Feb.-22-17.16-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_71-Feb.-22-17.16-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/03\/ScreenHunter_71-Feb.-22-17.16.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week was mostly about bug fixes. I spent a lot of time working on the targeting, aiming, and firing code. Users now have the ability to fire on objects and terrain as well as on enemies. This could be important tactically, because a user may guess that an enemy is in a certain location [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-388","post","type-post","status-publish","format-standard","hentry","category-software-and-games","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"aioseo_notices":[],"builder_content":"","_links":{"self":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/388"}],"collection":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/comments?post=388"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/388\/revisions"}],"predecessor-version":[{"id":407,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/388\/revisions\/407"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}