Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
JABS - J's Action Battle System
J / JE / Jragyn
v3.2.1

Introduction
Using this engine will enable you, the RM dev, to create a game where battles take place in real-time on the map between the player (with their allies if they wish) and the enemy. Interactions between enemies are by-design expected to be fast paced, no more than 5-10 seconds at most, allowing for development of zelda-like games from the SNES era.

This was largely inspired by Blizzard's ABS (BlizzABS / BABS, for XP) and Moghunter's ABS (XAS / Chrono Engine, for XP+/MV).



Features
  • JABS stands for J's Action Battle System. (Clever, huh?)
  • Enemy battlers can be created via events w/ specific comments.
    • Enemy battlers will follow their configured AI (that you decide with comments).
    • Enemies can have default parameters to reduce the overhead for enemy creation.
  • Ally battlers will follow their designated AI mode (changeable via menu and tags).
    • Ally AI is a separate plugin and can be disabled if a solo game is desired.
    • Ally AI can be toggled with switches and by enabling/disabling followers via event command.
  • An aggro system that works for both enemies and allies(if used).
    • Aggro is based on damage dealt (all kinds), and is configurable.
    • Tags are used on skills to allow for creation of things like aggro-generating or reduction.
    • Tags are used on states to enable aggro multipliers (positive or negative) or aggro locks.
  • Basic 8-directional movement (doesn't support 8-dir character sheets though).
    • The demo has DOES have an adapter plugin that enables Cyclone-Movement to grant pseudo pixel movement as well.
  • Crude animation support.
    • Animation as in, changing of the character sheet to something else for a short duration to give the illusion of animation.
    • I am no sprite artist and opted against commissioning folks for assets just for testing this functionality, so it may be kinda glitchy. When I get my hands on the type of assets I'm looking for, I will revisit this.


It is important to note that these plugins may not be flawless!
They were built by me and for me, but I figure folks may want a bit more detail about them here.
Most all the plugins should have usage details in the plugin description.
Use with caution!
This comes with a bundle of plugins that are designed as "extensions" of JABS:
  • AllyAi: enables allies/followers to fight alongside the player.
  • InputManager: a plugin that translates button/key input to JABS actions.
    • This is effectively a sample for how to build your own input mappers for JABS should you want to change your input layout or what have you.
  • Diagonals: enables 8-directions for actions (such as a fireball).
The "Diagonals" plugin may get removed when a more complete integration with Cyclone-Movement is built.
  • CycloneAdapter: a plugin that fixes some of the quirks with how Cyclone-Movement works in the context of JABS. This should be disabled if not using Cyclone-Movement.
If you find that the game feels non-performant, it may be a result of too many enemies/allies on the map that are all trying to calculate proper move routes. Pixel movement is expensive when combined with constant calculation of where to go. As such, if you find that it is causing lag, consider reducing the number of enemies/allies on a single map, consider reducing the number of steps per tile (in the Cyclone-Movement plugin parameters), and/or disable the pixel movement altogether (along with the CycloneAdapter plugin).

JABS by itself still supports 8-directional movement for enemies/allies/actions via the Diagonals plugin above.
  • Speed: enables the ability to set custom move speeds across the database and/or for events.
  • Timing: enables cooldown reduction and the like.
  • Charge: enables charging a skill one or many times to release and perform a different skill.
  • DangerIndicator: enables little icons that show up near enemy battlers that indicate how dangerous they are to the player based on magic formulas.
HUD: enables a display of various useful information, broken into four parts starting with the manager as the main J-HUD.
  • Party Frame: enables the display of various player and party information like hp/mp and such.
  • Target Frame: enables the display of various enemy information like hp/mp and other notes of interest.
  • Input Frame: enables the display of the currently equipped skill slots, such as for the mainhand or combat skills.

CMS: a custom menu system that slightly modifies parts of the main menu that gives greater detail selectively supporting the "more data" feature.
  • Equip: a modification of the equip scene to reveal changes and allow access to "more data".
  • Status: a modification of the status screen to give insight into all standard parameters (base/ex/sp) and some custom parameters for JABS.
  • Skill: a modification of the skill scene to show more JABS-related data.
  • Log: a log window that reflects various things that have happened, such as gaining experience or being afflicted with a state.

This also comes with a slew of other plugins that were designed to work with JABS, but not necessarily as an extension, just compatible:
  • DropControl: enables greater control of drop count, drop rates, and so on.
  • SDP: enables custom stat growth by spending points (earned by defeating enemies) towards collections of stats called "panels".
  • JAFTING: a crafting system driven by plugin parameters.
    • Refinement: an extension of the JAFTING system that allows dynamic creation of equipment.

  • LevelMaster: enables giving enemies levels, scales exp/gold rewards, scales damage, all based on level differences.
  • Escriptions: formerly known as "Event Descriptions"; enables icon/text descriptions to be available over events with event comment commands.
  • SkillExtend: enables skills to give other skills various features (mostly in the context of JABS parameters).
  • Proficiency: enables skills to have proficiency based on use, and to potentially give rewards such as learning new skills.
  • TextPops: enables popups on the map for text, such as damage popups.
  • Elementalistics: enables greater control over elements, including allowing absorbing elements, having multiple elements, etc.
  • CriticalFactors: enables greater control over critical hits, including critical damage reductions, multipliers, chances, etc.
  • NaturalGrowth: enables temporary or permanent stat growth from various things in the database, such as equipment or states.
  • Difficulty: a custom difficulty system that modifies enemy parameters and rewards based on the chosen difficulty.
  • MessageTextCodes: adds a few new text codes for use throughout RMMZ, such as weapon or armor references.
  • OneTimeItemBoost: enables permanent flat/percent stat growth on the first time an item was used.
  • PassiveSkills: enables learned skills to also passively grant the effects of one or more states.


Screenshots
1659641325349.png
1640991339775.png

1640991393556.png

How to Use
Due to the nature of new battle systems, it would be best to download the demo which showcases its features.

Fortunately, you can just use the demo as a base and build from there.

Additionally, this engine was built with using a controller in mind. Though the keyboard does work, I'd strongly recommend using a controller to play any game created using this engine. A variety of controllers I'm sure will work, though I used this controller for development.

Plugin Commands / Script Calls
1615145044883.png

From top to bottom (in plugin command screenshot):
- Enable JABS = turns on the ABS.
- Disable JABS = turns off the ABS (most base code I've tweaked will revert to normal while JABS is turned off).
- Force-assign a JABS skill = manually assigns a skill to one of the L1/R1 (3-0) slots, and locks that slot.
- Unlock a single JABS skill slot = unlocks a slot from being force-assigned, allowing the player to reassign skills to the skill slot.
- Unlock all JABS skill slots = unlocks all slots (for those who force-assigned multiple slots).
- Cycle to next leader = party cycles to the next member of the party (if they are alive).
- Disable Party Rotation = prevents the player from being able to rotate the party with the party cycle button. This does not prevent the player from changing the party formation or anything like that, though.
- Enable Party Rotation = re-enables the player's ability to party cycle (if disabled from above).
- Refresh JABS Menu = refreshes the JABS quick menu. This is probably only useful for developers who are manipulating the items in the menu for one reason or another (like adding/removing commands to/from it).

There are additional plugin commands in other various plugins residing in this demo.
Please refer to their respective plugins for additional details about what they are capable of.

Demo
A demo showcasing the primary functionalities can be found at the download link below.

Download
  • JABS Demo (in the form of "chef adventure")
  • See the plugin help/description in RMMZ for details.


It is strongly encouraged to review the documentation inside of the plugin help for details about basic usages and various note tags.


I do need to place a disclaimer on that demo, as presently, the sample project used to showcase JABS does use profanity and crudeness, and would likely be rated M by the ESRB or whatever due to using profanity more than 0 times.
If you run the demo and there is no sound, hit F6 or disable the J-SystemUtilities plugin.
If you run the demo and it auto-starts a new game, you can quit to title from the full menu and load a game from there, or to disable that feature just disable the J-SystemUtilities plugin.

Final Note
I deliberately left all code open for the public to view and edit as they see fit (please be kind and give credit where credit is due!). If you're savvy enough to tweak the code, I'd wager that you can also probably submit a pull request against my github repo if you want to contribute! If you do and your pull request is merged in, I'll add your name to the credits below! Hurray for open-source!

If you have questions about the code, I'd be happy to explain most anything you'd see in the J-ABS.js file (or any of my plugins).

Thank you, and happy RM-ing!


Before releasing to the public, this project has undergone many transformations through its iterations. Those with sharper eyes may recognize these assets! This project initially started as many do: I downloaded VisuStella and co.'s sample starter project and got to work. As a result, there are a few artifacts I didn't think twice about, most namely the tilesets and some of the sprites.

- The tilesets and some characters/faces are not mine, they were from VisuStella and co., so... thank you for making even other devs lives like my own easier to just pick up and get started doing actual content creation! Additionally, there are various other plugins within the sample project linked above that don't belong to me and weren't written by me. See their respective plugin help sections for additional details on credits etc.

- I believe it was Avy's work that created the icons in the iconset. It is a bit patchwork-ey because I wanted more things, but still, credit is due where credit is due. Additionally, it was Frankenstein'd with a huge number of other icons I acquired that probably aren't friendly about redistribution, so stay honest and don't use them!

- The characters/faces that are named with the pattern: "chara_*" are just characters I made using the built-in character generator. You are free to use them if you want, but know that with a little bit of time you could probably make your own! (and a bit of paint.net efforts)

- Moghunter and Blizzard provided inspiration and indirect guidance via their patterns in-code. When I was a lost lamb, unsure how to tackle a particular problem, their code showed me a means to do it myself. Though there isn't really any direct copy-paste (obviously due to engine differences and stuff), there is surely a distinct familiarity in-pattern on how my architecture was for JABS was shaped. Thank you, folks.

- My lovely lady who has had to tolerate the weeks if not months years of time dedicated to writing and refining this engine for the public to use (and myself!). She has had to listen to me rant and rave about why the sprites aren't doing what I tell them, but I don't actually think she knows what a sprite is, but she listened anyway <3. She deserves credit, too.

FAQs
tldr;

Feel free to use it in your commercial projects.
Feel free to extend it to fit your needs.
Don't claim you wrote JABS.

My high-level "terms" in greater detail as of this writing:

Understandably, I ask for a few things in return:
- if you opt to extend JABS in some way in-code, I'd love to review your additions to see if they should be added as a proper extension or built into the core engine!
- if you actually produce a project (understand my general skepticism since most don't actually complete projects), I'd love a copy to see what kind of ideas you were able to come up with using my engine!
- I know you would never, but to stay explicit about this, please refrain from claiming you wrote JABS.

Things you should be aware of regarding your desire to do commercial project things:
- I have a lot of things that keep me busy (work mostly- I'm a software engineer by day), and it is very unlikely that I would be able to support your project if you encounter bugs outside of the normal avenues of ... this forum- aka, I reply when I pop on here.
- Compounding on the point above, the engine is not flawless; while I've been able to complete numerous hours of bug-free content, I would be a fool to claim this is a bug-free project. I'm certain there are yet bugs to be discovered in the edge cases I hadn't thought of.

Things to keep in the back of your mind:
- JABS as a core engine is roughly 30k lines all by itself, and combined with all the other plugins, it reaches upwards of 80k lines of code. That is a lot of code! I would strongly recommend some experimentation to discover your target performance, if it is even possible within your spec target.
- JABS is designed exclusively to work with a controller. Though the keyboard compatibility is left in there as a "back-up plan" of sorts, why would you want to torture yourself like that?. If you do not intend to use this for PC deployment, you may want to reconsider using JABS.
- All the extra "J-*" plugins in the demo project were also authored by me, and are fully compatible with JABS (see their respective plugins for usage/implementation details if you are interested in them).

I wrote a lot, but of course, feel free to ask any further questions ya might have. I'll get back to this when I'm available :)


--JE
The project that contains JABS doubles as my test bed for all plugins I make. Some of them are simple (like J-Hud), while others are more complex (like J-JAFTING). I encourage you reach out to me to discuss them if you can't find anything about them anywhere as I just might've forgotten release them publicly, or I may have opted against it for other reasons.
If you encountered a bug/defect, post a screenshot of the console (if possible) along with as much detail as you can gather that you believe is related to the problem. I'm a professional developer by day, but definitely no QA! I'd be happy to fix any defects related to my code, or try my best to add compatibility to play nice with other plugins assuming their code is open as well (like f0mor's plugins, visustella plugins are a bit more difficult to deal with due to the code being obfuscated and you may need to have them reach out to me so we can talk about how to solve it).
 
Last edited:

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
Coming:
No additional major releases to the JABS engine are currently on the roadmap.
Fixes and support are still available, but for now I think this is relatively complete.
(with the exception of animations, because I still am not a sprite artist and haven't really fleshed that functionality out because I lack the assets and am too lazy to go find some and don't want to commission anyone just for testing purposes).

Released:
  • COUNTLESS bugs and quirks have been squashed. So many in fact, I won't bother listing them here!
  • Numerous integrations and additions of compatibility (with my own plugins, mostly).
  • Polished more integral plugins:
    • Text pops are a bit more fluid and bouncy for damage, and more clear for otherwise.
    • The LOG was reworked entirely from the ground up.
      • Now supports scrolling with the mouse to review previous logs.
      • Displays color, icons, and other data points that are nice on the eyes.
    • The HUD was reworked entirely from the ground up.
  • Ally AI is a go!
    • Allies will now follow the player and support the leader in their battle endeavors.
    • Each ally acts independently based on their designated (changable) ally AI mode.
    • There are 4 (+1 "do nothing") modes that can be assigned to your allies.
    • The ally AI menu is controlled with a switch for ease of toggling visibility in the JABS quickmenu.
    • The HUD used by JABS was updated to accommodate multiple members in the party.
    • (this functionality requires followers to be enabled and the additional plugin installed)
  • Aggro System is a go!
    • both enemies and allies will now build aggro towards targets based on damage dealt (among other things).
    • aggro can additionally be increased/decreased/locked by tags in skills and states.
    • (this is now a native feature in JABS and works without the ally AI if you so wish it).
  • Miscellaneous improvements and optimizations
    • Numerous things that were initially hardcoded are now customizable via plugin parameters.
    • There are still many things hardcoded, but I tried okay? there is a ton of stuff in here.
    • Added a configuration for max distance to update enemies (adding more AI functionality and whatnot has started to generate lag with high volumes of enemies). Change this value with caution.
    • A teams system was added, allowing the user to assign battlers directly teams other than the defaults (0 for players, 1 for enemies, 2 for inanimates). This wasn't as fleshed out as I'd like, but perhaps I'll revisit it in the future.
    • An additional plugin to help with diagonal movement (J-Diagonals) was added (over using external plugins). This only "just works", I'd recommend a more robust system like @Hudell 's Cyclone Movement to get not just 8dir movement, but also pixel movement functionality as well. In my brief testing, their engine largely works as-is out-of-the-box. The diagonal movement plugin I made was designed to work in tandem with his Cyclone Movement, see my diagonal plugin description for more info on that. (and also use with caution! pixel movement can cause strain when used in conjunction with a computation-intensive engine like JABS!)
    • The HUD that comes with JABS was updated to be a bit more customizable, and also allow for working in tandem with other HUDs (see plugin description).
  • Other plugins now live inside the test bed and are free to use if they have a plugin description! (use with caution though if I haven't properly released them!)
Fixes:
  • bug: event comment parser would cause an exception when changing scenes while action events are on the map (such as entering the main menu while a fireball was fired from a trap and still on the map).
  • bug: trying to talk to someone over a counter while in ABS mode caused an exception.
  • bug: states now show up again on the HUD and countdown.
    • known issue: states refresh on changing maps while afflicted.
Updates:
  • removed moghunter's event text plugin.
  • created new "event describe" plugin to show text and/or an icon over events, and toggle visibility when in proximity.
Changes:
  • adjusted loot dropping to be flexible to accommodate weirdness in non-demo projects.
  • Added new "Danger Indicator", that gauges your level against the enemy's level, and draws a little icon next to the enemy's hp gauge on the map.
    • This can be disabled with a tag.
  • Added new "Battler Name". It is just the name from the database, right below the enemy's hp gauge on the map.
    • This can be disabled with a tag, too.
  • Updated the plugin settings to look a bit cleaner.
  • Updated all the various J-related plugins to be a bit more uniform.
  • Finally fixed that stupid bug where if JABS is enabled, and you try to interact with an event, it would swing your weapon and then interact with them (caused issues if the event would change scenes immediately).
  • I didn't explicitly call it out before, but I will now: dash functionality is once again available as buttons were remapped in the v2.1 release.
  • Probably more I don't remember off the cuff, likely bug fixes (so many little tweaks and adjustments).

  • Unrelated to JABS, my SDP system is officially a part of this demo (though the demo-ing of it is minimal).
    • This will be released as a separate plugin, as it is not dependent on JABS in any way.
  • ⚙ The code was shifted to a new location. The code now lives on github! (had lots of issues with sharing properly while living where it did previosuly)
  • Extended AI capacity.
    • "leader" and "follower" are now functional (though documentation explaining how they work is not yet done).
    • "healer" now works and does healer things (still no "defensive" yet...).
  • ⁉ BREAKING CHANGE: tags defining enemies now lives the comments of an event page.
    • The major driving reason for this was to implement the concept of transforming enemies, or conditional enemies, leveraging the basic functionality of RPG Maker MZ's events to conditionally have some pages show when certain conditions are met, including with enemies and stuff.
  • ⛔Guarding/Defending functionality implemented (just equip a "guard" type skill on your offhand):
    • guard skills are a category to their own (like dodging).
    • guard skills are active while holding the pivot button.
    • tags for flat damage reduction and percent damage reduction are available (and can be combined to have both) to better describe guarding.
  • ✊Countering can be triggered on-guard or on-"precision-guard".
    • a parry tag can be added to enable "precision guard", allowing 100% success rate to parry an attack if the player's timing is within the parry tag's frame number (think: perfect-guard from other games like BotW).
    • a counterguard/counterparry tag can be added for guard or parry that enable the player to activate a "retaliate" skill at no cost (any skill basically) when hit while guarding, or hit while precision-guard is active (think: star ocean and reflecting stars or flames when parrying).
  • ⭐Projectiles:
    • skills can have a new tag added for creating and firing 2-8 projectiles (instead of just 1).
    • fire 2 (v-shape), 3 (v + 1 straight ahead), 4 (cross, dir4), 8 (nova, dir8).
    • NOTE:
      • Currently, this functionality BREAKS the initial configuration that allowed for the RM dev to build a custom move route for actions (if they wanted). Now, all actions will go straight from whatever direction they started out going. This shouldn't impact most folks, but those that were trying to develop fancy skills that did loops and twirls? well... I'll fix it later.
  • ☄Loot:
    • enemies now drop their loot on the ground (instead of politely depositing it straight into your inventory).
    • new note tags were added to allow for items to be instantly consumed on-pickup (like picking up hearts in zelda).
    • ported in an old MV plugin, "Controlled Drops":
      • changes the algorithm for drops to be a percent instead of that weird percent stuff out of the box. Now the X in the drops that used to be "1 / X" represents the percent chance for drop.
      • breaks the limit of 3x items in the editor
      • (see enemies for examples in database).
  • Movespeed now is customizable for the player:
    • explanation: by default, I removed the "dash" functionality. Those who played v1 of JABS probably noticed that the previous "dash" button actually prevented the player from moving (pivot in-place)!
    • new note tags were created to modify the player's base movespeed, with diminishing returns. You can now make a cape that increases agility and makes you move faster, or some heavy armor that does a good job at reducing damage and parrying, but makes you move super slow.
    • these movespeed modifications do not adhere to the standard movespeeds you see in the editor (3/4/5 when making an event or something). It instead applies a multiplier to increase/decrease movespeed. This has not been tested extensively, but it seems to work fine.
    • use caution when leaving the player's movespeed in a modified state via events (such as reducing or increasing speed for whatever reason, and not changing it back to the default of 4), it might have... undesired results.
  • ⚙Along with various code upgrades/optimizations/cleanup across the codebase.
  • ⚙Includes core functionality of basic AI:
    • basic battle phases created (0-idle, 1-prepare, 2-execute, 3-cooldown) that all AI-controlled battlers follow.
    • "basic" and "smart" AI implemented, but that is it, and not fully... just enough.
    • basic team functionality implemented (enemies will aggro and attack the player when he draws near enough).
    • disengages from combat if distance grows too great between target and battler.
  • ⚡skills are handled:
    • numerous notes flesh out the details of what a skill is and does.
    • many core RM features in the database are still applicable (some aren't, though due to nature of ABS).
    • skill scopes are observed to some extent (functionally different in ABS though).
    • skills are bound to either a button combination (gamepad) or the number key row (keyboard) allowing a total of 10 skills to be equipped (directly or indirectly) at any given time.
  • ☠states are handled:
    • ABS-specific states are included:
      • disabled: cannot use mainhand attacks (including attack combos).
      • muted: cannot use skill attacks ("L1 + A" for example).
      • rooted: cannot move (or use dodge skills, or be knocked back from knockback).
      • paralyzed: combination of all of the above (also can be used in short duration for stun).
    • non-ABS-specific states are included:
      • any state from the database can be added (keep in mind ABS-differentiations)
      • slip damage is applied at regular intervals.
        • HRG/MRG/TRG combine with poison-type states and regenerate accordingly over time.
    • any state can affect any battler, ally or enemy.
    • states leverage their sideview animation for visuals on the map while afflicted.
  • ⚔extraneous combat functionality was added:
    • parrying:
      • repurposing of HIT and GRD, similar to evasion in the sense that it can potentially negate a skill entirely, but requires the battler to be facing the incoming attack for a chance to "parry" the attack away.
    • pivoting:
      • hold the (originally the dash) button to lock in-place and rotate without moving.
      • (this will be extended to include defending/guarding in the next major release)
    • knockback:
      • skills can have knockback which forces a target hit by a skill to be knocked back X number of spaces (or as far back as they can go if there are obstructions).
      • battlers can have knockback resistance (%) which mitigates some or all knockback (can be used for bosses or heavy enemies).
    • dodging:
      • "dodging" is a skill type that effectively forces the player's battler to move a fixed distance in a given direction.
      • "dodging" skills can grant invincibility for the duration of the movement.
    • strafing:
      • hold the button (L2 on gamepad, tab(?i think?) on keyboard) to lock direction while moving.
      • can be used with skills and other functionality (like dodging).
    • damage pops:
      • targeting an elemental weakness results in "!!!" being appended to the damage string.
      • targeting an elemental strength results in "..." being appended to the damage string.
      • landing a critical hit results in increasing the size, duration, and flashes the damage string red briefly.
      • include arbitrarily decided icons behind the damage pop based on element.
      • include arbitrarily decided icon for parry pops.
  • ⛓additional plugins are provided to grant some basic functionality that ABSes are known for:
    • (not required) a basic HUD:
      • tracks hp/mp/tp/xp2next.
      • tracks states afflicted and their time remaining.
    • (not required) a basic action keys display:
      • tracks all equipped skills.
      • tracks all cooldowns of equipped skills.
      • tracks combo timers as needed.
      • displays the icon, and any hp/mp/tp costs (or remaining item count for tools).
    • (not required) a basic text log.
      • tracks all skill usage for any battlers.
      • tracks all xp/gp gained.
      • tracks all loot acquired.
      • observes critical hits.
      • observes tool/item usage.
  • ...and probably more that I didn't list because I forgot.
 
Last edited:

nintendowii111

Veteran
Veteran
Joined
Oct 12, 2019
Messages
61
Reaction score
11
First Language
English
Primarily Uses
RMMV
Possible to bring this to MV?
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
Possible to bring this to MV?

I would rather not, if I had a choice in the matter (though I haven't tried to backport it).

Much of the functionality and gameplay can be found in moghunter's MV chrono engine, though if you need something similar in MV.

Was there a particular feature you wanted from JABS that isn't found in other ABS engines?
 

nintendowii111

Veteran
Veteran
Joined
Oct 12, 2019
Messages
61
Reaction score
11
First Language
English
Primarily Uses
RMMV
I would rather not, if I had a choice in the matter (though I haven't tried to backport it).

Much of the functionality and gameplay can be found in moghunter's MV chrono engine, though if you need something similar in MV.

Was there a particular feature you wanted from JABS that isn't found in other ABS engines?
I'm using QABS for my RPG Maker MV project. The thing I really like about yours is that I saw somewhere you have like a Mana meter to where you can shoot projectiles at the cost of mana. I'd like to have that in QABS if you would be willing? ;)
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
I'm using QABS for my RPG Maker MV project. The thing I really like about yours is that I saw somewhere you have like a Mana meter to where you can shoot projectiles at the cost of mana. I'd like to have that in QABS if you would be willing? ;)

I tried using QABS in a previous MV project actually! For some reason, I thought QABS supported skills costing whatever their skill costs were... I might be able to look into that... or if it was truly a problem, I might've written a small extension to fix that because that is kinda core functionality I'd think (I wrote a number of small fixes and tweaks against QABS for myself to support other plugins and fix things).
 

GmOcean

Veteran
Veteran
Joined
Nov 29, 2020
Messages
195
Reaction score
159
First Language
English
Primarily Uses
RMMZ
How have I not seen this thread until now? This looks awesome.
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
How have I not seen this thread until now? This looks awesome.
I think it is:
  • partly the fault of mine for not advertising at all (wasn't sure initially if I was even going to release this publicly or not till I started getting somewhere with it).
  • partly because it is an MZ plugin sitting in the MV plugin section.
  • partly because I have no presence on this forum as I've always been a consumer- until now.
Sorry about that.

I'm still adding more functionality behind the scenes and will update this thread/post when I officially merge it upwards into the public-facing downloadable project; new stuff like:
  • attaching guarding-preciseParry functionality to the pivot button (I don't even think I've mentioned the pivot functionality in the demo).
  • adding "retaliation" (auto-cast a skill when receiving a hit while guarding or precise-parrying) to the above guard functionality (similar concept to "thorns" from diablo, or "stars" from star ocean).
  • truly fixing the broken knockback (oops).
  • adding new "spray" effects (one skill fires in multiple directions/angles) as an option for skills.
  • refactoring/optimizing the code (I like clean code).
  • extending the demo to have a little bit of extra mindless afk hack n slash gameplay.
  • and more (not sure because im bad at remembering things).
 

slimmmeiske2

Little Red Riding Hood
Global Mod
Joined
Sep 6, 2012
Messages
10,116
Reaction score
6,400
First Language
Dutch
Primarily Uses
RMXP

I've moved this to MZ Plugin Releases.



@Jragyn We don't always check all posts, so if you need something moved or closed, it's faster to report your post. :)
 
Joined
Dec 16, 2017
Messages
395
Reaction score
1,766
First Language
English
Primarily Uses
RMMZ
J, thank you for making and releasing this! Very very cool JABS is a super clever name for the system btw : )
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
[mod]I've moved this to MZ Plugin Releases.[/mod]

@Jragyn We don't always check all posts, so if you need something moved or closed, it's faster to report your post. :)

Oh! Sorry about that. As I mentioned, I'm not super familiar with the finer processes of the forum and all that (though I'm sure that is written in some rules somewhere...).

Either way, thank you for shifting this into the MZ section, @slimmmeiske2 .
I'll get back to using the first reply I made in this post for updates and the like.

J, thank you for making and releasing this! Very very cool JABS is a super clever name for the system btw : )
Thanks pal, I appreciate it!
I figured it is finally time to give back to the community that has inspired greatly, and given me so much over the last decade. Since I can now develop, and have a general understanding of RM and how it works, I figured now was as good a time as any to give what I know I wanted: a relatively-koality ABS for all our button-mashing desires.

If you're a [plugin] developer, I encourage you dig into the codebase and let me know if you see anything that could use improvement.

If you're a plugin consumer, please let me know what ya think could be improved! I know I did a pretty poor job at documenting for the average consumer... but since I built it, I'm not sure what else to write about it XD
 

nintendowii111

Veteran
Veteran
Joined
Oct 12, 2019
Messages
61
Reaction score
11
First Language
English
Primarily Uses
RMMV
I tried using QABS in a previous MV project actually! For some reason, I thought QABS supported skills costing whatever their skill costs were... I might be able to look into that... or if it was truly a problem, I might've written a small extension to fix that because that is kinda core functionality I'd think (I wrote a number of small fixes and tweaks against QABS for myself to support other plugins and fix things).
If you wouldn’t mind sending me all the fixes and stuff you’ve made for QABS that would be great. Also the main thing I wish QABS had was better AI. It doesn’t allow for much. It’s just follow player and attack. But I’d love to see like more sophisticated AI that’s programmable..
 
Joined
Feb 18, 2015
Messages
628
Reaction score
349
First Language
English
Primarily Uses
RMMV
I would also be interested in seeing these QABS fixes, if it isn't a problem.
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
If you wouldn’t mind sending me all the fixes and stuff you’ve made for QABS that would be great. Also the main thing I wish QABS had was better AI. It doesn’t allow for much. It’s just follow player and attack. But I’d love to see like more sophisticated AI that’s programmable..

Yeah, QABS's lack of AI actually inspired me to try and make some AI for the enemies, but... I didn't get super far in that. Here's a link to the plugin folder that contains all the QABS extensions/plugins I made to supplement Q's other-wise excellent ABS (and also all the rest of the plugins for that project):

Note: that is a link to simply a folder of an old project from a couple years ago that has all the plugins I made and more. Any plugin starting with "J_QABS_" are what I made to "fix"/modify/extend the existing functionality... like the ability to auto-execute a skill when picking up an item (to emulate the idea of picking up a heart or something, like in zelda). Also, understand when I say this, but the plugins in the linked folder above weren't designed for widespread use, I just slapped em together and figured maybe someone would like them, but I'm not going to support them fully or anything (since I'm developing this engine for MZ).

Also, feel free to use any other plugins starting with "J_" if you want.
I plan on porting from that folder:
  • J_CritDamage
  • J_Difficulty
  • J_DropItem
  • J_Elementalistics
  • J_StatDistribution
and also cleaning them up for more widespread use (like JABS), but... I haven't done that yet.
Keep your eyes peeled if any of those pique your interest. :)
 

nintendowii111

Veteran
Veteran
Joined
Oct 12, 2019
Messages
61
Reaction score
11
First Language
English
Primarily Uses
RMMV
Yeah, QABS's lack of AI actually inspired me to try and make some AI for the enemies, but... I didn't get super far in that. Here's a link to the plugin folder that contains all the QABS extensions/plugins I made to supplement Q's other-wise excellent ABS (and also all the rest of the plugins for that project):

Note: that is a link to simply a folder of an old project from a couple years ago that has all the plugins I made and more. Any plugin starting with "J_QABS_" are what I made to "fix"/modify/extend the existing functionality... like the ability to auto-execute a skill when picking up an item (to emulate the idea of picking up a heart or something, like in zelda). Also, understand when I say this, but the plugins in the linked folder above weren't designed for widespread use, I just slapped em together and figured maybe someone would like them, but I'm not going to support them fully or anything (since I'm developing this engine for MZ).

Also, feel free to use any other plugins starting with "J_" if you want.
I plan on porting from that folder:
  • J_CritDamage
  • J_Difficulty
  • J_DropItem
  • J_Elementalistics
  • J_StatDistribution
and also cleaning them up for more widespread use (like JABS), but... I haven't done that yet.
Keep your eyes peeled if any of those pique your interest. :)
Thanks very much for sharing. This may be too much to ask but if you get a chance, really doing deep into the ai for QABS would make me a happy boi ;) Thanks again though for sharing what you have!
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
Thanks very much for sharing. This may be too much to ask but if you get a chance, really doing deep into the ai for QABS would make me a happy boi ;) Thanks again though for sharing what you have!

Understandably, I'd say its a pretty low likelihood that I'll go backwards to do much more for QABS, especially since the dev for it (Q? Quasi? idk) fell silent and I think he moved onto just non-RM development for games and stuff (the fate of most RM developers it seems these days).

Still, as you can see within the collection I provided a link to, there was a start at trying to add some degree of custom AI. Feel free to expand it if you want. I think if you want more control, your best bet would be to migrate over to XAS/Chrono Engine as I did (or up to JABS ;)- though my AI isn't the most sophisticated, but its already light years ahead of QABS).
 

GmOcean

Veteran
Veteran
Joined
Nov 29, 2020
Messages
195
Reaction score
159
First Language
English
Primarily Uses
RMMZ
Speaking of Chrono Engine, do you have plans to implement any of those features? Mainly the ones unique to Chrono Trigger (multiple on screen enemies + Area of Effect targeting).

If it can already do it, then excuse my asking, I'm still in the early stages of rpg maker, and haven't gotten around to needing to play around with a sophisticated combat system (but am definitely leaning towards it).
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
400
Reaction score
306
First Language
English
Primarily Uses
RMMZ
Speaking of Chrono Engine, do you have plans to implement any of those features? Mainly the ones unique to Chrono Trigger (multiple on screen enemies + Area of Effect targeting).

If it can already do it, then excuse my asking, I'm still in the early stages of rpg maker, and haven't gotten around to needing to play around with a sophisticated combat system (but am definitely leaning towards it).

It is important to note that the Chrono Engine developed by Moghunter has two functionalities, one as a generic ABS (like zelda, modeled after his XAS from previous engines), and a basic chronotrigger-like battle system.

JABS is inspired by the "generic ABS" side of the engine.

To answer the question specifically, "multiple on-screen enemies" is a feature of most any ABS, and can be done with JABS.

There is no functionality presently that would like... stop time and allow you to select a target as-seen in chronotrigger or anything. I'd like to implement something like that, but have placed it lower on my priority list. There is however, the ability to create skills that can hit one/many enemies one/many times.
 

GmOcean

Veteran
Veteran
Joined
Nov 29, 2020
Messages
195
Reaction score
159
First Language
English
Primarily Uses
RMMZ
I see, that makes sense. Either way, keep up the good work.
 

Latest Threads

Latest Profile Posts

Shoot.gif
Because The Fury from Metal Gear Solid 3 is one of my favorite bosses of all time, I felt the need to make a somewhat similar boss for my own game. taking cues from both the Fury and another awesome astronaut boss, Captain Vladimir from No More Heroes 2.
RE4make almost had me with their demo until I got to the dog stuck in a bear trap and realized that he was dead and could no longer be saved. Just not the kind of reimagining I'm interested in.
Here's some dudes that I'm drawing for Jimmy's Quest!
autredo.png
Autism Acceptance Month 2023!


Did this randomly in my free time, I guess today is a good day to show it.

Forum statistics

Threads
130,023
Messages
1,207,114
Members
171,288
Latest member
oscerr
Top