[PLUG-IN] [RM2K3] ANIMATED MONSTERS PLUGIN

Posts

Hi. I really enjoyed your game, mr. dragonheartman. Someone told me before that RPG Maker games tend to look very amateur, but yours certainly isn't. I liked the stamina system, and much more the EP instead of the conventional MP.

Well, I must admit that I only found your game here because I was searching for some way to make animated monsters. Its good to know that Cherry made his DynRPG avaliable to us, and that you already made a plugin for it. But since your plugin only displays IDLE, HURT and DEAD animations, I tried to improve it myself.
(Btw, I emailed Cherry about it too)

First, I added support for an animation where the monster is using his skill (like a mage casting his spell). There is two bugs: one is that the animation runs from where the skill mensage bar is shown to the end of the battle animation, and the other is when there is several monsters of the same type using skill at the same time all of they have this animation running even when they don't actually are using skill (but are waiting their turn).
Then, I tried adding an attack animation, but it seems that the way monsters attack can't be changed (looks kinda hard-coded, they flash and the first battle animation from database is displayed).

Is there a way I can use battle animations instead of monsters? I already do it for heroes because its more customizable. The script just had to search for an battle animation named with the monster database index plus an string matching the desired action.
i.e.: We have a Slime in index 12 of Monsters tab. Then we would have animations maned "12:IDLE", "12:HURT", "12:ATTACK", "12:SKILL", ...
Rave
Even newspapers have those nowadays.
290
Could someone write plugin that let you use 16x16 color icons for items/skills/messages/etc.? I know that there's EXFONT, but:
- It's limited
- It's 1-bit, which means no colors, not even shades of gray.

The icons would be invoked using /i escape character and icon would be loaded from either pictures folder or new icon folder.

Also suggestion for this plugin: Could you make use of spritesheets for monsters, pretty much like ones for characters and battlechara?
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=Zem
Is there a way I can use battle animations instead of monsters? I already do it for heroes because its more customizable. The script just had to search for an battle animation named with the monster database index plus an string matching the desired action.
i.e.: We have a Slime in index 12 of Monsters tab. Then we would have animations maned "12:IDLE", "12:HURT", "12:ATTACK", "12:SKILL", ...
I'm unsure if there is a way to use battle animations; I actually don't like that solution because battle animations appear above screen tints, so it can look unprofessional in certain instances. DynRPG might be able to do some image tinting based on the screen tint but I haven't played with that much.

If you'd like I can try to debug some of your code. Just let me know. For now I'm happy with the plugin as-is so I haven't added any new features.

author=Rave2010
Could someone write plugin that let you use 16x16 color icons for items/skills/messages/etc.?
I would suggest posting in the DynRPG thread. I don't know a method off the top of my head to do either of those things.

I do want to note you can fake EXFONT glyphs to look really nice if you wanted. The colors used are derived from the palette in your system graphic. It's not just a single color. You could get creative with your system graphic and do something like \c[1]$A\c[0] if you really wanted. That's what I did for the rage meter in the older version of my game's battle system:

Rave
Even newspapers have those nowadays.
290
I know exactly what I can do with EXFONT. Still, not as powerful as fullcolor icons.
Also what about my suggestion (using spritesheet instead of single graphics)? Advantages would be:
- Being able to fetch frames directly from Monster's image. No chances of leaks or need to search for additional images on disk.
- You see entire spritesheet in db when setting monster group (for positioning, origin would be of top-left frame, so monster will be shown where top-left frame is in db)
... and more.
author=dragonheartman
I'm unsure if there is a way to use battle animations; I actually don't like that solution because battle animations appear above screen tints, so it can look unprofessional in certain instances. DynRPG might be able to do some image tinting based on the screen tint but I haven't played with that much.

If you'd like I can try to debug some of your code. Just let me know. For now I'm happy with the plugin as-is so I haven't added any new features.

Hmmm. I never noticed that before.
Thanks for the help. Im currently using the plugin with the extra support for skill using. In most cases I made the monsters invisible (a image file with the same size filled with transparency, because Im using condition icons), because their skill would require melee contact (a special claw attack for example). Thats why Im dealing with the bugs I mentioned above.

author=Rave2010
Also suggestion for this plugin: Could you make use of spritesheets for monsters, pretty much like ones for characters and battlechara?

That was another thing that came to my mind. I thought about battle animations just because there was no support for spritesheets yet. There could be a subfolder inside Monsters folder, just to store the spritesheets named after the respective monster found in database. Also, since there will be monsters of different sizes, there could be a .txt file stored in one of these folders, where each line represents the desired image size of each monster stored in the database (first monster at first line, and so on).
Rave
Even newspapers have those nowadays.
290
No, I'm thinking rather along the way that most XP/VX?VXAce side view battlesystem with animated monsters are doing: Monster image, the very same image you are setting in Monster tab in DB IS spritesheet conatining all animations/frames.
Is it possible to increase the number of frames for each pose? I've been looking through the source code and nothing jumps out to me as a 'HERE I AM'. Any help?

