{"id":464,"date":"2021-01-15T22:48:24","date_gmt":"2021-01-16T03:48:24","guid":{"rendered":"https:\/\/cynthiamcmahon.ca\/blog\/?p=464"},"modified":"2021-01-16T00:48:18","modified_gmt":"2021-01-16T05:48:18","slug":"knight-watch-update","status":"publish","type":"post","link":"https:\/\/cynthiamcmahon.ca\/blog\/2021\/01\/knight-watch-update\/","title":{"rendered":"Knight Watch Update"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Knight Watch Update<\/h2>\n\n\n\n<p>I spent a significant part of the day working on Knight Watch, my web game. I made significant progress though not as much as I would have liked. Technical issues revolving around React caused some issues. The most difficult to resolve was my game was running at 2 to 5 frames per second. It made animation and movement a nightmare! It ended up being a problem with the useEffect hook that I was able to resolve once I had tracked down the issue.<\/p>\n\n\n\n<p>Animation is working smoothly and at the correct frame rate now. The tile engine and camera are also working as expected, mostly anyway but more on that in a bit. I was able to export my Shadow Monsters map to JSON and bring it into Knight Watch. That means I can use my existing editor for creating maps and don&#8217;t have to spin up a new one. The issue that I came across is boxes and bleeding around the edges of some of my tiles, see image below. This is a new discovery and I&#8217;ve only just started tracking down what the issue is. In MonoGame there is an easy solution, change the SamplerState to PointClamp and you&#8217;re good to go. However, there is no easy fix to this with HTML5. At least my initial investigation hasn&#8217;t revealed a solution. That is tomorrow&#8217;s job.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"1024\" src=\"https:\/\/cynthiamcmahon.ca\/blog\/wp-content\/uploads\/2021\/01\/kwatch-002-801x1024.png\" alt=\"Knight Watch boxes and bleeding\" class=\"wp-image-465\" srcset=\"https:\/\/cynthiamcmahon.ca\/blog\/wp-content\/uploads\/2021\/01\/kwatch-002-801x1024.png 801w, https:\/\/cynthiamcmahon.ca\/blog\/wp-content\/uploads\/2021\/01\/kwatch-002-235x300.png 235w, https:\/\/cynthiamcmahon.ca\/blog\/wp-content\/uploads\/2021\/01\/kwatch-002-768x981.png 768w, https:\/\/cynthiamcmahon.ca\/blog\/wp-content\/uploads\/2021\/01\/kwatch-002.png 1199w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><figcaption>Knight Watch boxes and bleeding<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next<\/h2>\n\n\n\n<p>I did take the day off from tutorials. As you see, I did spend a lot of time on my learning projects. My plan for at least part of tomorrow is to work on the next Eyes of the Dragon tutorial. I still might slip in a tutorial on animation in the MonoGame For The Absolute Beginner tutorial series first. That tutorial is mostly ready to go, I&#8217;ve done several tutorials that deal with animation already.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">My Projects<\/h2>\n\n\n\n<p>Right now my main focus is Knight Watch, my learning project, that is based on my study of React and other topics. I&#8217;m changing the scope from an MMORPG to maybe an RPG. I&#8217;m still undecided on what the finished product is going to look like. I don&#8217;t want to code a server and focus on the front end stuff. <\/p>\n\n\n\n<p>Quintessential Duels has taken a back seat recently. I have come up with an idea on how to solve my current challenge with the tutorial. I&#8217;m going to have to do some image manipulation but it should be doable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Thoughts<\/h2>\n\n\n\n<p>I didn&#8217;t get to a tutorial today because I was on a roll with my personal projects. First thing tomorrow I will be starting work on the next batch of Eyes of the Dragon tutorials. I will still be working on my projects, likely Knight Watch. Speaking of which, I find JavaScript very frustrating at times. I&#8217;m used to having to define everything where as in JavaScript if something isn&#8217;t defined in an object is is added to the object. I got bit a few times using an upper case letter where a lower case was what was defined.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Knight Watch Update I spent a significant part of the day working on Knight Watch, my web game. I made significant progress though not as much as I would have liked. Technical issues revolving around React caused some issues. The most difficult to resolve was my game was running at 2 to 5 frames per &hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,23,20],"tags":[],"class_list":["post-464","post","type-post","status-publish","format-standard","hentry","category-eyes-of-the-dragon","category-knight-watch","category-my-projects"],"_links":{"self":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/posts\/464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/comments?post=464"}],"version-history":[{"count":1,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/posts\/464\/revisions"}],"predecessor-version":[{"id":466,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/posts\/464\/revisions\/466"}],"wp:attachment":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/media?parent=464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/categories?post=464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/tags?post=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}