Table of Contents
Introduction
In April I completed a Game Jam for The Godot Wild Jam #68, which had the theme "Forge". This had some exciting prospects and some great submissions! The wildcards were: "Wah Wah Wah Waah" - Add a funny Game Over sound; "Pay Attention, 007" - Have cool gadgets in your game; and "Hardcore" - Make the player restart on death.
With the theme in wildcards in mind, I started thinking of some blacksmithing/forging/mining/vampire survivors inspired gameplay. I've done a Vampire Survivors inspired game jam in the past , but I wanted to try a different take on the genre: Mining, Forging and Crafting! Thus Survive the Mines was born.
Survive the Mines takes inspiration from Minecraft, Terraria, Core Keeper, and other Crafting/Mining focused survival sandbox games as well as the typical Survivor genre where enemies constantly pursue you.
In the jam, you start off with a simple set of tools and must explore to find resources to mine while fending off the enemies that pursue you.
You'll have to watch your back while trying to extract those resources. Upon defeating enemies you'll also acquire some resources that you may find useful in crafting!
Create a forge to begin refining your resources, an anvil to process and work those materials into new tools, and a grinding wheel to refine those tools and upgrade them with new stats!
Be alert and don't get overwhelmed, otherwise your run may come to an unexpected end!
Video
Vision
For a 9 day game jam, this scope was manageable and works great for a sense of progression and objectives. However, as feature creep always sets in when doing these jams, I was inspired to create something much larger, and had many features as hopeful candidates should time allow during the jam.
I would have loved to progress the game towards a sense of progressing deeper into the mines that would lead to a boss fight. I wanted more depth in the crafting and building systems that took advantage of the satisfying collection of many materials from fighting or mining. I also wanted combat to feel more exciting, and the enemies to have more behavior to them than a typical follow pattern. I also would love to introduce the ability to join your friends in the experience, as these types of games are more fun when you are joined by others!
With these additional scope creep items off my jam list, I decided it may be worth adding them to a roadmap scope instead for a larger project all together. That's when I decided I would attempt to publish this jam as a larger more feature complete game.
This means my vision for Survive the Mines extends in to the future with the goal of a more polished version which includes:
- Drop in Drop out Multiplayer for a more shared experience with friends.
- This includes a character customization feature, which I've already begun working on as part of my testing for the multiplayer aspect of the game.
- A larger sense of depth and exploration from the map size and layers, including a focus on a unique spin on the Roguelike genre.
- I'm still refining the concept behind this feature, as it provides an exciting gameplay loop to the core game experience.
- A deeper crafting and building system that leverages the vast and unique items that can be collected and crafted as you progress through the game.
- Improved combat for the enemies and moving away from the Vampire Survivors type combat in favor of a more interactive and interesting type of gameplay.
- More to come in future dev logs as I iron out the roadmap and determine a proper set of scope for a release!
Whats Next
So what's next? The game jam was in April, that means a few weeks have gone by since the end of that jam and I've continued working on the project since.
I've already mentioned the fact that I'm doing a multiplayer test and have started building the character customization feature to go along with it. This is still early and will need some refinement, but is well underway at this point. I want to make sure that I tackle multiplayer early, as it's important that it's ironed out while I build new features. It's easier if multiplayer isn't an after thought.
I've also been working with Steam to get my developer application paperwork approved so I can get a steam page up for the game. In the meantime I've been working to implement some basic functionality using the wonderful GodotSteam library to get my feet wet while using Steam with Godot.
In addition to the multiplayer, I've been rewriting some core systems to make them more maintainable, and to work better with a multiplayer host. The first on this list was the inventory system. At this point I've done a bit of work with Inventory systems and UI elements , so this felt like a natural place to focus my experience. While building out a more involved inventory system, I ran into a strange bug with drag and drop and alt mouse button presses. More specifically when calling the force_drag
function on a Control node. I ended up submitting a GitHub issue and spent some time digging into the source code trying to resolve the issue. The fix came through quick and should be resolved in 4.3.
This side quest ended up being a fun experience in working within the Godot source code, something I had hoped to do, but had been intimidated by for some time now. Getting to better understand the core of the engine is a skill I'd love to have at some point.
The current game jam version of the game is available over on my itch.io page and is playable in the browser. My goal is to continue to progress the game in a playable manner while providing updates to select group of people to aid in testing, especially as multiplayer becomes more fleshed out.
I'll be sharing updates and progress on my discord and relevant social pages. So if you wanna stay up to date, be sure to join us, links in the description.
If you would like to consider supporting the development of this project, head on over to my Ko-Fi page and support me there, or help spread the word by liking and sharing with others, that helps YouTube know there's interest in my project!
I'll be releasing dev logs as often as makes sense based on the progress of the project, and meaningful updates to share with you all. If you want more frequent, less visually exciting updates, be sure to join us in the discord!
Thanks for all support on the channel , I'm excited to have you all along side me for this new journey!
Happy coding!