Basimple BS

Basimple Battle SystemV5


molegato functions | scripts | manual |Demos

Basimple Battle System is a really easy to use and configure lateral battle system, that is also extremely adaptable.

Static enemies and animated actors? Fully animated battle system? Single image per frame, strips or character sheets? You can change all sorts of settings to make Basimple work just how you want.

Here’s what Basimple BS supports as of Version 5:

  • Characters
    • Trhee modes of character graphics
      • Image per frame
      • Strip for each animation
      • Sheet with several animations
      • All of them are entirely image size independant, meaning you can use ANY battler format you want!
    • Animated, semianimated or static enemies
    • All sort of poses, like stand, attack, magic, item… even ‘thinking’ animation when choosing comand!
    • Toggleable victory pose (even for enemies!)
    • Easy configuration of how’s called the graphics for certain pose
      • By chosing the same filename for two poses, you’ll save space in your game!
      • This actually makes you able to even let out some poses. You don’t want to have one for guard? Just set it to the same as stand!
    • Configure the animation speed, frame numbers and much more!
    • Activate or deactivate the default damage effect (blinking) on enemies and actors separately
    • Optional death pose for both actors and enemies
    • Auto-arrange enemies, but have select troops to appear as you positioned them in the troops tab!
    • Change wich side of the screen each party is
    • Decide where exactly the position for each ‘side’
    • Change all of the important positions, such as the diagonal effect, the separation between members of the same party, how far to walk while casting, etc.
    • Select an animation to play over the actors when they guard
    • Change enemies’s size to make giant versions of regular monsters!
    • Select attack animations for enemies
    • Set an enemy to become inmobile, in case it’s integrated within the background, or a turret, or something like that. Those enemies won’t move at all even when attacking!
  • Battlebacks
    • Configure how the battlebacks look, even using parallax movement with them and changing its depth to make overlays!
  • Midgame configuration
    • Change the configuration of position, camera, and background at any moment in the middle of the game by using script calls, so that you can have battles that use a different layout for extra epicness!
  • Actions
    • Items, magic skills and physical skills have all their own different poses (and can be configured to share some amongs them if you want)
    • Make any item, skill or weapon to be melee or ranged
    • Set a certain skill, item or weapon to have its own attack pose, great to have weapons that look different from eachother and more unique skills!
    • Set camera movement and zoom before, during and after performing the action
    • show casting animations on the character before or during the action
    • Throw projectile animations with any action you want!
    • Use advanced custom chains, that let you decide what is done, in what order. The full list of commands is:
      • use_action: makes the action to take effect, dealing the damage, etc
      • end: finishes the chain
      • use_skill: instead of using this action’s effect, use some other skill’s. This way you can have a multi-hit action that has different properties on each hit
      • use_item: the same, but with items
      • wait: waits for a set number of frames
      • pose: changes the pose of the selected battler
      • pose_row: changes the row of the selected battler
      • move: moves the selected battler
      • mirror: mirrors or un-mirrors the selected battler
      • animation: lets you play any animation on the selected battler
      • autoanimation: plays the animation assigned to the current action
      • throw_anim: makes a projectile animation
      • camera: move and zoom the camera around
      • camera_normal: automatically move the camera to the default position and zoom
      • focus_subject: selects the actor who initiated this action, the next steps will affect it
      • focus_target: selects the target of the action
      • focus_ally: selects an ally
      • focus_enemy: selects an enemy
      • event: executes a common event
      • script: executes a piece of code
      • label: adds a label to jump to
      • jump: jumps to a label
      • set_switch: modify the value of a switch
      • set_variable: modify the value of a variable
      • variable and switch conditionals: Let’s you execute or skip a block of actions based on switch and variable values
      • if_hit, if_miss: same, but depending on wether the last hit made within this action succeeded or missed
      • if_any_target_dead, if_all_targets_dead, if_target_survived: same, depending on wether you have killed anyone during the course of this skill/item/attack
      • if_script: script any conditional here! It must return a boolean
      • end_branch: ends the conditional branch
    • Set custom chains directly on the notes of a skill/item/weapon, or on the configuration module, to be able to re-use them with the tag <pre_c_chain: name>
  • Extensions
    • Add-on system that lets you create new custom chain actions, comes with an example that adds a ‘hello world’ action



  • Charas

    This slideshow requires JavaScript.


