Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Really creative base mechanic, something I haven't seen in a game before. Timing the hits after a big spin was satisfying and the laser is super cool. Always down for a good smiting. Curious how you implemented the charging in GDScript, seems like a problem that could have a lot of creative solutions.

Thanks for playing! Glad you liked it!

I am sure how I did it is not the best way, but it was the only way I thought of doing it.
Here is a quick explanation for how I went about doing it:

When you Hit left click it starts collecting the location of the mouse and getting the average value. This average value is essentially the middle of the circle, as the average of points on the edge of a circle should be the middle of the circle. This list of locations is reset if the player:
a) Lets go of the mouse
b) Goes in the opposite direction
c) A full circle is created
It also keeps track of the direction from the first value(Location of mouse when you hit left click) to the average value calculated earlier. 
Then it checks 4 things
a) Their have been more then 10 locations tracked
b) The current angle of the mouse to the average is near the angle from the first position to the average.
c) Are their 3 points in the circle that differ from the first position by at least 90 degrees

d) Are these 3 points far enough away from the center.

If all of these things are true then it counts it as a circle having been completed and the list is reset.

This is frankly a finicky system but for a game jam it tracked circles well enough.