Jump to content
TBWCS

Things you hate in the Frontal Battle System

Recommended Posts

Maybe there is some bit of truth on the suing though? I mean the 2003 version had SBS with ATB bars. And they removed that. I kinda don't see a reason why they could not leave that in and add the FBS and let the user choose what they deem more feasible, considering their own resources and posibilities.

 

Events can be called from battle or common event from sklil, that is probably enough for any talk during battle.

Edited by Intocabille

Share this post


Link to post
Share on other sites

Some parts of the Frontal Battle are actually patented. Squaresoft as far as I remember before, patented Materia, but I might be wrong on this one.

Share this post


Link to post
Share on other sites

@SoulPour777

 

Yep, same acct on several RPG Maker related websites. I just never signed up here because I still dont have VX or Ace and prefer XP.

 

The only reason I havent really hammered away at further enhancing Animations for the Front View Battle Systems is user friendliness.

 

In my "Collection", I put together a "simple" script that can give Enemies a sort of "Step Animation". The problem with the script is that it is not very user friendly. The Demo provides working examples so that anyone can learn from the references. But even adding a few simple animations made the configuration for these animations very complex for the average user. I really would like to enhance the Battle System as much as possible, but I think it needs a GUI, and that is well beyond my ability to do. The idea I have is to make the Front View Battle System appear to be very similar to the way Phantasy Star Generations (PS2) looks. The scripting on my end is not difficult to do. The difficulty results from most users being very confused by configuring scripts.

 

Would you care to go back and forth with me a bit to see how I can further enhance that script and not overload people with too much configuration?

Share this post


Link to post
Share on other sites

I really really doubt EB would be sued if they made a side view battle system they coded themselves, whether it looked similar to an existing SBS or not. SBS's are in tons of games and they aren't getting sued. The concept of showing a battle with enemies on one side, and the heroes on the other is a VERY simple and vague idea that probably couldn't be copyrighted itself. If you dig further into game mechanics and there are similarities in not only the mechanics but the formula's and code behind the mechanics, then yeah. I can see someone being able to TRY and sue a company over that level of similarity. But just because they provide a battle system that almost every RPG uses anyway, wouldn't exactly make them targets of copyright infringement.

 

Anyways I hate to be that guy, I really do, but I absolutely HATE the RPGM FBS. Maybe if I had spent a little more time trying to get used to it, I would have, but from the moment I saw it I wanted a script to change it! I will say I am probably biased as I only really had SBS RPGS to play as a kid. But bias aside there are a few definite faults with the default FBS as well as some good valid reasons why RPGM should have it.

 

For one, like Theo said, default FBS only - no scripts - when there is more than like 4 total battle members (as in enemies or actors) things get messy really fast, especially since the pattern for battles is: Select all members attacks, then show all members attacks in a row, then show all enemy attacks in a row. All of this happens pretty quickly, which leaves you little time to both READ what's going on and SEE what's actually happening. This could be easily fixed if say, actors attacked one at a time, directly after selecting their attack. So: actor one chooses attack, actor one attacks, now it is actor 2's choice, then actor 2 acts out his selection, and so on, until the inevitably confusing enemy attack turn (which isn't really bad unless there's 3-4+ enemies). 

 

I believe there could be many different ways to fix that, and I'm not saying the fast pace is bad, just that with that battle view, and that battle log, it's difficult to get the full experience.

 

Next, immersion. I do understand that some players and users get a sense of immersion from seeing things from the actor's point of view, no problems with that. But I don't get that feeling of immersion from the view, so once again I'm biased. I feel like having more than one actor would logically break the immersion anyway, seeing as you are no longer viewing the battle through the eyes of a character, but multiple characters, but I never felt immersed to begin with, so I don't know if that breaks immersion for anyone or not. I WOULD NOT mind a FBS for a single actor game. In fact, Soul just made the One Soul Battle System, and I think that looks pretty cool. But the problem here is that single actor battles can get boring REALLY fast and also we're no longer talking about the default FBS.

 

I guess I just feel like I'm not getting the full experience with the FBS. I'm not seeing my actors run up and slash the enemies down or shoot fireballs at them, like I would see if I used a SBS (TSBS FTW!). This could be changed if something like the video Soul put up was implemented. Where you could still see your characters act. But that wouldn't really be a viable option for EB with their target audience.

 

All that being said, the default FBS is great for it's simplicity and ease of use, and that is the main goal of RPGM, to be easy to use, so I don't expect them to change it, nor do I care, as long as they provide script support, and Theo keeps coding battle systems! xD

 

So I personally feel the pro's of a SBS are much better than those of a FBS, I use the default FBS as the example because that's the only FBS I really know well. Hell, add in YEA - Battle Engine, and a battle system that changes the way turns are managed, and the FBS just got 10x better (and that, I could tolerate). But I still prefer SBS, and cannot tolerate the default FBS.

 

