Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Ahoy, sports fans! I'm dusting off a project that was on hiatus for a bit, because I think it will potentially be a great addition to the public script compendium. I give you...the dynamic bestiary!

So what's a dynamic bestiary, Trihan?

I'm glad you asked! Simply put, it's a compendium of enemies that only fills in when you find out a specific piece of information about that enemy, and is fully-configurable to show whatever information you want, wherever you want it.

There are a number of predefined "boxes" of information (stats, elemental weaknesses, status weaknesses etc.) but in the configuration you define where the boxes appear and what they're anchored to, so you can have the bestiary tailored in appearance to suit what works best for your game.

How does it work?

Basically it records actions in battle and gives its best estimate of what the enemy is sporting on the basis of what's happening. If you fight a Slime, for instance, and deal 108 damage to it, then it heals itself for 20, followed by you dealing 60 damage which kills it, the bestiary will list its HP as "109~148", because that's the possible range on the basis of the damage you dealt. (yes, it takes heals into account).

As you've now encountered the enemy, Slime will show in the list. It will have ? for anything you don't know yet, like elemental affinities and status weaknesses, but any drops you got from the battle will be listed, it will show how many you've killed, and any stats it's figured out a range for.

Screenshots!

dynamic_bestiary1.png


Enemies not yet encountered will show this by default.

dynamic_bestiary2.png


Once an enemy is encountered, we start populating the information.

dynamic_bestiary3.png


Let's say we try confusing an enemy in battle. If it succeeds...

dynamic_bestiary4.png


Confusion will show "NORM" for normal effect: It might have otherwise said "IMM" if the enemy was immune, for example.

dynamic_bestiary5.png


Robust error checking makes sure you never configure the bestiary in a way it can't effectively display; if this happens, it uses known safe defaults.

Wow, this looks amazing! When can I grab a copy?

I hope to have a demo within the next couple of months.

What can I use it for?

As with all my scripts that I post publically, you can use it for anything you want. Credit details will appear in the finished script.

Any suggestions for features are welcome!
 

CrazyCrab

Veteran
Veteran
Joined
Mar 5, 2014
Messages
950
Reaction score
405
First Language
Polish
One can never have too many bestiary scripts to choose from ;)

As suggestions go, personally I would love to see one with the ability to write a decent description of the monster and few scripts let you do that.

Something like that and a choice between two ''modules'' where one lets you write the text in the place where the status effects / drops are would be perfect for someone like me - I'd rather keep some info invisible to the player.

Anyway, good luck! 
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Well the whole point of the config is that you can choose not to have the status effects/drops if you don't want them, and you could certainly put something else in their place. I could easily incorporate a description field into it.
 
Joined
Aug 7, 2014
Messages
225
Reaction score
63
First Language
Spanish
Primarily Uses
Hmmm...This DOES look nice, but can this script make it so that only SOME enemies need recording and the rest are completely registered?

Or that you only get little bits of info just by encountering the enemy and then you have to fill in the rest?

Sometimes this method of making a bestiary is ok, but for completionists it's absolute hell and a source of much frustration, ESPECIALLY when there are missable enemies or ones that you fight only once.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Yeah, you'll be able to set it on a per-enemy basis so either they're revealed by default and you have to specify which ones aren't, or they're hidden by default and you specify which ones are revealed.
 

Silenity

Veteran
Veteran
Joined
Dec 17, 2013
Messages
708
Reaction score
302
First Language
English
Primarily Uses
RMMZ
-faint-

This is dope.
 

EternalShadow

Veteran
Veteran
Joined
Sep 16, 2012
Messages
5,781
Reaction score
1,043
First Language
English
Primarily Uses
Awesome - might not be able to use it in my upcoming game as I plan to have it released before this may be released, but I'll look into this for future games!

A suggestion: have parts able to be hidden such as elemental weaknesses (for games that don't use them) and adjust the formatting automatically as resulted.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
That's already included. ^_^
 

EternalShadow

Veteran
Veteran
Joined
Sep 16, 2012
Messages
5,781
Reaction score
1,043
First Language
English
Primarily Uses
That was quick o_o

Why two months to release, then?
 

Mako Star

Ex-Crisis Avenger
Veteran
Joined
Jul 21, 2014
Messages
98
Reaction score
81
First Language
English
Primarily Uses
Pretty cool. Looking forward to seeing it in action. Might be using this. Thanks for your work!

I can definitely see this being used in Pokemon games.
 
Last edited by a moderator:

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Hotfirelegend: Because not all of the stat evaluations are coded yet, I still need to do extensive testing with the smart-layout code, and then once it's all done it needs to be tested as a whole as well. :p
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,201
Reaction score
853
First Language
Hungarian
Primarily Uses
RMVXA
Looks cool! My bestiary works the same, except that stat calculating thing, that one is really original, something I have not seen in any bestiary script, and believe me, I tried hell of a lot of them. :D


As for suggestions:


Do you have something for enemy skills? If the enemy uses a skill in battle, that skill becomes visible in the bestiary, same like for dropped items, but with skills.


Instead of that ? shown for the picture when the enemy is not yet encountered, a custom "not yet encountered picture" for the enemy would do better for aesthetic purposes, in my opinion.


A "last seen at: map name" info could be very useful as well.


Ability to hide the windowskin and use pictures instead, because honestly, windows are boring. :D


Also take out that "safe-position checking" mechanism. Someone might actually want to put a window on top of another (taking into consideration that windowskins can be hidden). If not every info can be displayed in every single window, hiding the window and placing it on top of another at the position where the user would like it to be can be helpful. I know I did this for many custom scenes in my old project.


And that's it in short, I guess.


This script looks really promising. With a little aesthetic tune up, it can be made a beautiful and the most informative bestiary.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Sixth: Some great suggestions there which I will certainly take into account, thanks!

I think you're misunderstanding the function/purpose of the position checking: it doesn't stop you from layering windows on top of each other. What it stops you doing is anchoring windows to themselves, anchoring windows to ones that haven't been drawn yet, or putting things in such a layout that the information won't fit on the screen.
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,201
Reaction score
853
First Language
Hungarian
Primarily Uses
RMVXA
That anchoring concept is surely new to me. I'm not even sure if I understand it right. I will have to wait for the demo to know what that is, I guess.


But I feel more comfortable with direct X and Y positioning for sure.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Basically it allows you to say "I want the stats to be anchored to the top right of the elements" and it will anchor those two windows together no matter where you put stats.
 

StateAlchemist

State Alchemist of the Amestris
Veteran
Joined
Dec 22, 2018
Messages
37
Reaction score
3
First Language
english
Primarily Uses
RMVXA
Where is this script now ? I like to use this in my game . I`m using vx ace
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
3,752
Reaction score
2,848
First Language
English
Primarily Uses
RMMZ
Sorry StateAlchemist, I don't have a release version ready for use yet as this one went on hiatus for a while. If I do end up working on it again I'll let you know.
 

Latest Threads

Latest Posts

Latest Profile Posts

Sneak peak of my upcoming update! Who's holding her, you may ask? Find out tonight!
10.PNG
BCj
Finished another GUI! Turn indicator wasn't made by me.

ff981f8dc50b03cf58038c644334b454.jpg


3cb092fdc00087acfa0a190fd891f0ed.jpg
Added a small refining scene to my game.

It makes sense that you try to focus on the squishy mages at the back of the party first, right? If the mage can out-DPS the enemy DPS before the latter can kill the tank in front, the fight becomes boring.

Forum statistics

Threads
115,245
Messages
1,088,337
Members
149,845
Latest member
thefixall
Top