Jump to content
Zarando

I am developing an idle-game RPG with no real-time aspect to the combat. How to design a combat/spell system that is nevertheless interesting?

Recommended Posts

Hi all! I am developing a simple browser-based, idle-style RPG and I'd love your feedback on how to implement a spell/ability system. In my game, you don't move your character around in real time, but rather you press buttons on the UI to "send" your Hero on missions, quests, etc. There is an interactive world map where you can click to move your Hero around different regions as well. The idea is that it's a game you can check in on a few times a day and play for a 5-15 minutes at a time. The gameplay loop looks something like - send hero on a mission for 4 hours, check back when he's done, select the next action to send him on, etc. While on missions, you don't have any active interactions or things to do, other than read Lore, look up some informational stuff on the world map, check your crafting page, etc.

Heroes have the usual RPG stats which are increased via Hero Level and items (STR, AGI, INT, etc.), and those stats ultimately feed into the formulas which determine how much damage a Hero does per attack. The basic combat logic is just each Hero taking turns hitting each other until one Hero reaches 0HP. Very simplistic but again it's what I am able to code on my own and keeping as my Version 1.0. On top of this combat logic I want to add spells and abilities which are able to be cast sporadically throughout a fight.

The game design issue I am wrestling with is how to add spells/abilities into this constrained system in an interesting and fun way. As there is no real-time aspect to combat, the game needs logic/rules about when the Hero should cast a particular spell.

Assuming that spells cost mana and have cooldowns, it's easy enough to program the game to check if the Hero has enough mana and cooldown is up to cast a particular spell at the start of an attack turn. But the real pickle is that once you have multiple spells, the game needs to know when to cast a particular spell, assuming 2+ spells are available to be cast during a particular attack turn.

The current system I have designed is based on having 2 Active Spell Slots (Primary and Secondary), and then a bunch of passive slots. The game will always look to cast your Primary Spell if possible, and then Secondary spell, and failing that will go to your character's regular attack. The passive abilities are calculated at the start of the fight and provide their bonuses/effects which is trivial. 

What do you all think of this system? Is there some ways it can be improved within the limitations of not being real-time?  I am open to all ideas - thank you for your input.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted