The Lost Hope
The Lost Hope
The Lost Hope is a 2D metroidvania-style game with a bloodborne-like vibe, and I originally started developing it using Monogame. At the time, I was super excited about the project, but it quickly became clear that building such a big game as a one-man team, especially with a custom engine on top of Monogame, was a bit of a stretch. Most of the development time was spent creating the engine itself, which slowed down progress on the actual game.
Despite that, I managed to get pretty far and created some interesting systems along the way. I had to hit pause on the project for the time being. You can check out the first iteration of the project on github.
Gameplay
In terms of gameplay, here’s what I’ve managed to get so far:

Some key features I’ve implemented:
- Character Movement – This works for both the player and NPCs, including enemies.
- State Machine Controller – A shared implementation for all game entities that need state.
- LDtk Integration – Full integration with LDtk for level transitions.
- Main Mechanic – The unique mechanic where Ammo = Health.
- Enemy AI – Simple enemy AI for basic interactions.
- Interactions – The core interactions that drive the gameplay forward.
Engine
Lost Hope's engine has been built alongside the game itself. Some features include:
- Animation System – Using Aseprite and Monogame.Aseprite for smooth animations.
- Orthographic Camera – A simple yet effective camera system.
- Custom Input System – A fully custom pooled input system for better control.
- UI System – A custom-built UI system to handle all in-game interfaces.
- Content Manager – A custom content manager to handle assets efficiently.
- Pooling & Localization – For better performance and multi-language support.
- Scriptable Objects – Similar to Unity’s, but tailored to work seamlessly and edited during runtime.
Custom Editor
One of my favorite additions is the dedicated editor I created using Imgui. It allows me to edit scriptable objects using reflection, which makes managing game data a lot easier. Here's a quick look at it:

I just create the scriptable object class in C# and automatically get an editor with all the fields for me to play around with, and save as json. There are also mechanisms to easily load and manage those saved assets into the game.
I also made it very easy to extend the editor, and draw things independently, like what you see above with me drawing the actual gun sprite and its controls.
What's next
I'll be back on this project when the time is right. The world and mechanics that I'll be exploring with this game are things that haven't been seen yet, at least to my knowledge. I have a lot of lore and systems written already too. You can say that I'm laying the ground work right now; learning, developing tools and systems to allow for such a game to be made. Time is also a commodity that I don't have that much of right now.
I plan to allocate a year or two to this project when things get a little settled down in the future, hopefully with a proper team to help out.
Screenshots
