The world was not prepared for the invasion. In a few months, every kingdom of the known world surrendered to the magic-using invaders masquerading as our old Gods. They claim their appearance is the retribution for our sins. Not everyone is buying their story and so, the shadow council has been born. They are the ones funding the resistance. Your job will be to build up and lead this resistance. Learn the real intention of the invaders and command our troops to sabotage it wherever you can. Prepare for the moment when we can break the chains of magic put on humanity. The council will be watching you, Commander!
- Turn-based combat system with procedurally generated maps.
- Build up your base and spread the resistance spy network across the continent to learn more about the invaders.
- Research new skills and equipment to be used by your troops. These will be semi-random so that you will have to adapt your strategy for the given situation.
- Diverse roster of enemies with their own skills and tactics.
- Randomized enemy pool, so that every campaign will test you in a different way.
- 100+ skills with a classless system providing countless possible character builds.
- Permadeath. Characters can (and will!) die permanently in combat.
- Character pool support. Create unique characters which can appear in the campaign.
Amethyst Dreamers is a small independent 2 person team from Budapest, Hungary. Our goal with Slaves of Magic is to create a game with great tactical depth, unique game mechanics, and with high replayability. In short, a game we would love to play as well. In designing the game, we took a lot of inspiration from the XCOM series and the original Guild Wars.
Hello everyone! This devlog will be a bit more technical than usual, so I will start with some general eye candy before going into today's main topic.
As promised in the previous devlog, the creation of character animations with arms is progressing nicely.
Now, to the main topic, the skill system. Let's define our goals as usual first:
When I first started working on this project I wanted to create a playable prototype as soon as possible so I went with a naive solution I think worth talking about before I rewrote the system. Basically, I created three types of skills. Attack skills, movement skills, and buff/debuff skills. It is a great simple system, quick to set up, intuitive, at first glance modular, so what is the problem?
The problem is when you want to create an attack skill with a buff/debuff effect if hit for example. Or a skill that involves movement as well. You can get around this by copy-pasting the relevant code into the main skill category, but it is a big no-no in the programming world. Mostly because if you want to change something in one place, you need to remember to change the copy of it too. More chance to make a mistake, which we want to reduce not increase! Not to mention it will create a messy code that is hard to read.
So, we need to go deeper than the type of skill to reach the real building blocks from which a skill can be created modularly. In our new system, a skill is created from 4 major parts.
These are the building blocks of how we define skills in our game. What modders (and us as well as we are developing) will be able to do is to use the modules I created, re-parameterize them, and link them together in any way they like to, as these are freely editable in JSON file format. Like building with lego, just the modules are the lego pieces, and the end result is a skill.
Here is the JSON file of the basic sword attack:
Human readable and editable. Thankfully not even too long, because every parameter has a default value, and you only need to write it out if you want to change that value. It is using the melee_targeting module, so choosable tiles are the ones in melee range. Line_to_target affecting module basically means to draw a line from the character to the chosen tile. Every tile in that line is affected. The width parameter defines the width of the line in tiles. And the attack_execute module means it is going to do an attack against the unit in the affected tiles, using the weapon damage by default. The skill in the game:
To demonstrate the power of this system, let's say I want the basic attack to be a sweeping attack, so to not only attack the tile that was chosen but the tiles next to it as well. All you need to do to edit the line_to_target affecting parameter width value to 2. That will make the line wider to the target so that we attack in a cone, like so:
I think it is pretty neat that we can do this without touching the code! Of course, we should replace the animation with some sort of a sweeping animation as well for better visual feedback (just replace the self_effects in the JSON) but I think this gets the point across. In addition, I intentionally kept the example simple. I only used 1 module each, but you can add multiples as well. Want to create an attack that hit twice? Add another attack executes. Want to add a debuff to the skill? Just add the proper debuff execute module to the skill.
So, this is the backend rework I was working on while the animations are being done. It took a while to get this system working, but I believe it will speed up the process of adding skills into the game by a lot plus it is mod-friendly if the community wants to tinker with it. So that's it for today's devlog, and speaking of community, if you are interested in Slaves of Magic you can show us your support by wishlisting the game on Steam here!
A new trailer, some insights into it, and some extra bit which couldn't make it into the trailer in time, but is in the work.
This devlog is about what you can expect from the base-building aspect of the game.
This devlog is about the changes brought forward from testing. Plus explaining a few new things added to the map.
This devlog is about how the campaign AI can interact with the world, and the player.
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.