ALL THESE WORDS ARE OPINIONS AND ARE MEANT TO BE TAKEN AS SUCH. I AM NOT ATTACKING YOUR VIEWS OR SAYING YOU ARE WRONG FOR LIKING THE DFBS. THESE ARE ONLY MY THOUGHTS ON THE MATTER AND I EVEN ADMIT I AM BIASED.

 

Sadly, in this day and age, I felt like that last part was actually needed to avoid offending someone. Someone will probably get offended anyway... xD

Rambling mode /off

  • Like 1

Share this post


Link to post
Share on other sites

You'd be suprised if Enterbrain got sued? I wouldnt be. People in the US are dumb enough to sue when they buy coffee that is too hot and spill it on themselves. They sue ladder makers for getting shocked while standing barefoot on the metal ladder in a swimming pool and change a lightbulb during a lightning storm. They are sue-happy. And they will sue over the dumbest of things, even if they are bound to lose in court. There are court cases where one guy gave another guy money for illegal drugs, then sued him because he didnt give him any of those illegal drugs! Just purely moronic. And companies are just as retarded at times. I forget which company claimed they had the right to sue when people linked to their website if there was anything negative said about that company. They lost. A big company too, and they lost, in court, immediately. People sue over anything any more. The only thing that Enterbrain needs to do in order to not get sued is to not make a complete knockoff of an existing battle system. The literal carbon copies is a really grey area with Copyright and Trademark. Square Enix took legal action against a fanmade Chrono Trigger remake. All the content and code was purely original, but due to the use of Trademarked material, they started by the hollow yet threatening Cease and Desist letter. Had the issue been pressed, Im sure it could have ended up in court, and ended badly for the fan. And for the record, the whole legal thing isnt that big of a deal, but it is one of those things that businesses consider before committing to creating a product. Most want to protect what they create, and try to be reasonably careful about potentially upsetting other companies.

 

Anyway, I dont think anyone will be offended by your comment, so no worries there. The offense comes when condemnation of all other choices occurs. Youre not saying all games should be SBS, just that you dont like FBS. If you did say all games should be SBS, it would be offensive (which it wasnt) cuz that would be condemnation of other choices. So as long as peoples choices are respected, there wont be offense.

 

I worked on a FBS, a style you dont like. Okay, you dont have to use it or play games made with it. Its not a big deal. Im not a big fan of sports games or first person shooters. People shouldnt feel offended by that. Im not a fan because there are so damn many that I think we are just overwhelmed with shooters. Basically FPS Pollution. Same thing as advertisements. Everything is so oversaturated with ads that its Advertising Pollution. It is that excessiveness of having someone try to shove an opinion no one wants to hear down their throats that I think offends.

 

The thing is, there can definitely be bad FBS games, just as there can be bad SBS games too. I think this thread is definitely worth exposing some of those sensitive nerves about what makes certain battle systems bad without regard to style in order to make games more fun. SoulPour777 addressed a lack of animations and different styles of enemy collapse. He is right. The defaults are very very boring. The negative aspects of any game need to be brought up so they can be corrected. And its not just about FBS vs SBS, the same thing applies to XP vs VXA as well. Enterbrain pulled out a lot of options when VX came out, and that frustrated many RPG Maker users. Some things in the back end did fuction more efficiently, but good and bad are really subjective interpretations. As a result, some people feel that VX/A is bad and XP is still good/better. Others will disagree. Some wont care either way. The problem that I saw with VX/A was the limitation of options, which as stated before, is the condemnation of other options, and where people feel offended.

 

Its much like Fanboys. Hate Microsoft but love Sony or Nintendo. Why so much love or hate to begin with? Usually its because that is all a person has. I only have a PS3 so sony is great and the others suck. That is a narrow minded response if I said such a thing. A more open mind would say who cares and get all three systems. Why? Because it is more options.

 

So as long as we have the option to replace the Enterbrain Battle Systems to one that suits peoples styles, great. We can script and create brand new battle systems too! Thats even better! Although options arent created by Enterbrain, we can create our own options and customize as we see fit! And the default system in XP, VX, and Ace I think all suck. Thus, its on you and me to do better! We dont have to use the defaults! Do we have enough ambition and talent to create something brand new that will blow people away? Maybe. Will there be things that people wont like about what we put our heads together to create? Guaranteed. But as long as we dont try forcing our creations on others, and instead offer what we create as a choice, we will get along just fine.

 

So by all means, please keep on bashing the FBS, we do need to know what is wrong with them. I cant really do too much about the whole Immersion issue, but maybe I can do something about making the characters run up and attack their targets. It isnt bashing just for the sake of bashing, but is Constructive Criticism, and exactly what we need to make things better.

  • Like 2

Share this post


Link to post
Share on other sites

I can see what you mean about getting sued. I was thinking that they most likely wouldn't get sued successfully. So yeah, they may avoid SBS's just to get rid of that nasty possibility. But if they thought that's what the majority of their customers would want, I think they might still do it. But an SBS is difficult, unless it's extremely simple, for most new users to set up. So we probably won't be seeing that unless it's optional.

 

