053 - More Client Side Refactoring

February 9, 2020

For the last two weeks I was in Nigeria on vacation - I got back to Manhattan on Friday around 6pm.

I haven't gotten a lot done over the last two weeks - but I'm back in gear and it should be full steam ahead again.

I'm still working on moving the client side of the game into specs and refactoring / TDDing as I go. I expect it this to take 2-3 more weeks before I'm done and ready to get back to working on gameplay.

Even though 2-3 weeks feels realistic - in my head I'm targeting one week. If I can hit that I'll be thrilled.

It will come down to how many focused hours of progress I can make per day. I'm anticipating ending this large refactor with a lot of learning around how to stay at peak productivity for longer amounts of time during a large refactoring - although hopefully there aren't too many more of these in my future as I progressively eliminate the old, untested parts of the codebase.

Input Event Processor System

So far I've made a lot of progress on the InputEventProcessorSystem.

This system reads raw input (from an Arc<Mutex<Vec<InputEvent>>> that the client populates) and translates them into NormalizedEvents.

So if the client pushes an InputEvent::TouchMove(..) the InputEventProcessorSystem might translate that into a NormalizedEvent that moves the camera or that zooms the camera, depending on other state in our World such as how many fingers are currently touching the screen.

In this way all of our different target platform clients will only need to feed in raw events and they'll be handled accordingly by the core game-app crate where our entity component system lives.


Our financials for January 2020 were:

itemcost / earning
revenue+ $4.99
aws- $113.44
adobe substance- $19.90
GitHub LFS data pack- $5.00
photoshop- $10.65
ngrok- $10.00
chinedun@akigi.com Google email- $12.00
total- $166.00

I still need to cancel ngrok, the Google email account and maybe photoshop since I haven't used that for months.

Next Week

I'm fully focused on finishing the refactoring of the web-client and game-app crates and adding tests as I go.

That's all I'll be working on this week. I can't see the light at the end of the tunnel yet but I can already feel how much easier it is going to be to add new gameplay after this is all done.

Cya next time!