102 - Brief Deviation

January 17, 2021

I was rocking and rolling during the first few days of the week, but on Thursday I went to visit my sister and I will not be back home until Tuesday.

During this travel time I decided to do performance and operations work since I find it easy to stay focused on that even when I am not in my normal routine.

When I am back home I will go back to working on game play features.


I am still working on being able to harvest and craft all of the intermediary resources and items that go into making a bow.

As I go I am introducing the various data structures and logic that powers crafting, which is time consuming this first time around.

Adding new items to craft will be much easier once all of this foundation is in place.

Editor Improvements

I made it so that if you are in a game pane you can press tab to switch between playing and editing mode.

When you are in edit mode you can switch between sub modes such as terrain editing or object editing mode using the spacebar followed by a letter.

So Space -> T for terrain edit mode or Space -> O object edit mode.

Performance Fix

I performance profiled pathfinding while on the plane to my sister's state.

I fixed the performance regression that I introduced in 101.

The average time to complete a game server tick. Lower is better.

Other Notes / Progress

  • Moved from Datadog to an ELK stack running inside of my Kubernetes cluster. At some point I will look into Prometheus. I'm new to dev ops so I'm not sure when and how to use all of these tools. I'm learning as I go.

Next Journal Entry

I will be back to my regular routine on Wednesday at which point I will get back to working on the bow crafting system.

In the meantime I am working on a tweaking the way that players get updated with new game state.

Previously the time that updates were sent could vary based on how long the game tick took to run.

After this change they will always get sent at the same interval regardless of how long the tick took to run.

I will be back next week. Goodbye for now.