Devnote Friday #6

Not much has been done this week. To be honest, I almost forgot to post about anything that was done. Juggling game development and college isn’t easy, and it is taking its toll. Don’t do it, kids.

I managed to implement two little features, however.

Destructible Meshes


You shoot something, this something blows up and falls apart. That’s about it. I still need to tinker with physics settings a bit a lot, but it’s there and it’s working. More or less.

The barrel needs proper inner walls, as well as it has to damage the player. Some actual explosion effects would also be nice.

Beam Hazard

Just a simple beam, you may think. And you would be right. But it’s nice to have it.

The beam itself passes through objects, as you can see, but the damage dealt doesn’t. It’s all a matter of playing with the particle emitter, and somehow limiting its range. Can be done. Probably.

If you were to ever want to create such a beam yourself, remember one thing: raycasts happen from world location to world location. They’re not relative to the actor, they’re absolute in the world.


I’m no longer entirely sure whether or not Devnote Fridays will remain a regular thing. I wanted them to be, I really did, but I thought about it and… I don’t think there’d be any point in making posts titled “I’ve done nothing thos week!”.

That’s why, from now on, Devnote Fridays will be happening if there’s something to actually show. I think. I don’t know.

Time management is hard.

Devnote Friday #5

Today a little bit earlier. That’s because I finished what I could, and what’s left is simply too time-consuming for me to start now. Making games until the first rays of sun start shining through the window? Not always the best idea.

Target Practice

Nothing terribly special, just simple targets to practice your aim. They react to hits, they have hit zones (headshots and bodyshots), and were created so I can have something to test any enemy-related mechanics without making actual enemies yet.

So far they only fall over, but a button supposed to reset them was created. Except it doesn’t work. And somehow interferes with the next feature I’ll talk about in this post, causing it to not react to player’s input. I may have an idea how to solve it, though.

The whole “doesn’t even reset what it’s supposed to reset” part, however? No idea. Yet.

Next step (after getting the reset to work) will probably be triggering some events when all targets are down. That’ll be a base for a mechanic of clearing rooms to progress.

Health Mote Spawner

Probably more of a test room/tutorial thing, than an actual in-game mechanic, but it can be easily customized. Buying health for coins, perhaps? A rare chance for the spawner to spawn in a secret area? We’ll see.

So far it does what it’s supposed to do. I had some issues making the “press E to interact” prompt face the player at all times, but I managed.

And now I’ll be abusing this newly acquired technology.

Expect prompts and popups following you everywhere.


Come this Monday, academic year begins. My third semester in IT college. While it does give me opportunity to learn, and possibly create better things more efficiently with the acquired knowledge, it will be a significant hit on the amount of time I can spare for OneGun, no doubt.

There may come Devnote Fridays, when there are no gifs to show.

There may come ones where there is no text to write either.

But even during those ones, you will still get an update. An update on a lack of an update if need be, but an update nonetheless.

Devnote Friday #4

It’s 4:38 in the morning here, but damn it was worth it. It just feels so good when you finally get the thing that wasn’t working to work. When you implement a feature without having to look at 17 tutorials on Youtube. When you feel like you’re making progress – both in the project and as a developer.

Here’s this week’s summary in development of OneGun. Still not sure about the final name, by the way.

Fire rate limits, using up ammo & reloading

For the longest time I was wondering whether the game should have limited ammo and have you rely on ammo pickups,or just have no limits allowing you to shoot endlessly. Eventually, I decided to go in the middle – your ammo isn’t limited, but you do have to reload. That will make balancing high-damage combinations easier.

Also, reloading, with its own, fancy meter. No, not really that fancy. The entire UI is a placeholder at this point. But it works. And that’s what truly counts.

And don’t look at that jiggling buzzsaw. It’s supposed to spin. It doesn’t, though. For reasons unknown. Beauty of developing a game, ladies and gentlemen – you fix one things, another one stops working.

Health pickups & a working HP gauge

Basically, this. Health pickups are now a thing, pretty fancy looking too, if you ask me. That means you’re no longer doomed to fail when you’re at 10 health, facing a room full of buzzsaws. They will be dropping from enemies and stuff, I may even add some fancy jiggling animation to them.

And, yes, the HP gauge that was a source of my misery finally works! And the error was the most stupid thing imaginable!

Who would’ve thought, that in Unreal Engine 1 = 100%, not 100 = 100%!

I’m not the only one who made that mistake, right..?



This week’s been rather tough, but it’s only going to get tougher. Especially when September ends and college starts. Even less free time to work on the project! Woohoo!

That’s why I need to do as much as I can before October.

Devnote Friday #2

I’ll be honest with you, I was uncertain whether I’ll have something to show today or not. Some of the things that now work work, even though I have no idea why, and some things don’t work, and I also have no idea why. Besides, smoothing faces in Blender screwed me over. Always export your *.fbx files as binary, with exported face normals. Just so you know.

But I do have something after all. Two and a half somethings, depending how you look at it.

Damage dealt to player

Yep, player can be damaged now. All damage taken is displayed in the console so far, but I’ll implement some better way when the time comes. Also, death screen. Not really. Just a widget that’s being created when health value reaches 0. But it looks cool.

I had to make HP a float instead of an integer, since ProgressBar widget doesn’t take integers. That lead to what you can see, health going into negative. It’s an easy fix, though, I just somehow overlooked it. Will be fixed Monday, probably.

Damage dealt by environmental hazards

You might’ve thought those two are the same, but you’d be wrong. Player receiving damage and responding to it is completely different from anything dealing damage to player.

In any case, there’s a template for some stationary, or maybe even moving environmental hazards that damage you when you touch them, so that’s done and waiting to be reused. Whew.

Still can;t figure out what the hell’s wrong with the cannonballs you can kinda see at the beginning. They act all kinds of weird, and I’ll probably remake them from scratch at this point.

Damage being displayed

The reason I had to make health variable into a float instead of a simple integer. And bane of my existence at the same time.

I’ve tried three different methods of displaying the HP of player on the bar. One of them was a step-by-step recreation of an official Unreal Engine tutorial.

It still doesn’t work, doesn’t show the HP you have until it reaches 0.

Oh well.


I also can’t, for the love of me, decide on a final name of the project. Maybe when it’s a little bit more complete I’ll be able to select the best name that suits it. So far, let’s stick to OneGun, or just The Game.

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.


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.

The process begins…

After much procrastination, countless trials (and errors), experimenting with various genres and ideas I present you my first project that is going public.

Codename so far is OneGun.

You have one gun, but countless upgrades to it you can find. Swap stocks, receivers, barrels, attachments and whatnot. Get various projectile effects – bouncing, explosions, fire damage, AoE aura… You name it!

The work has officially started and I’ll try to keep you updated on the progress as best as I can.