And I guess I did turn it into an SBS vs. FBS conversation, which was my mistake. I misinterpreted the original question. But I did also give my view of EB's FBS with a comparison to some of the better/best SBS's. I also didn't mean to sound like I was saying all FBS are bad. I've never seen the one you worked on, and for all I know, could fix the problems that I have with the DFBS, just like I think Soulpour's One Soul Battle System adds not only a cool new view from the front perspective, but some additional game mechanics that could keep some interest going in a one man battle system, assuming the enemies weren't boring.

 

In the end, as long as EB leaves open the choice to script our own stuff, I'll be happy. And I wouldn't mind seeing improvements on the FBS, for the less knowledgeable game makers that DO have great ideas for stories and characters and presentation (and correct their own spelling mistakes!!!), but can't make or use a new battle system themselves. Then those games might get some more plays! I'm also open to trying out improved/new FBS myself, just because I hate EB's doesn't necessarily mean that I will hate all FBS right? I'll still probably prefer a SBS, but I could see myself liking some styles of FBS too.

 

If I say anything else, I'll feel like I'm rambling on, so I'll end my post at that :P

 

Edit: Ahh, I'll list my opinion on the faults of the DFBS in a quick tl;dr version:

- The current turn management makes it hard to understand what's going on at times

- There's a lack of animation and indication - actor side - that makes it hard to tell, without reading, who is getting hit by who

- The HUD is boring :P

- The battle log could be improved/removed and replaced

- Actor representation in battles is lacking

- ALL FBS SUK AN R 4 NUBS

Edited by Euphoria

Share this post


Link to post
Share on other sites

Hell, add in YEA - Battle Engine, and a battle system that changes the way turns are managed, and the FBS just got 10x better (and that, I could tolerate). But I still prefer SBS, and cannot tolerate the default FBS.

 

 

This is my personal opinion, but YEA Battle Engine isn't really that great much either when it comes to an immerse battle for the FBS. Note that I am saying this via what I feel and see. I used it once and I consider it to be a Redux of the FBS rather than a change or upgrade. Don't get me wrong, he is a good coder for the RGSS and I love his work, but when it comes to FBS changing and all that stuff, I still prefer the eye candy Moghunter works :P

 

Now, let's go back to the topic. The problem with RPG Maker VXAce's FBS is that some of the things other users loved back then in RMXP are long gone. When VX came out, I was excited to see what it could offer me, only to find out that its just some battler on the screen and my characters taking my perspective. The battlers are gone and the XP's feel was rather lost, rather than calling VX's FBS is better. Now, if we take account immersion, we know for a fact that we need to see new things. We want to see new applied script there that would change the entirety of the FBS. But we don't have much of that either in Ace. I believe that immersion comes while the FBS really offers us a presentation and graphical aesthetics. As I have already mentioned, behaviors, animation, look and feel and all of those have been missing throughout the FBS.

 

 

The thing is, there can definitely be bad FBS games, just as there can be bad SBS games too. I think this thread is definitely worth exposing some of those sensitive nerves about what makes certain battle systems bad without regard to style in order to make games more fun. SoulPour777 addressed a lack of animations and different styles of enemy collapse. He is right. The defaults are very very boring. The negative aspects of any game need to be brought up so they can be corrected. And its not just about FBS vs SBS, the same thing applies to XP vs VXA as well. Enterbrain pulled out a lot of options when VX came out, and that frustrated many RPG Maker users. Some things in the back end did fuction more efficiently, but good and bad are really subjective interpretations. As a result, some people feel that VX/A is bad and XP is still good/better. Others will disagree. Some wont care either way. The problem that I saw with VX/A was the limitation of options, which as stated before, is the condemnation of other options, and where people feel offended.

 

Somehow I agree with Heretic's point about the limitation of options. As an XP user back then up to now, I noticed one thing not only about the battle system but also the entirety of mapping. I never bothered learning Parallax Mapping in RPGXP because I was able to achieve beautifully made maps without any Photoshop magic. Right now, I am wondering why I rely too much on photoshop magic just to achieve a tweak I want. But that's not the point of my thread, so let me go back into that.

 

FBS was implemented by Enterbrain in my opinion not only because it was their easiest system to program or something that is easy to understand but also because of its possibilities. I believe that Enterbrain thinks the coders or as the PV announcer said: "for those ambitious creators", can manipulate the battle system to make it better. ATB, CTB, Dueling System and such, are options that can be added to make the FBS a lot better. But these are not still on the default. Also, when you think of it, the configuration of an FBS is not hard to implement into story telling, as well as easier to present a "battle".

 

Maybe, Eb! was also thinking of the nostalgic effect of an FBS to a user. Japanese RPG players and makers usually prefer the FBS, as far as I know. Their market is the Japanese anyway...so maybe there's a survey out there before the production or creation of the program to see what the people wants. They might have been taking in heart: "What do you like to see when you are given a game creation program to make your own RPG?"...and there might be a lot there that would say FBS.

 

I could be wrong about the Japanese part though.

  • Like 1

Share this post


Link to post
Share on other sites

Disclaimer: I only read the OP. I did not read the comments yet.

