Ra TBS Alpha release:
Ra TBS Alpha is a fully functional tactical battle system script and has what it needs to support developing basic tactical-battle-based games but it is missing many features that would give it the feel of a fully developed system, hence this is only an alpha, not a beta. The script is not completely finished yet.
The purpose of this release is for me to get a better sense of how many bugs there are in the script right now and to help me to get an idea of the direction I should head with the script. I don’t recommend using this version of the script in any serious projects you’re making, this is really just a checkpoint for me right now.Ā This version of the script will not be supported once the full version is finished.
Some of the features included in the Alpha:
- Turn based Tactical Battle System
- No transitions to another map
- Pathfinding
- Normal Attacks + Skills
- Specific Skill ranges (not just boxes or circles)
- Area of effect skills
- Jumping
- Action Restrictions
- Custom Win and Loss conditions
- Team Colors
- Producible Units
- Unit costs
- Individual unit items
- Trading
- Speed settings
- Use Actors and/or Enemies as Units
- Equip armor/weapons per unit if Actor
- Gain Experience during battle
- Terrain Passability Options
- Equipment Range and Action Modifiers
- Simple AI
- Supports Large Maps with many units
- + lots more
These are some of the features I want to add for the final version:
- True AI
- Capture Structures and Resource Locations
- Gain funds based on resources owned
- Allow units to interact with events and pickup items
- traps to deal damage when a unit walks over them
- Varying travel speeds over different terrain
- Weather effects movement speed
- Restrict skill usage by terrain tag used on/terrain tag targeted
- Restrict skill usage/target by unit ‘type’
- Units carrying other units (like a person unit getting into a plane unit)
- Scenes after win/loss showing battle stats
- Option to flip event self switches on state activation
- Simple Fog Option
- Additional teams
- Overlay image after using a skill (multi-turn aoe skills)
- Better Terrain passability settings
- Easy script calls to change control of unit
- Easy script calls to place a new unit on field after using a skill/item
- Highly and easily customizable behavior on death (ex unit body stays and can be revived later)
- Skills/items that push units around when used
- Counter attacks, Unit guarding, directional blocking, Unit charging.
Current Problems and changes that need to be made:
- Need data organization class for displaying results/ exp
- Remodel turn control flow
- Ai needs to be worked on heavily and slightly remodeled lots of stupid behavior currently.
- Lots of other small features need to be implemented (end battle after x turns, extra party organization features, more intuitive unit placement and easier item organization, etc.)
Current Known Bugs:
Text is cut off in a few windows
Sometimes the game will get stuck on the ai’s turn. I believe this happens when an enemy unit is destroyed during the ai’s turn. The script is waiting for that enemy to finish moving but it never does of course and so the player never gets another turn.
Other non-bugs:
There are lots of problems with ai, these are not really bugs, they’re just examples of poor behavior. The ai will be completely reworked with new logic
for the final version of the script.
- Jumps aren’t counted properly, so ai units can sometimes move more times than they should be able to
- Ai won’t pick the optimal tile to hit when using aoe skills
- Ai will try to target its unit even if it was removed from the map
- Several units may try to move to the same square and won’t pick a new location to move to even if there are plenty available, instead they will just “line-up”, all of them trying to move to the one square.
- The ai won’t attack its target if it is within range but the ai unit couldn’t find a path to get to the location it wanted to go to.
Please make suggestions for what you want to see in the script and any other ideas or problems you have.
Demo:Ā v1.5 (Updated 4June2013)
Compatibility Addons (Alpha – paste these under the tbs classes and modules):Ā YF Random Skill Invoke Compatibility- v0.1 (Updated 14April2013)
– Talk to the man right in front of you with the straw hat to get started. You can produce units just south of the player’s location at the white circle.




