Swinghammer is a 2D, physics-based hobby and job simulation game built in Godot 4.4. Developed as a solo project, Swinghammer aims to showcase innovative pixel-based forging mechanics packaged in a handcrafted pixel art setting.
Forge weapons to win the war and becomethe best blacksmith in town! Play Swinghammer now on itch.io!
After 6 months of work, Swinghammer is finally ready to be made public! Use the embedded card to take you to the itch.io or play the demo here directly below!
This is the first gameplay demo of an early Swinghammer build.
Watch as I show off heating, forging and quenching the steel.
I also show off a sped-up day night cycle and how that effects the lighting inside and outside of the workshop.
I discovered that, once loading was complete, starting the game in a browser caused a significant freeze as numerous visual processes were triggered at once. Profiling revealed the issue: simultaneous particle compilations and reparenting operations occurred as the game was unpaused, allowing these processes to begin.
Initial solutions like background loading and pre-instantiation had little effect. The fix involved allowing these processes to run while the game was paused, and briefly triggering key visuals just before gameplay, while they were off-screen. This distributed the workload more appropriately, avoiding an impact on gameplay.
It was a valuable lesson in managing single-threaded constraints and load timing in real-time applications.
Welcome to the workshop where you'll find all your tools to forge away day and night. Heat steel in the furnace by pumping the bellows, swing your hammer to send sparks flying and sharpen until the blade shines!
Quench heated steel by dipping it into this barrel to harden it for sharpening.
Quenching steel too cold will result in a lower quality product, prone to cracking.
The player can also tactically quench sections of the steel to protect them from further heating and hammer strikes.
A hardened piece of steel can be pressed against this tool to send sparks flying.
Make sure all sections are fully sharpened before selling to ensure the highest prices but be careful; grind away too much and risk lowering the quality and therefore the price.
This tool combo is a must have for any blacksmith.
Swing the hammer and strike when the steel is hot to let out a satisfying clang.
Forge hot steel and work fast or let the steel cool for finer adjustments on important pieces.
Just remember to leave a tang for the handle.
Heating pieces allows blacksmiths to work harder materials.
Place the item in the coals and pump the bellows to see the fire grow.
The more intense the fire, the quicker the piece heats, but be careful not to burn the steel and remember to move it around for an even heat.
I’ll admit, it took me longer than I expected. Getting to grips with Godot’s control nodes was a challenge, and at times it felt like nothing wanted to work. But thanks to the growing community on YouTube and the official documentation, I finally wrangled the buttons and containers into shape.
Once the functionality of buying and selling was introduced, I decided that the temporary UI solution attached did not match the feel of the rest of the game and was too compact. This design sheet highlights aspects of the current design that did not work well. These were iterated on to produce a new design more fitting for Swinghammer.
The first iteration saw the water barrel be moved to make space for the far left of the workshop to be used as the buy/sell area. Being here will allow access to the full height of the wall behind for what I decided to be a shelf above, slanted for gravity assisted storage, for buying and a large bin-like area below with a large open mouth to make it easy for items to enter. It is possible that this bin will be exchanged for a weapon rack in the future.
While designing the new UI, I made sure to consider both zoom states and platforms the game offers. This led me to introduce the UI via a sliding panel the player can pull out to access different widgets. This avoids the UI from floating in a random place while also hiding it away to avoid accidental interaction.
This comment was left by a mobile tester who was struggling to remove the steel they had accidently dropped into the barrel.
As the designer, I had quickly learned the knack of doing this using a mouse and had not considered the difficulties for touchscreen devices or an inexperienced user.
To solve this intuitively, I added a transparency effect to the core of the barrel which either triggers on PC when the player's cursor enters the area or toggles when the barrel is pressed on mobile.
Want to get in touch? Drop an email at: