Dororo

Gespenst MKII pilot
Veteran
Joined
May 24, 2020
Messages
261
Reaction score
934
First Language
Italian
Primarily Uses
RMMV
NOTE: totally reworded after trying to do it on my own and hitting some wall.

A TPBS VARIANT PLUGIN


What it does?
It work like Panzer Dragoon Legends changing how the TPBS system is intended to work.
Skills and actions cost part of your timebar. So, the more you wait the more powerfull skills you access.

Features
This plugin work in the TPBS alone and should allow these features when enabled.

Set up the Tp count limit (more than 4 seconds): the system require forthe counter to go slower.

Time cost: each skill should own a "time cost" variable. The skill become available the moment your TPBS count is equal or above this amount.
Example: a skill require 75 points. You need 75% of the gauge filled.
The skill time cost is subtracted from your TPBS count instead of resetting the gauge each time.
Example: you own 80% of gauge, the skill cost 25 points. This reduce your gauge to 55%.

Basic actions gauge: to perform normal action. This parameter (probably a notetag for characters and individual opponents) determine the percentage of gauge needed for the default actions.
Example: you can determine that for chara [id:5] attack become available at 20% gauge and items at 50% gauge.

Passive skills on time: you should be able to determine the triggering of an autoskill by the actual TPBS count.
Such skills doesn't reduce the time gauge (so they use a different notetag).
Example: at 80% gauge filled, you'll trigger a passive skill for extra attack bonus.

No auto trigger! : That's the hardest thing. Normally, in TPBS, your character turn "active" and "input" states automatically when the time gauge is filled up. With this plugin, you must click a button to show up the allowed actions. This can happen despite your gauge is filled or not.
A character can stay still and the overall batlle time progress the same (that's mean there's need for computing a turn differently, your character can stand still many turns).
Example: the battle begin and you click on the character button. No option is available as your gauge isn't enough to perform any action so far.
Side note: if possible, binding the character buttons to a key for quick access of his actions.

No random starting TPBS count: self-explanatory.

Why this plugin?
Many people struggle to come with exciting single character combat systems. This plugin is intended to help them, as the original concept come from such a system.

Challenges
The harder thing is probably understanding the combat flow, specially the mechanic that trigger internal statuses of battlers in TPBS and how "turn" work.
The turn count should be changed, probably.
The other challenge is to come with an ergonomical interface that allow you to select/unselect the character, turning him idle/active at will despite the Tpb count.
 
Last edited:

Dororo

Gespenst MKII pilot
Veteran
Joined
May 24, 2020
Messages
261
Reaction score
934
First Language
Italian
Primarily Uses
RMMV
Up, as rewrote entirely.
 

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,829
Reaction score
977
First Language
Chinese
Primarily Uses
N/A
Time cost: each skill should own a "time cost" variable. The skill become available the moment your TPBS count is equal or above this amount.
Example: a skill require 75 points. You need 75% of the gauge filled.
The skill time cost is subtracted from your TPBS count instead of resetting the gauge each time.
Example: you own 80% of gauge, the skill cost 25 points. This reduce your gauge to 55%.
Unless you're sure that the basic action gague time cost are always smaller than or equal to the time cost of any other skill, actually this one is the hardest, because of the potential performance issues, especially for battlers with lots of usable skills.
The basic idea of the implementation is the following:
1. There's should be a list of usable skills per battler per frame
2. That list should be sorted ascendingly according to the time cost, to minimize the cost to find the minimum time cost among all usable skills
3. When the battler's TPBS count's greater than or equal to that minimum, that battler can input actions
Obviously, regenerating and then resorting that same list per frame will quickly kill the FPS even on PC, let alone mobile platforms, meaning that some kind of caching mechanisms are needed, and thus introducing the problem of cache invalidation.

Basically, the usable skill list won't change without reasons, so the cache only needs to be invalidated when at least 1 reasons of changing the cache might have triggered, like(by no means exhaustive especially when there are some other plugins):
1. The battler's mp might have changed
2. The battler's tp might have changed
3. The actor's equips might have changed
4. The actor's class might have changed
5. The battler might have learnt and/or forgotten some skills
6. The battler's mcr might have changed
While Game_Battler.prototype.refresh should catch them all, it's all too easy to screw up when trying to catch all these possible reasons of changing the cache, so I'm sorry to say that, those not having a solid understanding on how TPBS implementation works on details can forget about implementing this time cost feature.

While I already have an idea on how to implement this, such an exhausting task will involve at least several days of dedicated work, and I'm afraid that I won't have that much free time nor energy anytime soon :)

No auto trigger! : That's the hardest thing. Normally, in TPBS, your character turn "active" and "input" states automatically when the time gauge is filled up. With this plugin, you must click a button to show up the allowed actions. This can happen despite your gauge is filled or not.
A character can stay still and the overall batlle time progress the same (that's mean there's need for computing a turn differently, your character can stand still many turns).
Example: the battle begin and you click on the character button. No option is available as your gauge isn't enough to perform any action so far.
Side note: if possible, binding the character buttons to a key for quick access of his actions.
If an actor with a fully filled gauge counts but without showing up the allowed actions as under the TPBS idle phase, then implementing this feature will actually become an easy, simple and small task.
However, if you do want the individual turns to be calculated differently, then implementing this feature will indeed be complicated and convoluted, even without considering potential compatibility issues.
As for quick actor access in TPBS, you can try this :p
 

Dororo

Gespenst MKII pilot
Veteran
Joined
May 24, 2020
Messages
261
Reaction score
934
First Language
Italian
Primarily Uses
RMMV
Thank you @DoubleX for your expertise on the subject, you pointed out smart arguments as usual.
 

Latest Threads

Latest Profile Posts

Ugh, I opened MV after a few weeks and I'm completely lost on what I was working on.
Does it happen to someone else or am I the only disorganized one around? :kaoswt:
xH5Fk2f.jpg
Today was not a really productive day, but at least i got some bust sketches going <3
E7QXZHNXoAIkpG8
hmm in exploring MZ with FOSSIL... I see I'll probably need to stick with MV for now as none of the menu altering plugins I use work on MZ lol. and I don't have the money to dump into what I would need in some cases to update plugins to their MZ versions. Everytime I think of converting, 5 or more reasons popup on why I shouldn't.
Hmm... Game has 91 views, 25 downloads, 5 reviews and netted me 7 additional followers. Meanwhile the image I posted just yesterday on Imgur to showcase it has 45,197 views. Interesting, I think I have a new advertising idea. Also Twitter? The post got 16 retweets, 20 likes, and 1,683 views.... And a whole 3 hits to my game, completely valueless. I am glad I did this game jam, this information is quite valuable.
We're playing another Touch the Stars game jam entry, come join us! :D

Forum statistics

Threads
113,661
Messages
1,076,504
Members
147,681
Latest member
antales
Top