SHOTHOP DEV BLOG - 001
Three weeks of grinding and the game is finally hitting that point where it feels visceral. We’re deep in Godot 4, moving away from rough prototypes and into the actual juice.
Here is the breakdown of what we’ve been doing.
shothop.com
The website was actually put up these last few weeks and it was a bit of a sleeper. We didn’t announce it, we just put it up and left it there to hang out. Some of you subscribed to this substack with it.
The Enemy Rework
We completely trashed the old enemy code. It was a mess of logic that didn’t scale, so we redid every single enemy from the ground up using a Finite State Machine.
The Shield Guy: We built a new heavy hitter. He’s got a helmet, full armor, and a shield charge that will wreck your positioning if you aren’t paying attention.
The Shooter: Ranged combat is in. We gave these guys proper run animations and telegraphing so you can actually read the fight.
Dynamite Dudes: We introduced enemies with a bomb strapped to their chest that chain react. We cranked their radius because big explosions are a requirement for this aesthetic.
Visual Feedback: When you shoot things, they leak. We added headshot multipliers, exploding heads, and better ragdoll physics. Oh also when you shoot things they just fly into the wall and explode. Incredible stuff.
The Storm
Combat is moving into a more “arcane” territory. We scrapped the force push because it felt like garbage. It didn’t fit the flow, so it’s gone.
Lightning Charge: This is the new core for the revolver. The revolver slowly charged up over time and grants you a free lightning shot that arcs between enemies. It’s a single target damage power house, but a multi-enemy damage chipper.
Lightning Rain: We added this as a powerup. Shoot an enemy while the powerup is active and it rains bullets onto the enemy.
Arcane Chainsaw: We built a specific arcane blade for the chainsaw. It’s faster, meaner, and paired with “insane laughter” SFX because we want the melee to feel unhinged. Also, we cranked the blood while you’re using that.
Shotgun Bayonet: We gave the bayonet charge a massive visual overhaul. New effects, better impact, and a cleaner “catch your breath” sound after the lunge.
Critical Refund: When you pop an enemy in the head it will refund you a revolver bullet. Additionally, when you finish an enemy off with a bayonet it will also refund you a shotgun bullet. Only the revolver is capable of a critical hit.
Menus
This deserves an entire section because the menu system that Dlar has been putting together is a master class in making sure that the game allows for anyone to enjoy the game in a way that makes sense to them.
Mute Shit: If you want to mute a certain bus you can do that with a single click.
See More Shit: You can now change your FOV or play entirely in black and white if you’re feeling noire.
See Less Shit: If you ever feel like you don’t want a certain HUD element enabled, Dlar made it so that you can disable ammo, health, move speed, timers, collectibles, and even the player model.
Do More Shit: Want to instantly restart a level? You can turn that on with a single key press.
Controllers: This special hell has been worked on non-stop for the past few weeks as Dlar went through and added all sorts of controller support. Even the weapon bindings are much better.
Dlar has done a ton of background work to make sure that the menus feel as good as possible in the game.
Brutalist Environments
We’ve pivoted the level design to a brutalist, semi-linear style. We want heavy concrete, sharp angles, and clear paths that reward high-speed movement. Additionally, we’ll be adding secrets so you can still play the game at a slower pace if that’s your style.
TrenchBroom Workflow: We’re building these environments in TrenchBroom and pushing them into Godot 4 with func godot. We upgraded our func godot version, but we also made sure to push everything we could into Trenchbroom so that we can build entire maps without even touching Godot. This is a huge step for custom maps when it comes time for community content.
World Interactions: We added unpowered electric panels that act as progression gates and crates that actually splinter and shatter. This is part of our new prefab system that will automatically splinter certain objects a certain way. Everything that can break should break.
Visual Polish: We finally killed the bug where weapons would clip through walls (Z-clipping). It was a nightmare to fix but standing near a wall shouldn’t break the immersion. Apparently this was a feature added in 4.5 or 4.6 and we weren’t aware of it until Stuyk spent like 3 days trying to fix the weapons.
Technical
We officially moved the project to Godot 4.6. This cleared out a massive amount of internal warnings and keeps us on the latest tech. We also built a shader baker for the loading screen to handle the heavy lifting upfront, meaning fewer stutters when the action starts.
Everything is starting to click. The foundation is becoming much more concrete.
Subscribe
That’s about it, if you’re interested in more of our work simply subscribe.
If you like YouTube. Subscribe.
If you like Discord. Join the server.