I personally am a big fan of turn-based combat for RPGs; however, I am not opposed to action battle style games either. Both require extremely different levels of skill. Turn-based RPGs rely on strategy and knowing how to build/prepare your turns to compliment one another, while ABSs seem to rely on how quickly you can react to a situation and respond accordingly. That being said, with the amount of scripts out there, I definitely would NOT purchase a new copy of RPG Maker if the primary difference was the implementation of a new battle system.

As for the FBS... I hate it. I absolutely do not like it one bit, and no matter how seriously I take a new project... even if I know for a fact I won't finish it... the very first thing I do is get a script for a different battle system.

Share this post


Link to post
Share on other sites

Disclaimer: I only read the OP. I did not read the comments yet.

 

I personally am a big fan of turn-based combat for RPGs; however, I am not opposed to action battle style games either. Both require extremely different levels of skill. Turn-based RPGs rely on strategy and knowing how to build/prepare your turns to compliment one another, while ABSs seem to rely on how quickly you can react to a situation and respond accordingly. That being said, with the amount of scripts out there, I definitely would NOT purchase a new copy of RPG Maker if the primary difference was the implementation of a new battle system.

 

As for the FBS... I hate it. I absolutely do not like it one bit, and no matter how seriously I take a new project... even if I know for a fact I won't finish it... the very first thing I do is get a script for a different battle system.

 

Which is good for users like you since there are scripts out there that does so :) But let us consider it as I am the marketing officer and you're my client. What would make the FBS interesting in your view? Are there things you want to see in it? Or are you totally out from using it? It's probably the things we need to eliminate, what people hate about the FBS :D

  • Like 1

Share this post


Link to post
Share on other sites

Hmm..

So you're asking that if no scripts existed to change the FBS, and I had to use the FBS, what would I like to see differently?

Well, in my opinion, the FBS seems kinda... lackluster. You play as 1-4 columns with a static picture, watching animations play on top of another static picture. The level of movement and animation that makes a battle seem more like combat seems heavily missing, in my opinion. I understand that, fundamentally, an animated SBS is exactly the same thing as a static FBS. Implementing the animations and different view does not change the battle one bit, and I understand that. I simply enjoy having a physical manifestation of my characters actually doing attacks, casting spells, etc.

That being said... how would I change FBS?

Hmm. I would like, if possible, to see my characters somehow. I have seen a script on here that makes the FBS system show the characters from behind and implement a very similar animation tactic as the SBS scripts. I think having animated enemy battlers would be great, too, or at least the option in the database to have the enemies come with 2-3 different images. One for full health, one for half health, one for almost dead. Really... just something to make it less droll. It gets kinda boring watching a static picture get burned and slashed at for extended periods of time during long battles.

  • Like 1

Share this post


Link to post
Share on other sites

Hmm..

 

So you're asking that if no scripts existed to change the FBS, and I had to use the FBS, what would I like to see differently?

 

Well, in my opinion, the FBS seems kinda... lackluster. You play as 1-4 columns with a static picture, watching animations play on top of another static picture. The level of movement and animation that makes a battle seem more like combat seems heavily missing, in my opinion. I understand that, fundamentally, an animated SBS is exactly the same thing as a static FBS. Implementing the animations and different view does not change the battle one bit, and I understand that. I simply enjoy having a physical manifestation of my characters actually doing attacks, casting spells, etc.

 

That being said... how would I change FBS?

 

Hmm. I would like, if possible, to see my characters somehow. I have seen a script on here that makes the FBS system show the characters from behind and implement a very similar animation tactic as the SBS scripts. I think having animated enemy battlers would be great, too, or at least the option in the database to have the enemies come with 2-3 different images. One for full health, one for half health, one for almost dead. Really... just something to make it less droll. It gets kinda boring watching a static picture get burned and slashed at for extended periods of time during long battles.

 

Thanks for the feedback. I am close to finishing my battle engine script and definitely, some of what you mentioned exist there. :)

Share this post


Link to post
Share on other sites

I currently am working on a project; however, it is VERY slow moving until I get internet access restored in my home. (long story)

Although I already have a battle system in place, I will gladly implement yours for a trial run. I am not a big fan of FBS at all, but if yours truly provides something revolutionary to the FBS world, I may end up keeping it. I'm willing to give anything a shot.

Share this post


Link to post
Share on other sites

I currently am working on a project; however, it is VERY slow moving until I get internet access restored in my home. (long story)

 

Although I already have a battle system in place, I will gladly implement yours for a trial run. I am not a big fan of FBS at all, but if yours truly provides something revolutionary to the FBS world, I may end up keeping it. I'm willing to give anything a shot.

 

That would be nice. For me to showcase my script, I guess making a sample game would do the trick. I am making a game called "Moon of the Fading Sun" and it all features all my scripts, including the battle engine. I do hope though, I will be able to finish it in time soon as I finish making all the scripts.

Share this post


Link to post
Share on other sites

So would seeing characters animate like this at least be a start to improving a FBS?

 

attachicon.gifsprites_do_psg2.png

 