45 thoughts on “Basimple BS

  1. […] Check it out clicking here! […]

  2. […] independently of who has the focus, making unnecessary to use the focus actions for simple tasks! Re-download the script to get to enjoy them! (you don’t need to overwrite the config script, just the core […]

  3. […] Re-download now to use all of these cool features! […]

  4. […] the demos here, and ask any question you […]

  5. Brad says:

    I’m such a noob, I don’t know how to make it in the database. I made a identical battler and folder battler, and changed the names. So I have $Brad —->Folder Brad——>BradGeneral3$8 + Brad2$3$8, When I change my character in the database to Brad, it still plays the alex animation. I looked and I’m confused how you do this:/

  6. Brad says:

    Nevermind, I figured it out, it uses the face graphics! This part was not explained well, but none the less, I’m succesful! Thanks!

  7. Brett says:

    I installed the script per the instructions and supplied the graphics. I kept really everything at default but when ever I go into a battle it goes incredibly slow.. Any ideas?

  8. Brett says:

    hmmm, no it does not. I am going to root around this demo, but i think my graphics are too big. Thanks!

  9. aegixdrakan says:

    x_x I’m not sure why, but after about 2 mionutes of playtesting with this script included, I get lots of little lag spikes that make the game look like it’s stuttering.

    In fact the longer I keep playtesting, the more often the lags pikes happen, and the longer they last.

    Then, I tried removing this script and the lag totally vanishes.

    Those little bursts of lag really take away from the game. 😦 Any idea what’s causing it? I REALLY do not want to have to take this script out, because it is absolutely beautiful and I love it.

    • molegato says:

      Hi! I’ll be making tests to see why could this be happening. If there’s any mistake, I’ll try and fix it soon.

      • aegixdrakan says:

        🙂 That’s hugely appreciated, thank you.

        If you need to see my project as part of the tests, let me know and I’ll dropbox it to you.

        By the way, the lag is most noticeable outside of combat, which is kind of bizarre. I checked almost every other script I have in the game before removing yours, and it only stopped lagging when it was removed. 0_o

      • aegixdrakan says:

        So….any luck with finding out why it lags?

        Should I send you a copy of my project so you can see it in action or something?

      • molegato says:

        I’m studying the situation now-and-then, and still didn’t find the cause of the problem. I won’t ask for you to send me your project, but if you tell me what other scripts you use, maybe that could help.

      • aegixdrakan says:

        See, that’s the thing, I’ve tried it with literally no other scripts in the project, and it still lags. 0_o

        I’m going to try importing it fresh into a new project and I’m going to see how it behaves that way. Might shed some light on the situation.

      • molegato says:

        Ok, meanwhile I’m making tests on the example projects

      • aegixdrakan says:

        Ok, wow. 0_o

        I redownloaded the most recent version from this site, plugged them into a blank project, imported the graphics I was using for my actual game, made sure the script was referring to the right graphics…

        And even in a totally fresh project, I still got the noticeable lag after about 2 minutes. (It’s most notable when you have a moving parallax background when you’re walking around). 0_o And just like in my actual game, it gets worse as time passes.

        The only thing I can thing of at the moment is that my laptop is somehow not strong enough to run this script without lag. Which would be insane.

      • molegato says:

        As insane as it sounds, that might be the cause, I’m playing the charas example and it doesn’t lag at all, even after finishing it. Do the examples lag for you?

      • aegixdrakan says:

        *digs it up, boots it up, expands the map size a bit and puts a scrolling parallax background to check*

        ….Yeah, it still lags. 0_o

        Wow, really? I can run stuff like borderlands 2 without a hitch but this little script causes problems?

      • molegato says:

        RPGmaker isn’t as optimized as most game engines, so it may still be. Still, my computer is not a NASA machine and runs just fine. I’m really stalled as to why that happens to you.

      • aegixdrakan says:

        0_o Same.

        What really confuses me is why it causes the lag when it’s not in the battle “scene”. The script shouldn’t even be called at that point!

        It’s REALLY weird.

  10. Andi Bailey says:

    Anyway to make this compatible with Galv’s Timed Button Press? ( Yours is the only battle script ive found where i can switch the hero side in game, which i desperatly need to pull this off. thanks!

    • molegato says:

      Oh, it doesn’t work by default? That’s odd, considering both scripts work on different things. What kind of error are you getting? In what order are you using the scripts?
      As a last ditch move, you could achieve the same result by using just basimple and some custom chains with eventing. If you decide to do that, and need help, just tell me and I’ll work it out.

  11. Char says:

    Hey molegato, I’m having a issue with your script. Whenever I use any item in the menu, the game freezes and I get this error message:
    “Script ‘basimple bs’ line 1273: NoMethodError occurred.
    undefined method ‘last_hit=’ for “

    • molegato says:

      Does it happen in the examples too?
      I’ve been testing them for a different problem and items seem to work fine.

      • Char says:

        Yes, it does happen. Also, I’m having another issue now, with the Screen animations (dunno how it’s called in the english RTP, mine is translated to Portuguese) like “Slash Special 3/4/5” or “Fire All”. These animations doesn’t work in my game.

        (Sorry for my bad english)

      • molegato says:

        Seriously? You download the example and it doesn’t work? I’ve been using it for a couple of weeks with no problems. aegixdrakan up there in the comments section has been using it without that problem, too (albet the game lags for him).
        What version of the maker are you using?

  12. neogeokell says:

    Hi Mogetto. Love your script. Lots of customization and options. One thing i am having trouble with though is getting a actor to not move before attacking. I have a character that uses gun range attacks and i want him to attack without moving from postion. I tried in the actor tag box but no luck. I’m not sure what im doing wrong or is it something that cannot be changed? Thanks for your script and help in advance.

    • molegato says:

      Did you check the pdf manual? It has everything tidily explained!
      Basically every item/skill/weapon without the tag will step forward, do its thing, then get back, without actually going to the enemy place.
      If you want to not even do that, you can use a custom command, there’s a chapter about them on the manual. Actually you can make anything you want with custom commands, if you’re clever with them!

  13. dfroggotten1 says:

    Love your script! I’ve played the demos with no problems. I’m gonna attempt to make a battle demo for my game idea, but I would like to ask a few questions beforehand:
    1) What would be the recommended image size for battlers (maximum height/width or image size)?
    2) Do custom chains have the capability to use differing animations for a single skill? I want to attempt to make my enemy battler use a random pose and animation when performing a skill, maybe like hurling a fireball up in the air, then either headbutting, spiking, or roundhouse kicking it at the party.

    • molegato says:

      Hi! Thanks for choosing basimple! I’m proud whenever someone comes to tell me about it 🙂
      Now, for your first question, just keep in mind the resolution of your game, you want to keep the characters inside, right? There’s no recommended size, so whatever that doesn’t take half the screen is acceptable, it’s all about styles.
      As for your second question: Yes, you can do that with custom chains. Of course you have to define it yourself with clever use of tags and/or common events. You can make almost anything really, but it’s much like eventing, that’s your brain vs your tools.
      I hope you enjoy using it, and please send a screenie of your game mid-battle when you have it up and running, I’m itching to take a look!

  14. dfroggotten1 says:

    Oh, and I noticed something strange about your script, and It may or may not be the reason for the lagging everyone else is having.
    I see in the main scripts for the editor numerous uses of ‘dispose’. I assume this removes any variable’s memory use after the program doesn’t need it at the end of the function. This looks like it’s akin to the kill function in RPG Toolkit 3.2, not to be confused with Destroy, which removes the variable altogether, deleting it.
    I looked over your script and found very little use of Dispose. I don’t know much about Ruby scripting, but if Dispose and Kill are the same in functionality, Then maybe the lack of dispose in Basimple BS may be the cause of others having the lag issue, from overflowing memory use without a release.
    Again, i’m theorizing my observation. correct me if i’m wrong.

    • molegato says:

      Hi! That’s a good observation. In fact I’ve adding disposes with every new version of basimple, as the amount of stuff the engine is keeping track of increased. However there’s an impressive amount of images (main culprit of the memory usage) that cannot be disposed, as they’re part of an animation and are going to be replaced around 60 times per second.
      Still I’m pretty sure that you’re right and there are some disposes missing, but the script is old and I feel almost like a stranger exploring my own old work. Maybe I’ll give it a go some day.

      • dfroggotten1 says:

        okay. i kinda came across that problem when I was working on a Turn-based battle system in RPG Toolkit. I forgot to ‘release’ the memory use by killing the variables of the images that overloaded memory.
        Kill (RPG Toolkit) only ‘resets’ the images, but doesn’t remove them. It is usually called at the end of the animation function, or end of battle, thereby saving memory use when they aren’t being used in battle.

        that is the battle system I used. didn’t get far with it, but it’s a good example if you are familiar with c++ code and the like.

  15. Valje says:

    Hi! I’m having the same problem as Char. The error message states there is a problem with the core,

    line 1273: NoMethodError occurred.
    undefined method ‘last_hit=’ for #

    (random numbers there). It happens every time when I use a potion in menu, not in battle. Even in your demo game (I just had to edit so a potion is available at the beginning). I have no skills to fix this myself 😦

    • Valje says:

      Ah, it edited something out as tags from my message. Well there should be “tag open Scene_item: 0xSomeRandomNumbers tag close” after the #.

    • molegato says:

      Hi! I moved out of rpgmaker, but since it looks like a pretty bad bug in what’s possibly my most popular script (and looks like a relatively easy fix) I’ll have a go at it later today. Will come back with news!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s