Devnote Friday #1


And here’s the first devnote post, after first week of the game being in development (I’m saying ‘the game’ because I’m, honestly, still uncertain about the final name. I’ll try posing every Friday from now on, even if I have nothing exceptional to report. I think it’s a good way to keep myself in check, as well as to let you know that neither me on the project is dead. Some may say it’s too early for devnotes, but me, personally, I like the idea of documenting the game from day one. Plus I’ll try to talk through some technical details here, so if you’ll ever have similar problems with your projects you can see how I tried to solve them. But let’s get to some of the features are now complete!


Dodging & Dodge Cooldown Meter

Hoo boy, was this one a bitch to implement… First I had issues with the character not moving at all due to friction, so I increased the launch speed to ludicrous amounts and it worked. Too well, one may say. Were you to jump and dodge at the same time, you’d slam into a wall at Mach 10. The easiest way to fix it’ Disable dodging while mid-air. That didn’t solve the issue of being able to launch yourself from a ledge, or even a crate, though. What did the trick, was adding a timer which, when countdown of few milliseconds is over, runs a branch that divides the velocity values by 10 and adds some downwards velocity. Thanks to that I was able to restore dodging while in air.


Shooting and projectile template

The essence of the game is being able to upgrade your gun to act in various… Interesting ways. To shoot bouncing projectiles, flaming bullets, explosives, and whatever my imagination brings. I implemented an example projectile, how one of the combinations may look. It glows, it leaves a trail, it bounces, it explodes. Explosion particles spawning wasn’t a breeze to make, let me tell you that much. The event that should run a graph when projectile stops didn’t work, in the slightest. Particle emitter, once spawned on hit, couldn’t be despawned… What fixed the issue with not being able to despawn an emitter was taking a projectile lifespan time and feeding it to a delay node between an EventBeginPlay event and spawning a new actor on the last known location of the projectile. Yes, spawning a new actor that had a particle emitter with explosion particles and a light attached to it. And it also had a self-destruction mechanism after a millisecond or two. Huge shoutout to people from Game Developers League Discord server. I wouldn’t have been able to solve some of those issues without them.


Afterword

Coming next week (hopefully) player health and environmental hazards. Don’t want to make any promises, but that looks like a sensible goal. Also, yes, I know my particle effects suck.