Starting a Custom Rogue-Like Battle System


An RPG Jack-of-all-trades
Jul 5, 2015
Reaction score
Primarily Uses
Hi guys. I made this thread because I'm doing a system of my own in RMXP and I'd like some help in what's best to begin with.

My project placeholder name is Rogue-Like System. It introduces a turn-based battle system in the Map environment, by making the battle interactions take place in the map itself.

Battlers: Battlers are events that have "#" as first digit in their event names, telling the engine they will perform battle actions. A name for a battler is, for instance, "#A_001_F_99_99_99" They have the following parameters:

  • #: Indicate it is read as a possible battler.
  • A / E: Indicates if it takes as reference an actor or an enemy.
  • F: Indicates what force they belong (who they attack, who they aid)
  • 99_99_99: Are indicating parameters as health and so on. To be configured by the user.

Ticks: One basic concept is the "Tick". Every tick, the events in the map perform actions. There are two kinds of game stance:

  • Active Battle (Continuous Ticks): Ticks happen continuously, so every battler performs continuous actions. In order to have synchronized ticks, all events are set to the same move_speed and frequency.
  • Turn Based Battle (Ticks Defined by Player): Ticks only happen when the player does an action. So it works as a turn based tactical battle.
The game runs by default in Active Battle mode, since battler events can fight one another without the player being involved. Once the player engages in combat, the Turn-Based battle is automatically turned-on (by default), but the idea is of both systems being optional and changeable at any time.

Behaviors: The event battlers are meant to follow a rich A.I. The idea is that they should be able to read what's around them to some degree and add actions to a list of possible actions and assign priorities to those actions depending on the force they belong and their own personality. (Actions being attack someone, flee from someone, or aid or defend someone). What the behavior system can allow is a feature present in games as Baldur's Gate, where every NPC is attackable at any moment, and they might respond differently to different interactions. (A priest heals everyone around him, a merchant runs away and begs for mercy at the slight hostility, and so on). Also, wild animals can attack other wild animals in this system. And you may intervene if you want.


The issues: I'm already implementing everything I can, but I have a couple of doubts... (I'm a bit familiar with Python, but not so experienced with RGSS)

  • I'm basically making every map a possible battle scene, since anytime hostile interactions can happen between events and/or player. Does that mean it is better to really alter the Scene_Map, in order to adapt it to my system? (The same question applies for many things I'm altering, as the events, adding parameters, and the characters, that should respect the tick system in order to move) Is it better to create another Scene of my own that implements events in its own way, for compatibility and such?
  • The idea is that everything that happens in the game is restricted to the Ticks. If an event has a move route, he should wait for the ticks green light to keep on. I'm unsure how to process event commands and such, I'll be changing a load of methods in Game_Character and whatnot so they respect the tick flow (whether turn-based or active).
The issues are many, in fact. I'm not so bad at knowing the Ruby language, but I'm insecure in how to intervene in the RMXP engine the best way possible.

And also, if anyone is interested in helping me with this, it would be nice to share the project with someone who wants to fulfill this as well. :)

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

I spoke with hudell and many programmer about the Window_BattleLog class and we all just agreed to pretend this class just doesn't exists lol
I haven't been able to solidify a cohesive plot so dropped out of a game jam but, on a fun note, I pre-ordered MZ today! :LZSwink:
So I just spent the weekend...playing my own game. The one I released last year. Yep you heard that right.
Goal for MZ? None... I'm still curious how to finish my VXA project and how it looks like when it actually finished. Which will take at least another two years. Coming late again to the party.

Forum statistics

Latest member