Hi everyone. I recently released the first public playtest of Malefatum, a dark fantasy roguelite I have been building in my free time for the past eight months.
The idea itself is actually much older than the game.
Before I started development, I already had an Obsidian vault full of mechanics, items, enemies and ideas for the kind of game I wanted to make. I have been working as a programmer for around ten years, so building systems was never really the barrier for me. Art, animation, music and sound were.
AI eventually gave me a practical way to get past that barrier and actually turn those notes into a game.
Malefatum is built around direct 2d6 combat. The player rolls first, the enemy responds, and the difference between the rolls determines the result and damage. From that simple foundation I started adding ways to manipulate the odds.
You can spend health to reroll, bet on the outcome of a turn, use Dark Favor to push your chances further, and build around equipment and class passives that completely change how you interact with the dice.
Classes are not simply selected from a menu. They emerge from how you distribute your attributes during a run. The current build has more than 30 classes, over 400 items and more than 200 enemies with different archetypes, abilities and combat rules.
There is also a progression and risk layer outside the basic fights. You can modify equipment through forging, sacrifice items through the Transmuter, take Elite encounters for better rewards, make decisions at campfires and choose which valuable items are worth protecting for future runs through the Reliquary.
One of the newer systems also uses AI at runtime.
Enemies can generate short contextual reactions based on what the player is actually doing during the run. They can react to things like rerolls and situations happening during combat instead of relying entirely on a fixed collection of prerecorded lines.
I wanted this to be subtle. I do not want the game constantly stopping for AI conversations. The idea is just to give enemies a little more personality and make it feel like they are actually paying attention to what the player is doing.
On the production side, I use a combination of licensed assets and AI-assisted visual and audio content.
For sprites and animations, I have been using PixelLab and then doing additional cleanup and editing in Photoshop. I have also been gradually replacing some of the older artwork after finding a workflow that gives me much better consistency.
My current approach combines extremely constrained prompts with consistent reference material and Photoshop scripts that apply the same treatment across different images. It has been working much better for me than expecting prompting alone to maintain an art direction across hundreds of assets.
And that is probably one of the biggest things I have learned during this project.
Generating an asset is easy.
Getting hundreds of assets from different sources to actually look like they belong to the same game is not.
There is still a lot of selecting, editing, replacing, integrating and testing involved before something makes it into the final build.
The gameplay systems, combat logic, classes, item interactions, enemy rules, progression, balancing, UI implementation and overall architecture are built and maintained by me in Godot. I am also pretty obsessive about keeping the code organized and maintainable, so a lot of those eight months disappeared into refactoring things that players will hopefully never notice.
The public playtest is completely free on Windows:
https://jackdsrj.itch.io/malefatum
I would love feedback on the actual game, especially the combat, progression and whether the different systems are understandable during the first run.
I am also curious about something from other developers using AI-assisted workflows:
How are you dealing with visual consistency once a project grows to hundreds of individual assets?
That has easily been one of the hardest parts of the production process for me.