EDIT: Also, would it be possible to add poses to it? Like, say, attacking?
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=TheRexion
Is it possible to increase the number of frames for each pose? I've been looking through the source code and nothing jumps out to me as a 'HERE I AM'. Any help?

EDIT: Also, would it be possible to add poses to it? Like, say, attacking?
1. Yes, I can easily make that modification to it. If you'd like a version with, say, 5 idle poses I can make that modification for you easily.
EDIT: are you using the sdk and planning on compiling the dll yourself? if so I can look at the source and point you in the right direction too.

2. It's possible, but not as easy. :)
1. Yeah, I planned on compiling it myself. A point in the right direction would be helpful.

2. I thought it wouldn't be, I just had the thought.

I've honestly never used C++ before, but it shouldn't be too hard.
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
The pose it references is stored in animationCycle:

int animationCycle[NUM_POSES] = {1, 2, 3, 2, 4, 5, 6}; 


For example, the idle pose index goes from zero to three and then repeats:
0, 1, 2, 3, 0, 1, 2, 3
You are free to modify this as you see fit to display different images for different poses. Just be wary that the first four poses by default are for idle, the next is for the dead pose, and the last two are for hurt poses.

The update itself to this counter for the idle pose occurs in the onFrame handler here. You'd need to modify the 4 to however many poses you want:
poseIndex[i] = (poseIndex[i]+1)%4; 


This is referenced back in animationCycle to determine which image to load. Note the first four elements of the array are 1, 2, 3, and 2 again. The idle animation actually gets displayed in that order. Given that the next elements are used for dead and hurt respectively, you'll have to update where poseIndex gets assigned when the battlers are drawn to a higher number:
        if(hurtTimer[id] > 0) 

{
poseIndex[id] = 5 + (frameTimer-1)/5; /*toggles frame between 5/6 for hurt */
hurtTimer[id]--;
}

// if the monster dies, we want to hard set the frame index to 4 (DEAD)
if(battler->hp <= 0)
{
poseIndex[id]=4;
}

I hope that helps. If you need more info, let me know.
That should be perfect, thanks a lot!

Oh, what do you use to code and compile your dll? I've been trying to use Visual Studio Ultimate 2012, but it just crashes every time I start it up. Netbeans isn't working for me either. Suggestions?
If you'd have read the instructions on the DynRPG page, you'd have seen that you should use the gcc compiler for it to work, because of some compiler sensitive instructions (assembly ones). And not any gcc compiler will do either, it has to be one of the older ones as well (should be the one which comes default with Code::Blocks)
What do you guys normally use? I was gonna start using Geany to edit, and it uses gcc, but I don't know if that would create compatibility problems.
Rave
Even newspapers have those nowadays.
290
No, gcc won't create any compatibility issues.
As said, depends on the gcc version. I haven't done extensive testing here, but I know if you use gcc version 4.4 or newer, it won't work.
Personally, I'm using Code::Blocks at the moment.
author=Kazesui
If you'd have read the instructions on the DynRPG page, you'd have seen that you should use the gcc compiler for it to work, because of some compiler sensitive instructions (assembly ones). And not any gcc compiler will do either, it has to be one of the older ones as well (should be the one which comes default with Code::Blocks)


Because I'm a fool who wouldn't look at instructions first, eh? No, I read them and tried to acquire GCC for Netbeans, I just couldn't get the blasted thing installed! I'll just go with Code::Blocks, until I get it figured out at least.
Since I had a custom battle system, sometimes people asked me why I didn't use animated monsters. Animation is a staggering amount of work.
It can be helpful to create new animation frames out of parts of monsters articulated to move, without redrawing them. Breath of Fire 2 used this trick. An arm, instead of being redrawn, would just be shifted out for one frame, then down for another frame, then the movement reversed to created the effect of exaggerated breathing. It certainly is a lot of work to draw each frame, unless the game's graphics can be designed simple, using limited colors or low resolution.

On the other hand, with detailed-enough monsters, animation may not even be necessary to capture the player's imagination. Investing time into static graphics that are beautiful can be just as rewarding. This doesn't just go for monsters, but for special effects as well. It would be especially effective using a storybook theme.
I had no clue someone had developed this!
I was using a really work-around method to accomplish animated enemies (in a less effective way). I will definitely have to test this out.
Thank you.
Bleh, finally got it to work. Apparently, I did something simple like forget to move the file into the DynRPG folder.

Hey, can someone (preferably Cherry) make an alt-version of this? I like that it checks for the folder with the same name and opens it. But it errors alot and blanks out single frame graphics, since it tries to work on EVERY monster, not just those with a folder. Some of my characters are single frame and some are placeholders (I have monsters that respawn, unless you kill them properly, and I have extended story battles), and as a result only have one graphic for them. I'd like to be able to either somehow set which ones do or don't work (possibly through DynRPG.ini) or have it automated to check whether there is in fact a folder, and if not run the default file.