SoftbearStudios / mk48

Mk48.io ship combat game
https://mk48.io
GNU Affero General Public License v3.0
314 stars 60 forks source link

Visual cues for reloading #186

Open Kalhama opened 2 years ago

Kalhama commented 2 years ago

Reloading

New players stuggle to understand why their ship stops shooting after they have spammed their weapons out. There could be a cue for reloading and that it takes some time. Such as a loading bar under each weapon when next round is reloaded.

Jammo2000 commented 1 year ago

It would be helpful to have a way to tell when you will finish reloading. Perhaps a few little circular progress meters (one for each round) under each weapon image. Make them green when loaded, and gray when reloading. This would also remove the need for ammo counters (8/8).

finnbear commented 1 year ago

We previously transmitted reload time info from server to client, and had a feature whereby you could hover the weapon counter to see how much time was remaining.

Unfortunately, it was inaccurate, due to the inherent unpredictability of reloading (collecting crates/scrap will take off time). It also consumed a bit of bandwidth, especially for ships with many weapons. We ended up removing this feature for the above reasons.

Thanks for the feedback, though!

We might be able to reintroduce reload time indicators, possibly with a client-side prediction algorithm that wouldn't cost bandwidth.

Jammo2000 commented 1 year ago

I'm taking a look at how to add that, perhaps I'll have a draft PR in the near to mid future. Current status: familiarizing myself with the relevant parts of the codebase.

finnbear commented 1 year ago

Current status: familiarizing myself with the relevant parts of the codebase.

If you have any suggestions for how to make the codebase more understandable, we would be interested to hear them!

Jammo2000 commented 1 year ago

If you have any suggestions for how to make the codebase more understandable, we would be interested to hear them!

The main thing you could improve is spelling out the compilation process and/or the dependency graph somewhere. It took me a long time to work out what code ends up where in the built project.

finnbear commented 1 year ago

The main thing you could improve is spelling out the compilation process and/or the dependency graph somewhere. It took me a long time to work out what code ends up where in the built project.

Understandable; in my most recent commit, I've begun this process by expanding the top-level README. I've also simplified the dependency tree by replacing a symbolic link with a relatively-idiomatic macro invocation. If there are specific details you think are missing from the README, I would be happy to hear!