Definitely! This is a dream battle system I always wanted to see in RPG Maker. Are you planning to do it?

Share this post


Link to post
Share on other sites

It is exactly what Im considering. However that image is a rip from Phantasy Star Generations. Are there any art assets that arent copyrighted that we can use, or an artist interested in creating animations like these? Im not an artist and the script (for XP) would be only half of it. The script would be useless without art assets to use as well...

Share this post


Link to post
Share on other sites

It is exactly what Im considering. However that image is a rip from Phantasy Star Generations. Are there any art assets that arent copyrighted that we can use, or an artist interested in creating animations like these? Im not an artist and the script (for XP) would be only half of it. The script would be useless without art assets to use as well...

 

I don't know any artist who ever created something like those. Sadly, I've seen some of those only as the examples you can use for such battle (PS: Sega Ages and PS: Sega Ages 2). The only closest one I know who can make front view animated battlers would be Holder.

Share this post


Link to post
Share on other sites

If you wanted to, you could do it like Final Fantasy Legend 3, which uses the back of character walkaround sprites for battle animations.

Share this post


Link to post
Share on other sites

I think what could be done at minimum, and probably the most easiest (perhaps?) would be to be able to define a face to be used in the lower area with characters info (like in YEA battle system) but have option to select another face from set, either by number, or have it defined somewhere, which face to show when hit, when using sklil etc ? Like normály there is face from position 0, when hit it will be replaced shortly by face in position 1, when casting, it is face 2, when KO, face 3 and so on.

 

