Devlog 07 - Shooting, Saves, and Dialogue


Now that most of the major new animations had been implemented, I now had time to start working on more fun things, and also making more overall progress on the game's systems.

The first thing on this list was improving the feel of her shots. Two of the "easier" ways of doijg this was recoil and screen shake which (I thought) were just little additions that would spice up the feel a lot, and while they did that job and did it well, they definitely weren't as easy as I thought.

The recoil wasn't necessarily hard for the actual movement. I'd already created knockback code for my enemies, and recoil was morr or less just repurposing that code (and dealing with bugs that cropped up, like being sent across the map with a single shot)

No, the hard part of adding the recoil was in the shooting sound effect. See, the reason I waited to add recoil was because I needed access to my player's physics components, which were on my player's body, and at the time, the script was on my gun, which was it's own separate object. This made it easy to work sound effects, as both the gun and her body could have separate audio sources (which is important because single audio sources have priority on SFX, so one sound can interrupt and stop another)

However, now that her gun and her body were merged into a single sprite, I needed to figure out how to get 2 audio sources working at the same time (and importantly, be able to designate which one would play certain sound effects, i.e: "One plays sounds related to things like footsteps and landing, and the other plays sounds related to her gun). This proved much harder than I expected it to, but I eventually got it working, and while it wasn't exactly an issue with the recoil itself, this problem was the reason recoil was an issue to add, if that makes sense.

But I digress.

The second thing that I wanted to add was screen shake, and this wasn't really difficult for any particular reason outside of understanding a lot of new documentation, which proved very vague and confusing.

From there, I wanted to add auto-writing text, which seemed fairly fun. Unfortunately, this required even more new documentation I didn't understand, but once I got it (after about 4 hours), I had self-typing text, along with a sound effect, changing pitch based on who's talking, and the functionalty for text speed options when I get around to an options menu.

This goal was originally much bigger, meant to include things like dealing with line breaking (where text will start typing on one line, run out of space, and the entire sentence just jumps to the next one), being able to skip the text writing and just read the full sentence at once, and large scale goals like choices, but those proved too much to handle so I moved them to a separate goal in the future.

The only major problem with the conversation code is that your movement is disabled when you initiate one, and you can only talk within a certain range.

What this means is that if you dash while initiating a conversation, or shoot at the very edge of the radius that you can talk, you can softlock yourself.

I'll likely be able to fix it by either adding a separate radius that you can continue a conversation, making it really large, and only active when the person is already talking, or not allowing conversations when the person is attacking or dodging, but there are a few kinks in both these ideas which I need to sort out first, and it doesn't seem like something that'll crop up unless you're intentionally *trying* to softlock things, so I can leave it for the moment.

The next major addition was save games, which for the most part, wasn't as hard as I expected. All the code for saving and loading games is implemented and ready.

The only problem *here* is that I haven't figured out a way to actually reset save games, and without that functionality, adding them seems like it'll do more harm than good, but while there's no way to trigger these functions, the functionality is implemented.

A similar story happened with a chunk of her shooting code. As I said before, I wanted to use this time to expand on her shooting a little bit, and one of these overarching goals was what to do after shooting, but before regaining movement. As of now, how the shooting works is that you fire your gun, wait a certain number of frames, regain movement, and then the game lets you fire again. While this isn't an inherently *bad* way of doing things, it can feel a bit jittery when you shoot, move forwards for 2 or 3 frames, and then shoot again and stop to a halt. It also has another advatage of working as it's own buffer system, and allowing for things like continuous fire and charge shots fairly easily.

What I did was add an animation of her putting away her gun, which I had created before all this but never implemented because I didn't have an easy way to do that. During this animation, you could do a lot of things (or that's ideally the plan), but the only ones implemented are the ability to immediately shoot again and also jump (I also added the ability to jump during the startup for more leniency). Things in the future will include charge shots and also probably changing direction if I can figure that out.

Other than that, the biggest change was the addition of a double jump animation, which was somehow the most difficult and time consuming task of all of these. My animation interaction web was already a complex mess and this only made that worse, the code to get this running took me forever to get up and running because I spent about 5 hours trying to get a solution to work before realizing there was an easier way to do it (which was still buggy), and just to rub it in my face, my neighbourhood had a blackout in the middle of the night while I was asleep and my project was still open (and I forgot to save ofc), so while the code was fine and well, I had to redo the animation web, which took obsenely long.

The last and final upgrade during this build wasn't one to the game, bit to my overall hardware. After paying more than I'd like to admit, I now had a proper headset with a proper microphone, which makes recording audio significantly easier. It also means everything I need to make this game can now be accessed on my PC instead of needing my crusty laptop, and I think any future hurdles can be done through my PC as well.

But that should be enough for this build. For 3 weeks of work, I'm pretty proud of myself. All that's left is to post this devlog and post.

I want to experiment with my marketing more, though. As of now, I have ~75 Twitter followers and it can feel like I'm screaming into the void at times. I want to figure out a way to get myself out there, and give this project real attention. I'll likely record a gameplay gif to go with the Twitter post, but I'm just hoping for the best here.

Otherwise, for the next build, I want to experiment more with her shooting. I've mentioned the charge shot idea many times, but I also want to see how things like hitstop would feel (even just a little), and possibly directional shooting. This one is definitely gonna happen, I just don't know if I'm up for more animating just yet.

I also want to add an options menu and improve on my enemy AI, as that feels like the weakest aspect, and the options menu seems long overdue. 

I may finish with the save games and the conversation funtionality too, but those are big ifs.

Files

0.7.0.zip 19 MB
Oct 12, 2020

Get Endbound: Prototype

Leave a comment

Log in with itch.io to leave a comment.