095 - Firing a Bow (Part 4/4)

November 29, 2020

The goal of this past week was to make firing a bow at an enemy feel good.

I fell short of that goal, and ended up spending all week working on the ability to fire a bow at all, without much time for polish.

Fortunately, I did manage to finish implementing the ability to fire a bow, albeit a bit wonky and janky at the moment.

A little bit of target practice. It lacks polish and proper alignment of the hand, the bow and the arrow, but I'm happy with the direction and remain optimistic about the direction of the engine. Fun!

When I first got started on working on being able to fire a bow a few weeks ago, I knew that there would be a fair amount of work, but I did not expect there to be so many pieces that needed to come together in order to get to where I am now.

I'm happy about the fact that everything was built to be re-usable and extensible.

I would guess that 90 something percent of my time these last few weeks has gone to underlying code that is not specific to a bow and arrow sequence.

So the work spent laying this foundation should pay dividends over time as I re-use it for more and more coordinated sequences.

Other Notes / Progress

  • Fixed and simplified who I calculate whether two entities are within DistanceRange of each other after discovering that it did not work for non uniform ranges such as the bow attack's DistanceRange { close: 1, far: 6 }.

  • The client waits a moment before removing a dead entity from the World state so that a death animation can be played.

Next Journal Entry

The experience around using bows is not yet polished. Rather than moving on to adding in more game play, I am going to continue working on making firing a bow feel good.

I listed out potential improvements, and all of the most time consuming ones involve underlying engine work. Which I like to think of as long term ROI work.

That's been the story these last few weeks. So nothing new there.

I'm going all in on making the Bowman skill look and feel interesting.

I want something that I feel happy with.

After that I will share it with others and see what they think about it.

I'm hoping to spend less than two weeks on all of this polish work.

Let's keep pushing.

Pew pew

Cya next time!