You are sir, ARE AMAZING!!! š Will post back if I have any problems or bugs.
This script is very cool but you didn’t say how to set up differnet victory conditions in the read me. How do you set up different victory conditions?
This requires a small amount of scripting knowledge, so if you aren’t familiar with scripting this part may be a bit difficult to set up.
In the TactBattleManager module there is a method called custom_win. This method should return a boolean value. The method is constantly called while the tactical battle is running, once that method returns true the battle will end.
You can test this out by just writing “true” inside the method. You’ll see that the tactical battle ends immediately after it starts.
So for example if you wanted the battle to end once a
unit on the player’s team reached a certain location on the map you’d have to tell the method to search through the @units hash and check the coordinates of all of the events in @units[PLAYER][:event]…
I’ll write up a small guide in the documentation for this part.
Your system is amazing! You should be proud of it, really!
I see a great future for this battle system. I love TBSs, and I’d love to see such a system on Ace.
I tested your battles and I have only a few things to say:
– I didn’t manage to see a limit to how the enemy Ai produces units. And have just a little amount of gold, so I could just make a single unit, and the enemy just produced a unit per turn. That seems unbalanced.
– Still about unit producting, the units a player can produce should be limited and/or conditionated by by level/variable/switch. It’s that I can’t produce Achers when battling troop 1, but I can when battling troop 2. Also, if you could implement a way of calling your reserve members at the producing point, it would be great.
-You should really size up these windows! I mean, you still do have a lot of space on Ace’s screens to use such small windows. You should resize some of them ASAP, including the items and the status screens.
– Couldn’t you make a way to confirm the place where you move? Many times I move 3 tiles with a character when I actually should have moved 2 (to use a range skill), and I can’t turn back.
Well, I think that’s it. Good luck with your system!
These are all great suggestions some of them I had noted would be added already but you can be sure all of these will be implemented in some form or another in the next release.
Just to talk about one bug that I found. There is the option to save during the battle, to resume it later. The problem is that you can resume, but when you atack some enemy unit, the game crashes. In the debug window it’s what appears: http://img171.imageshack.us/img171/4245/semttuloqeo.png
Well, my english may be a little bad… And I’m not programmer. I just want to help.
Alright thanks for the report call stack and all I should be able to fix this.
Link for the demo has been updated, I think the problem is fixed now.
Yeah! That worked! =)
And there is a “funny” fact… maybe linked with the save I made before, because it not occours when I create a new game and do the very same thing, and then save again this game, and then do the same thing again.
The problem is with an especific spell, Leya’s “Force Life”. When I use it, occours a crash in the game related to the AI script. I managed to take a picture from the debug window. But the error is diferent depending on the way I use the power. From far, the error is in the line 540.
From near, is the line 345.
http://imageshack.us/photo/my-images/703/sadsep.png/
I don’t think it’s a real important bug, but I’m reporting it anyway.
I loved you TBS, I’m really very impressed.
Yes this seems to happen for me too. After updating the script my old save files will generate strange bugs.
If you can’t get it to happen after starting a new game I wouldn’t worry about it.
Thank you for catching that bug! I had no clue about it. (:
Omg once you implement a bunch of features you’ve mentioned I’d be able to make a partial RoTK game finally!…
I should say. Yours is the better TBS ever made in rm.
Hi i got to say i love this Script u made ive been playing around the units and maps for my rpg only problem i have is that i add the unit Class in (TBUnit) Script but it wont do any actions in battle please help.
Try adding a new unit to the demo first to see if you can get the to work.
Be sure you copied and pasted everything over to your clean project.
If you still can’t get it to work, try modifying the demo to create your project instead of starting from a new one.
Excuse me, could you possibly repost because my computer says that there is a Virus.
I put a second link up it’s still on mediafire though, I can assure you there is no virus in the file.
[…] Auteur : blucalm Langue : anglais CatĆ©gorie : Tactical battle system (TBS) DĆ©mo : oui Site : lien […]
Hi!First of all sorry for my bad english.I hurt a problem with my project i use Kai Monkey’s Character Creation to create a custom character(name,face and charset).At the start of a battle the script cant find the main character because the name is define at the start of the game not in the editor.How can i make this work?
Post a link to the character creation script and I’ll try to see if I can fix the problem.
Also, did you already try matching the unit-event’s name to the actor’s name in the database?
http://www.rpgmakervxace.net/topic/2357-kai-monkeys-character-creation-with-races-version-11/
the name of actor is define by nameinput event a the start not in the database.
Yes it’s a compatibility issue and very fixable.
I intended to allow users to match unit-events to actors/enemies based on id (which is the correct way to fix this problem) as well but just didn’t implement that for the alpha.
You can try this snippet here:
http://pastebin.com/DxzE4kVX
to get the two scripts working together, follow the instructions in the script. It’s not a full solution though, I’ll write all of the code to completely fix this in the next release of the tbs.
tank you.
where i need to put the script? i got error line34 nameerror occured
and thank you to take time to fix me prob š
-_- it ok i just put it and material not in main. thank you again!
i got a other error on line 76 of the reproduceevent script but i think i will find the solution early.
How did you produce it? Or just screenshot the backtrace and send me the image/post a link to it.
That happen when i put the actor 1 on the tactical map your script work(the name of database will be not change depend on the name in-game).here the error i got:
Script ‘Reproduce Events’ line 76: NoMethodError occured.
undifiened method `id’ for nil:Nilclass
Make sure you have an event with the same name as actor 1 (the name of actor 1 in the database) on the map you’re loading the events from.
This script is simply epic! I was waiting for gtbs to be translated to rmva but after using your script i found it totally unnecessary. great work!
Now I just have a few questions about this battle system:
1. when I use a skill to attack an enemy, when the area of effect include both a friendly unit and an enemy, it damage both of them (if the area include the user of the skill, it even damage the user). Is there a way to turn off friendly fire or set the damage caused by friendly fire to a certain percentage(e.g. 50%)? It would be great if you could add a new note-tag to the skills (e,g: ) that allow us to customize it. If this function is available, it will allow us to create a lot of very interesting skill effects(e.g. if the percentage is set to a negative number, it could damage the enemy and restore the friendly units at the same time; or if it is set to higher than 100%, it will cause more difficulty to players when they try to pick the optimal tile to hit)
2. In the current version, the script allows Weapons/Armors to modify the range and actions for each unit. This is a very good design. However, I was wondering if you could consider expanding this function and allow states to do the same thing? (e.g. a state that can ban an unit from moving;or a state that enables an unit to attack twice)
3. In the current version, we set up the ‘Unit Actions’ under the Actors tag in the database for teammates. However, I was wondering if you could allow us to customize these settings under the class tag in the future? That would allow us to setup more characteristics for different classes.
4. I was trying to create an event on a map that allows players to fight for multiple times. However, every-time when the enemy represented by the event was killed during the battle, the event disappear from the map after the battle ends. Is there a way I can stop it from disappearing after the battle ends?
Sorry for my bad English, I am really looking forward for your reply! Thanks again for your great TBS!
Thank you š
To respond to all of your questions:
1: I didn’t add support for this in alpha but am planning on doing so for next release. Hadn’t considered the extra percentage options either, great idea š
2. Yes this will more than likely be in the next release. It was supposed to be in the alpha.
3. I hadn’t considered this, good idea, I’ll add this.
4. I had planned on adding this, yes. Didn’t include the feature simply to get the alpha out quicker. For some reason when I was writing the script it made things easier if events that were dead were no longer on the map.
Thank you for your reply! That sounds awesome!
I also got a theory about the unit’s animation which might be useful to the battle system. In the current version, the system only displays the walking/moving animation for each unit during the battle. No matter the unit is waiting or attacking, the animation won’t change. So I couldn’t help thinking: is there a way we can allow each unit to have multiple animations for different actions during the battle? My theory is: as we can select the battle animation for each unit in map002, if we select the waiting animation in the default event page for an unit, then add a new event page, select the moving animation and set the condition to “when switch [001:unit_moving] is on”, then do the same for the attacking animation, then we can use game switches to control the display of unit animations during the battle. After doing this, the only thing left is to set the switch [001:unit_moving] to [on] when the system start moving an unit during the battle then set it back to [off] after the unit reached its destination(also do the same for attack). Hope this could help!
Yeah that’d be pretty straight forward to implement.
Gtbs is being designed, lol. In fact, it’s at Beta 1 currently.
One day, when this is finished. I’ll make a armies of gielinor similarity. (Search it up if you want :P). Yay :3.
Hi again! I am currently working on my new project based on Ra TBS. I just love this battle system so much! Just got a quick question here:
I was trying to use Yanfly ‘Random Skill Invoke’ script with Ra TBS, However, it seems like both script has used alias for ‘use_item’ thus I can’t get ‘Random Skill Invoke’ to work. Just wondering is there any chance to make this script compatible with Ra TBS in your next release? Here is the link for Yanfly ‘Random Skill Invoke’ script in case you don’t know what I am talking about:
Since it’s very easy to make them compatible I did it now. Just paste this script under the tbs classes and modules in the script editor.
I also fixed a bug in the tbs, the link to the demo has the updated code.
Thank you! You are genius!
Hey, I was wondering if you could configure a way where I could send a unit to an enemy and if the enemy is recruit-able, I can select “talk” and it would only be available when you are near them. If so, thanks š
Yes, this is a good idea, I’ve added it to the list of features I need to implement for the next release.
Also, I dunno if this is supposed to be, but when I open the menu, I don’t just hear the default cursor sound when moving the cursor, but various other sounds.
I updated the demo, it was another random script I had written, wasn’t supposed to be there.
oh hi. i was wondering if i could make a skill you could use on yourself?
Check out sections 2.2.2 and sections 10.1 of the ‘readme’ file. I explain how to allow a unit to target itself there.
By default you would use the ‘v’ symbol on the keyboard when specifying a pattern.
I posted something in the request page earlier but after playing around with the demo I realized I know nothing about scripting. Any good tutorials or a walk through to help noobs learn scripting? Specifically scripting with RA TBS? Sorry for my lack of knowledge, I tried some research but nothing solid yet.
There’s a readme included with the demo.
Yes of course 𦠅 How foolish of me. At any rate I have started a massive campaign to learn scripting and ruby and the like, I have some 400 pages to read through and test so after that I’ll get back to your readme file. Going to start back at the basics and work my way up ^^ Thanks for your reply š
I felt a need to comment on this and thank you for this. I’ve been stuck in development for a few months now due to a lack of combat system. Now I might actually be able to get things moving again.
I had started a Shining Force remake about a year ago but stopped after not hearing any news on an srpg system. I may pick that up again with this script now. If I do I will be in contact with you on specifics. Thanks for doing this there are a lot of people out there looking for srpg games!
[…] Ra TBS – link […]
Really cool script there. Even as an Alpha/Demo, it works dead nice. Feels a bit confusing at first, but learning curves aren’t a major problem. Keep it up, would be awesome to see a version you feel is more complete!
This is really great, but you have to fix the camera movement outside the tbs (Camera follows every moving event…)
Wow I really apologize that’s just embarrassing, was a complete oversight by me. It’s fixed now.
There was a very small unrelated bug in one of the dependencies which has been fixed as well.
Heya, Is there a way to stop an enemy production event from producing units? Also, would it be possible to have an enemy unit that suppons, or spawns other units?
Those things aren’t in the alpha, they’ll be in the next release though.
Seriously will be perfect for my next game when I start it. I have a idea:What about if you can set enemies to attack certain targets(Say, like the hero) or try and capture certain buildings(When it’s ready)/reach certain points?
When do you think the next version will come out?
I’ll make sure I grind it out before the summer is over.
Hi!
I have to commend you on this script! I’ve been able to use it in a large project (a team of about 12 are working on this game) and it’s been incredibly helpful. However, although I understand you have these forums set up to answer any questions and help folks using it, I was wondering if I could contact you personally for a slightly different kind of request.
If that’s alright you can reach me at gremlingrenade@gmail.com, or on skype (also as gremlingrenade).
Thanks for your time!
Hey I have run into a problem. Sorry for the derpy question but when I start a tactical
battle the game crashes and says:
Script ‘Reproduce Events’ line 77: NoMethodError Occured
Error occured, check the debug console for more information.
What does this mean and what do I have to do?
Hmm, the demo seems to start ok right now for me.
If you take a picture of the call stack and are a bit more descriptive about what you were doing before the error happened I’ll have better chances of reproducing it.
Thanks. The problem is not in the demo, it is in a project that I am working on.
The problem occurs whenever I start the battle, and try to place my main actor on one of the starting position squares.
Right I have sorted the problem, but I have encountered another. I will send you some screen shots.
Here you go:
This is the screen whenever tactical battle starts.
http://gyazo.com/1bb357c4476d6a8a4833091e938e9472
Everything goes fine until you place down your character.
http://gyazo.com/2752b9fff9c9e49682d74e5f383a1c35
It says: Player Turn No. 1 but is still stuck on the set up menu.
Moving the cursor around causes this to happen:
http://gyazo.com/0d52cb8cc89b75a9b8fb3bb384950812
The starting position shape is basically pasted every time you move the cursor. And every time you open the window and select “Done”, it doesn’t let you, because even though you have put your character down it still thinks there is more to do.
It may be a compatibility issue with another script. Can you generate the problem in a clean project or the demo?
Right I tried deleting all my scripts, but the problem is persisting.
How can I send you a demo?
Thanks for your help.
Upload it to mediafire and then post a link here and I’ll take a look.
Can you make your allies computer controlled?
Yeah I’ve added this feature into the next version that will be released already (it’s not in the current posted version).
I’ll probably be releasing the next version in early – mid September.
where is the new version? T-T
Is there any way to set an event that will increase ur gold every turn?
I mean u can almost make an Advance Wars game with this system.
Also,is it possible to choose fixed starting positions?
like i wanted to say that there are 8 starting cells that are 15,22,17,22, etc…
Hi,
I tried to use this : @spriteset.add_highlight_tb(5,5)
But I got this error : http://puu.sh/6HfB3.png
Did I missed something ?
You have to be inside Scene_Map or a class extending it.
Sounds awesome. However, I can find no way to actually see/download the script. Am I missing something? Is there a link still up?
do a ctrl+f for “demo” no quotes and the link is to the right.
Can this script used for 1 vs 1 mode?
Yes
When will you launch the final version?
Just wanted to know if you were still on this script or not because I’m searching for a TBS and the Gubid’one is good but hard to configure. Yours seems good to but on the website it is said that you only propose an alpha version.
You are awesome! your scripts are amazing!
is there any way to make a variable increases by defeating an specific unit?