CrazyPerson
Grim Reaper
- Joined
- Dec 27, 2013
- Messages
- 442
- Reputation score
- 63
Re: Malise and the Machine (New RPG!)
On the gameplay: I gotta say, my greatest gripe is that the ATB never stops.
In most ATB-style games I've played, there was at least an option to make ATB timers stop while you're selecting an action:
That way, you have time looking through the skill list and picking the right target,
rather than just frantically pressing buttons because every half-second you spend in menus is one your characters lose in combat.
It also means NPCs essentially cheat the ATB: You'd expect that if actor A fills their bar before actor B, actor A gets to act first.
However, because it depends on who completes input first, and NPCs input instantly, NPCs get a lot more first-actions in than you'd expect.
I can see what they were trying to do: There's some interaction where you can be attacked by other enemies while struggling out of a grab, and it affects the meters.
Unfortunately, more often than not, what happens is you have one character in the struggle mechanic,
while the other character is ready and would really love to attack, but can't be controlled until the struggle minigame is over.
In the meantime, of course, the enemies have no such limitations, and will happily use the time to charge up a grab on your other character.
Unfortunately, I'm not sure this would be easy to fix - I remember the devs writing about threading issues,
which makes me suspect they've implemented the ATB stuff by running a thread for each actor in combat.
That means pausing would potentially take some cross-thread trickery and more debugging.
IMHO a the whole threading is a bad plan (this should be written iteratively, with an outer timer loop and each timeslice advancing all characters by a small chunk of time),
but I'm unfamiliar with the limitations of RPGMaker, perhaps implementing advanced enemy AI with state machines is simply not a thing you can do...
On the gameplay: I gotta say, my greatest gripe is that the ATB never stops.
In most ATB-style games I've played, there was at least an option to make ATB timers stop while you're selecting an action:
That way, you have time looking through the skill list and picking the right target,
rather than just frantically pressing buttons because every half-second you spend in menus is one your characters lose in combat.
It also means NPCs essentially cheat the ATB: You'd expect that if actor A fills their bar before actor B, actor A gets to act first.
However, because it depends on who completes input first, and NPCs input instantly, NPCs get a lot more first-actions in than you'd expect.
I can see what they were trying to do: There's some interaction where you can be attacked by other enemies while struggling out of a grab, and it affects the meters.
Unfortunately, more often than not, what happens is you have one character in the struggle mechanic,
while the other character is ready and would really love to attack, but can't be controlled until the struggle minigame is over.
In the meantime, of course, the enemies have no such limitations, and will happily use the time to charge up a grab on your other character.
Unfortunately, I'm not sure this would be easy to fix - I remember the devs writing about threading issues,
which makes me suspect they've implemented the ATB stuff by running a thread for each actor in combat.
That means pausing would potentially take some cross-thread trickery and more debugging.
IMHO a the whole threading is a bad plan (this should be written iteratively, with an outer timer loop and each timeslice advancing all characters by a small chunk of time),
but I'm unfamiliar with the limitations of RPGMaker, perhaps implementing advanced enemy AI with state machines is simply not a thing you can do...