I have no idea what the content is, the game itself isn't really fun imo. I will list the flaws with the game currently, which should be addressed before more features are added, as the game needs some tweaking.
- The obstacles are quite easy to avoid, and the fruit/candy is just as easy balance (maybe a more sensitive scale like 3 max to either side?)
- The sprites in general are too large, and the movement feels generally slow at the current scale
- Even given the above issues and claustrobic setting, the gameplay in general is currently too easy all around for both control schemes
- I somehow messed up the keyboard input and it wouldn't work, I assume that the input handling has a bug somewhere that allows a state to get toggled permanently (dying and going for a second run fixed this) (I recommend using a 2-element list for x and y movement, see footnote)
- The mouse option for movement is pointless, given that the mouse is the only control method for shooting
- The lock-on time makes shooting difficult, considering the short vertical space (maybe have cooldown instead of lock-on?)
- the obstacle generation occasionally creates overlapping sprites, which is especially noticeably with the spikes
I do like the basic idea, and it could be engaging with smaller
func _physics_process(delta):
__var input_vec = Vector2(0, 0)
__# all directional input is stored in a Vector2 to put all fancy calculation in one
__# instead of per-button
__
__if Input.is_action_pressed('move_right'):
____input_vec.x +=
__if Input.is_action_pressed('move_left'):
____input_vec.x -= 1
__if Input.is_action_pressed('move_up'):
____input_vec.y -= 1
__if Input.is_action_pressed('move_down'):
____input_vec.y += 1
__# adding inputs together like this prevents input from locking up when the player
__# is pressing both directions, as they will simply add up to zero
__
__linear_velocity += input_vec * 10
__# for a Node2D, linear_velocity is a Vector2 so input_vec can simply be added
__# I use a dampening value of 9 to prevent it from feeling slidy