Knight Watch Update

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 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.

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’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’ve only just started tracking down what the issue is. In MonoGame there is an easy solution, change the SamplerState to PointClamp and you’re good to go. However, there is no easy fix to this with HTML5. At least my initial investigation hasn’t revealed a solution. That is tomorrow’s job.

Knight Watch boxes and bleeding
Knight Watch boxes and bleeding

What’s Next

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’ve done several tutorials that deal with animation already.

My Projects

Right now my main focus is Knight Watch, my learning project, that is based on my study of React and other topics. I’m changing the scope from an MMORPG to maybe an RPG. I’m still undecided on what the finished product is going to look like. I don’t want to code a server and focus on the front end stuff.

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’m going to have to do some image manipulation but it should be doable.

Final Thoughts

I didn’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’m used to having to define everything where as in JavaScript if something isn’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.