Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(2 edits) (+1)

Currently your score is obtained by adding the angle, cut and beat accuracy. I would suggest that after adding these three components, you zero the score when the angle or cut accuracy is zero. I did that in my personal copy and it feels right: it prevents cutting in the wrong direction or stabbing instead of cutting. 

It might be worth thinking whether one should zero the score when the beat accuracy is zero. I would personally prefer to keep that part of the scoring as is, however, since I normally play with the music volume at zero, as I am one of the small minority of people who don't like music.

Here's my code:

func note_cut(position: Vector3, beat_accuracy: float, cut_angle_accuracy: float, cut_distance_accuracy: float, travel_distance_factor: float) -> void:# point computation based on the accuracy of the swing
  var points_new := 0.0
  if cut_angle_accuracy >= 1e-10 and cut_distance_accuracy >= 1e-10:
    points_new += beat_accuracy * 50.0    
    points_new += cut_angle_accuracy * 50.0
    points_new += cut_distance_accuracy * 50.0
    points_new += points_new * travel_distance_factor
    points_new = roundf(points_new)
  add_points(position, int(points_new))

After testing, I think it's better to zero the score only if the angle is wrong, but not if the distance is wrong.