My thoughts are similar playing the 0.9 alpha. It looks good and is fun, but the aiming can be a bit frustrating. You don't really know if you are aiming into the terrain or not, and I need something more than a fixed distance crosshairs to know where I'm aiming. A laser sight would fit with the theme, and solve the distance and terrain collision issue I think.
edit: Oh, I ran into an issue with the keyboard controls by the way. Up and down worked fine, but left and right were really flakey. It's like it was getting random keyup events or something, so I would have to keep tapping it. (This was on Linux, PS5 controller worked fine)
slembcke
3
Posts
8
Followers
15
Following
A member registered Jan 16, 2018 · View creator page →
Creator of
Recent community posts
Snapping Joystick Values To Nearest Cardinal or Intercardinal comments · Posted in Snapping Joystick Values To Nearest Cardinal or Intercardinal comments
A somewhat simpler way, if a bit more tedious is to project the point onto each axis using the dot product, and just pick whichever one has the largest absolute value. No trig or anything needed. As some crappy lua code, because that's what I was sitting in front of at the time... Could certainly be simplified a lot.
function project_onto_axis(point, axis) local dist = dot(point, axis) return math.abs(dist), axis*dist end function max_axis(a_dist, a_proj, b_dist, b_proj) if(a_dist > b_dist) then return a_dist, a_proj else return b_dist, b_proj end end function snap(point) x_dist, x_proj = project_onto_axis(point, vec2(1, 0)) y_dist, y_proj = project_onto_axis(point, vec2(0, 1)) card_dist, card_proj = max_axis(x_dist, x_proj, y_dist, y_proj) -- can use a better sqrt(2) approx here if you care. xy_dist, xy_proj = project_onto_axis(point, vec2(0.7, 0.7)) yx_dist, yx_proj = project_onto_axis(point, vec2(0.7, -0.7)) diag_dist, diag_proj = max_axis(xy_dist, xy_proj, yx_dist, yx_proj) return max_axis(card_dist, card_proj, diag_dist, diag_proj) end