For this past week, I decided I would try to use my 3 hours of game development time to tackle a new idea. A shooter that uses mouse aim. Somehow, I've never tried to make this kind of game before.
I was able to implement most of the mechanics before falling short:
Titled "Bugsnipe", the above project was still a little confused in terms of what I wanted it to be. The original idea was something of a stealth shooter focusing on a rogue rocket-launcher-wielding soldier taking on some tanks. Anytime the soldier fired his rocket-launcher, the tanks would be alerted to his position and the player would have to duck into high-grass to avoid being swarmed.
I switched the tanks to bugs after deciding I didn't want to deal with tank turrets or making WW1 style tanks. I then got attached to the idea of there being 2 bug factions, and spent probably a little too much time trying to figure out how the player would impact a little bug war going on in the center of the play area. I started creating art assets first, and spent too much time on that as well. By the time I actually finished importing assets into Godot and began coding, I had 40 minutes left!
On the plus side, I learned 2 things I really like. The 1st is a method of having a player rotate towards the mouse position with a small amount of delay or smoothing:
var Mouse_Position = get_local_mouse_position()
self.rotation += Mouse_Position.angle() * smoothing
source: https://www.youtube.com/watch?v=iOYv4HLWDh0
The last time I tried something like this, I had to use the function .look_at() for the mouse position. look_at() is fine, if you want something to rotate and look at something else, like the mouse cursor, immediately. However, it's not really designed to be tinkered with too much. get_local_mouse_position().angle(), on the other hand, can be modified fairly easily. The result adds a bit of weight to turning, which I like in this case.
The 2nd thing I learned was that it's absurdly easy to add a custom mouse cursor to your Godot game. It's right under Display in Project settings:
I didn't finish Bugsnipe in 3 hours, and that's OK. According to the rules for this little self-challenge, Bugsnipe will now be set aside until the end of the month. I'm still free to return to it next month if I should decide I want to finish it. In the meantime, I think I have a good foundation for a top down shooting project to build on.
I'm not sure yet what I'll try next week. If this past week taught be anything, it's that the design and research that occurs before I begin development could easily expand into 10 hours or more if I'm not careful, and I'm already pressed for time! So, whatever I decide on, it's gotta be small and simple. Or, build off what I already know (and have example code of), at the very least.
Until next week.
No comments:
Post a Comment