(also someone said an idea can't be copyrighted... I believe that Wizards of the Coast copyrighted a principle where you "tap" cards to show they are being used. Literaly, turning a playing card to side. Also heard something about a copyright on systém where you use dice to say a result of action, so a dice rolling in RPGs, but I am not so inclined to believe that one. On other hand there is patent for principle of game where you move a customizable figurines on grid like map and use dice... not a specific thing, but principle.)

Edited by Intocabille

Share this post


Link to post
Share on other sites

Quick sample of a very simple script I already wrote: (Note: this is for XP, may not work in VXA, untested)

 

module Anim_Battlers_Cfg  # Ghost - 54 is the Enemy ID in the Enemy Database  Enemies[54] = EnemyCFG.new()  Enemies[54].graphic = "051-Undead01.png" # Overrides standard Graphic  Enemies[54].frames = 4  # Required - Number of Frames in specified Graphic  Enemies[54].speed = 8   # Required to Animate - How fast this enemy "steps"  Enemies[54].hue = 80       # Hue of Enemy, same as changing in Enemy DB.    Enemies[54].hue_speed = 0  # The Hue of this Enemy does not rotateend
Full Incomplete Script (XP)

 

#===============================================================================
#
#           Animated Battlers
#           Authors: Heretic
#           Version 0.1
#           Date: Wednesday, May 21st, 2014
#
#------------------------------------------------------------------------------
#
#  This is an Animation Script for Front View Battle Systems.
#
#  This is a very simple Animated Battlers script that is NOT COMPLETE, and
#  is not that easy to use.  Sorry about that.
#
#  What this script does is allow you to create "step" animations for
#  your Game Enemies.  I havent written anything for Actors yet.  All
#  it does is makes Enemies have a "step" animation where they can be
#  made to appear as if they are floating or stepping.  Its not much
#  but I think it is a step up from no animations at all.  I think
#  it is great for Flying Enemies, but again, very very limited.
#
#  There are several things you'll need to do in order to Animate an Enemy.
#
#  First - In the Enemy Database, one frame of your Enemy should appear.  Don't
#  bother making your Enemy Graphic in the Enemy Database anything more than
#  one single Frame as it is NOT USED.
#
#  Next - Take that Graphic and edit it.  The WIDTH of the Enemy Spritesheet
#  needs to be equal to the number of frames of Animation you use.  So if you
#  have an Enemy that is 100 pixels in width and give it 6 frames of animation
#  you'll make your image 600 pixels wide.  Script Config comes later.
#
#  Duplicate your Enemy, one for each frame of animation.  Tweak each frame
#  however you desire.
#
#  Save the Image for your Enemy Spritesheet in Battlers/Animated.  You will
#  probably have to create the Folder for that.  The folder is just used to
#  keep things organized for you.
#
#  Now you'll need to create a Configuration Entry in this script.  Animated
#  Enemies must have a Graphic and specify a Number of Frames, as well as
#  be given a Speed at which they will animate.  There are several Properties
#  you'll need to become familiar with.  Graphic, Frames, Speed, Hue, and
#  last but probably least is Hue Speed.
#
#  Each entry into the configuration needs the Enemy ID from the Enemy Database.
#
#  ---  Configuration  ---
#
#  I set this up so you can use a DIFFERENT graphic other than the one
#  specified in the Enemy Database.  This allows the Enemy Database to
#  have one graphic, and the actual animation file to use a different
#  one.  This was done so you dont have to put the full spritesheet for
#  each enemy in the Enemy Database which causes difficulty.
#
#  For each enemy, you'll need to create an EnemyCFG.new() to hold the
#  settings for each Animated Enemy.
#
#  - Graphic -
#
#  The Enemies[enemy_id].graphic overrides the Enemy Image specified in
#  the database.  The graphic itself needs a number of Frames.  You'll
#  need to create a Graphic which contains ALL the frames of animations
#  from Left to Right, which is most likely going to be your same enemy
#  placed several times on your image.
#
#  - Frames -
#
#  Enemies with only one frame of animation are not animated.  So more frames
#  of animations are needed.  You must specify the number of frames your
#  enemy animation has so this script can properly display each frame.  If
#  you have the number of frames incorrect, your enemy will appear to jitter
#  and be clipped on the sides.
#
#  - Speed -
#
#  A speed is required to make your Enemies animate.  It works just like
#  the "move speed" for events.  A move speed of 0 means your enemy does
#  not animate.  A move speed of 1 will make the enemy "step" at the
#  same rate as an Event with a speed of 1.  The more frames of animation
#  you have, the higher the speed is recommended.
#
#  - Hue -
#
#  Standard Hue for each Enemy Graphic.  Default is 0.  Set as desired.
#
#  - Hue Rotation - 
#
#  I thought this might be an interesting effect for spells or some status
#  effects.  You can make the hue automatically rotate through the full
#  spectrum by giving any hue_speed greater than 1.  Hue speed is independant
#  of speed.  So you can have a static one frame of animation, and still
#  have an enemy rotate its hue.
#
#
#
#
#  ---  Configuration During Battle  ---
#
#  Each of these propertis of Speed, Hue, and Hue Speed can be specified
#  for each Battler (Actors and Enemies) during battle!  For Enemies, just
#  use $game_troop.enemies[id].speed =, .hue or .hue_speed in a Script
#  during Battle.  For the Party, use $game_party.actors[id].hue_speed = 
#  with a Script call.
#
#  Hue Rotation does NOT require that any Battler have a Configuration.  But
#  applying an Animation where a graphic is expected does require a CFG entry.
#
#
#  ---  Limitations  ---
#
#  - These Battlers do not move around the screen.  They stay in one place.
#  - Battlers dont get different animations for attacking.
#  - Sorry if requiring the number of Frames is a pain in the butt.
#
#  ---  Legal  ---
#
#  Since this script is not done, its mostly just a framework so do what
#  ever you want with it, including modify and distribute it, as long as
#  you give me credit for what I've done, even in its limited form.



module Anim_Battlers_Cfg
  # Object to hold Settings for each Animation
  EnemyCFG = Struct.new(:graphic,:speed,:frames,:hue,:hue_speed)
  # Subfolder within Battlers Folder to organize Animated Battlers
  FOLDER = "Animated/"
  # Container for Sprite Settings
  Actors = {}
  Enemies = {}
  
  # Ghost - 54 is the Enemy ID in the Enemy Database
  Enemies[54] = EnemyCFG.new()
  Enemies[54].graphic = "051-Undead01.png" # Overrides standard Graphic
  Enemies[54].frames = 4  # Required - Number of Frames in specified Graphic
  Enemies[54].speed = 8   # Required to Animate - How fast this enemy "steps"
  Enemies[54].hue = 80       # Hue of Enemy, same as changing in Enemy DB.  
  Enemies[54].hue_speed = 0  # The Hue of this Enemy does not rotate
  
  
  
  # Ghost - This ghost will Rotate its Hue.  Possibly useful for Spell Effects.
  Enemies[55] = EnemyCFG.new()
  Enemies[55].graphic = "051-Undead01.png"
  Enemies[55].hue_speed = 7                # Allows Rotating the Hue
  Enemies[55].hue = 0
  Enemies[55].frames = 4
  Enemies[55].speed = 5
  
  # Basilisk with Wrong Graphic - Example of when things go wrong!
  Enemies[56] = EnemyCFG.new()
  Enemies[56].graphic = "055-Snake01.png"  # Graphic itself has only 3 Frames!
  Enemies[56].hue_speed = 0
  Enemies[56].hue = 0
  Enemies[56].frames = 4  # Purposefully entered wrong for Demo, should be 3
  Enemies[56].speed = 7
  
end

#==============================================================================
# ** Battler Animations
#
#    Animations for Battler Sprites are performed within this class.
#==============================================================================
class Battler_Animations
  include Anim_Battlers_Cfg
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :speed                    # Speed of Animation Frames
  attr_accessor :hue_speed                # Speed to rotate the Hue
  attr_accessor :frames                   # Number of Frames of Animation
  attr_accessor :pattern                  # Which Frame should be displayed
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(battler = nil)
    # Parent Object - Allows updates to be applied from within this class
    @battler = battler
    # Number of Frames for Animation
    @frames = 1
    # Pattern of Animation
    @pattern = 0
    # Internal Counter for Animation Frames
    @anime_count = 0.0
    # Speed at which to change Animation Frames (Default - do not animate)
    @speed = 0.0
    # For Hue Rotation - Allows + or - Rotations
    @hue_speed = 0
  end
  #--------------------------------------------------------------------------
  # * Load Configuration - Load Settings from section above
  #--------------------------------------------------------------------------
  def load_cfg(battler)
    if battler.is_a?(Game_Actor)
      cfg = Anim_Battlers_Cfg::Actors[battler.id]
      if cfg and FileTest.exist?("Graphics/Battlers/" + FOLDER + cfg.graphic)
        battler.battler_name = FOLDER + cfg.graphic
        @frames = cfg.frames
        @pattern = rand(cfg.frames - 1)
        @speed = cfg.speed
        @hue = cfg.hue
        @hue_speed = cfg.hue_speed
      end
    elsif battler.is_a?(Game_Enemy)
      cfg = Anim_Battlers_Cfg::Enemies[battler.id]
      if cfg and FileTest.exist?("Graphics/Battlers/" + FOLDER + cfg.graphic)
        battler.battler_name = FOLDER + cfg.graphic
        @frames = cfg.frames
        @pattern = rand(cfg.frames - 1)
        @speed = cfg.speed
        @hue = cfg.hue
        @hue_speed = cfg.hue_speed
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #
  #   Note: Update is called from within Sprite Battler externally
  #--------------------------------------------------------------------------
  def update
    # Updates the Battler's Hue
    update_hue 
    # Updates the Battlers Animation Spritesheet
    update_anime
  end
  #--------------------------------------------------------------------------
  # * Update Hue
  #--------------------------------------------------------------------------
  def update_hue
    # If Battler has a Rotating Hue (dead and hidden causes battler to vanish)
    if @hue_speed != 0.0 and not @battler.dead? and not @battler.hidden
      # Update the Battler Hue
      @battler.battler_hue += @hue_speed        
      # Check for Hue Rotation Direction
      if @hue_speed > 0.0
        @battler.battler_hue -= 360.0 if @battler.battler_hue > 360.0
      elsif @hue_speed < 0.0
        @battler.battler_hue += 360.0 if @battler.battler_hue < -360.0
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update Animations
  #--------------------------------------------------------------------------
  def update_anime
    # * Maximum value is move speed * 1 taken from basic value 18
    if @speed > 0
      if @anime_count > 18.0 - @speed * 2
        # Update pattern based on number of Frames of Animation
        @pattern = (@pattern + 1) % @frames
        # Clear animation count
        @anime_count = 0
      end
      # Update Anime Count
      @anime_count += 1
    end
  end
end

#==============================================================================
# ** Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :battler_animations       # Updates Battle Animation Object
  attr_accessor :battler_name             # Graphic for Battler
  attr_accessor :battler_hue              # battler hue  
  #--------------------------------------------------------------------------
  # * Game Battler Initialize - Alias
  #--------------------------------------------------------------------------
  alias battler_animations_initialize initialize
  def initialize
    # Call Original or other Aliases
    battler_animations_initialize
    # Battle Animations Controller Object
    @battler_animations = Battler_Animations.new(self)
  end
  #--------------------------------------------------------------------------
  # * Make Animations Controller
  #   - Creates the Battler Animations Object when it doesnt exist
  #   - Prevents Save Game crash
  #--------------------------------------------------------------------------
  def make_animation_controller
    # Battle Animatiosn Controller Object Only
    @battler_animations = Battler_Animations.new(self)
    # Load Settings from the Configuration above
    @battler_animations.load_cfg(self)
  end
  #--------------------------------------------------------------------------
  # * Speed - The speed for Animation Frames to change
  #     speed : new_speed (Numeric)
  #--------------------------------------------------------------------------
  def speed=(new_speed)
    # Check for Animation Controller Object    
    return if not @battler_animations
    # Check for Errors
    if not new_speed.is_a?(Numeric)
      # If running from Editor or Battle Test      
      if $DEBUG
        # Explain the problem to the user
        print "Error in Animated Battlers:\n\n", 
              "enemy.speed=N expects N to be a Number!\n",
              new_speed, " is not a Number!"
      end
      # Prevent Crash
      return
    end
    # Change the Battlers Hue Speed in Animation
    @battler_animations.speed = new_speed * 1.0
  end
  #--------------------------------------------------------------------------
  # * Hue - Change Hue on the fly
  #     new_hue : range between 0 and 360 degrees
  #     - Its possible to just access @battler_hue also...
  #--------------------------------------------------------------------------
  def hue=(new_hue)
    # Check for Animation Controller Object
    return if not @battler_animations
    # Check for Errors
    if not new_hue.is_a?(Numeric)
      # If running from Editor or Battle Test
      if $DEBUG
        # Explain the problem to the user
        print "Error in Animated Battlers:\n\n", 
              "enemy.hue=N expects N to be a Number!\n",
              new_hue, " is not a Number!"
      end
      # Prevent Crash
      return
    end
    # Change the Battlers Hue
    @battler_hue = new_hue
  end  
  #--------------------------------------------------------------------------
  # * Hue Speed - The speed at which the Hue will Rotate
  #     new_speed : Numeric
  #--------------------------------------------------------------------------
  def hue_speed=(new_speed)
    return if not @battler_animations
    # Check for Errors
    if not new_speed.is_a?(Numeric)
      if $DEBUG
        # Explain the problem to the user
        print "Error in Animated Battlers:\n\n", 
              "enemy.hue_speed=N expects N to be a Number!\n",
              new_speed, " is not a Number!"
      end
      # Prevent Crash
      return
    end
    # Change the Battlers Hue Speed in Animation
    @battler_animations.hue_speed = new_speed * 1.0
  end  
end

#==============================================================================
# ** Sprite Battler
#==============================================================================
class Sprite_Battler < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     viewport : viewport
  #     battler  : battler (Game_Battler)
  #--------------------------------------------------------------------------
  alias sprite_battler_animations_initialize initialize
  def initialize(viewport, battler = nil)
    # Call Original or other Aliases
    sprite_battler_animations_initialize(viewport, battler)
    # If not a null battler
    if battler != nil
      # Load Settings from the Configuration above
      battler.battler_animations.load_cfg(battler)
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update - Reclips Sprite for Animations
  #--------------------------------------------------------------------------
  alias anim_sprite_battlers_update update
  def update
    # Check for Animation Controller Object (Prevents Save Game Crash)
    if @battler and not @battler.battler_animations
      # Make Battler Animations Controller Object without resetting Battler
      @battler.make_animation_controller      
    end
    # Update the Internal State of the Animation Object
    @battler.battler_animations.update if @battler
    # Call Original or other Aliases
    anim_sprite_battlers_update
    # Return if Battler doesnt exist
    return if not @battler
    # Number of Frames of Animations
    frames = @battler.battler_animations.frames
    speed = @battler.battler_animations.speed
    # If Character is to be Animated
    if frames > 1
      # Which frame to use from the Battler Animations Object
      pattern = @battler.battler_animations.pattern
      # Battler Width and Height
      bw = bitmap.width / frames
      bh = bitmap.height
      # Start of Bitmap Clip for XY
      sx = pattern * bw
      # Divide by 2 so it is Centered        
      self.ox = bw / 2
      self.oy = bh
      # Reclip the Bitmap - Overrides previous self.ox/y settings
      self.src_rect.set(sx, 0, bw, bh)
    end    
  end

end

 

 

That is the configuration for just one enemy to have a "Step Animation" during battle! The larger this config becomes, the less user friendly it is. And that is my biggest problem without feedback of what people want! See how that could be difficult to translate into code without loads of problems for users without a GUI?

 

This is also just one small step in trying to fix things we dont like about the standard FBS...

Share this post


Link to post
Share on other sites

Hmmm, why not require the script to use the default frames of how animations work for their animations? Using more and more frames would just load up the animation. I tested this via the iconset and it lags a lot when ever you use at least a 300 spreadsheet icon. I think it works the same with animations, especially that it is being run through the whole frame. Maybe about 7 - 10 would just be enough.

 

Tell me if there are things I wasn't clear, so I might be able to give you more idea :)

Share this post


Link to post
Share on other sites

Hey, I think RPG Maker FBS need this

http://youtu.be/YWvW9srnIXQ?t=1m8s

 

On 1:08. The Battle Camera and HUD flashing for actors and I will really like front view battle system

Thanks to AlliedG for posting this video on status update lol

  • Like 1

Share this post


Link to post
Share on other sites

Hey, I think RPG Maker FBS need this

http://youtu.be/YWvW9srnIXQ?t=1m8s

 

On 1:08. The Battle Camera and HUD flashing for actors and I will really like front view battle system

Thanks to AlliedG for posting this video on status update lol

 

I already have the Battle Camera I made as a script, I guess that Flashing Actors, not yet.

Share this post


Link to post
Share on other sites

Anyways, so here's an update for my FBS rework called Soul Horizon Battle System, and here's the things I can show that makes the FBS not anymore as boring as the old one, Battle Camera and the Sogen - Umi - Yami - Tengoku (è‰åŽŸ æµ· 日本語 天国)  Script Add On:

 

https://www.youtube.com/watch?v=3yQVHi2CybA&feature=youtu.be

 

https://www.youtube.com/watch?v=QtEFH6lmwRs&feature=youtu.be

Share this post


Link to post
Share on other sites

I'm fine with a FBS.

If for no other reason that the resource nightmare it would be otherwise.

 

It's hard enough to find sprites for PCs sleeping, jumping, running, etc.

Can't imagine having to find more and likely more detailed ones for slashing with 1 sword, slashing with 2, thrusting with spear, bashing with club, casting a spell, and that only talking about ONE character ONLY ATTACKING! No blocking, taking damage, or anything else that might have to be shown if you could see the batters during battle.

 

I understand the appeal of being able to see everything on-screen, but development time and resources are just as real and important an aspect of game creation as it's mechanics.

 

As developers, we have to balance that fine line. (Especially those of you who have or soon will go commercial.)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted