Jump to content


Photo

Monster Hunter


  • Please log in to reply
72 replies to this topic

#1 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 18 May 2012 - 01:31 AM

Monster Hunter - demo
Author: Tsukihime

Posted Image

Overview

This system allows you to capture monsters and recruit them as actors.
When a skill or item with "capture effect" is used to defeat the enemy, there is a chance of capturing the enemy.

Features
  • Capture enemies, recruit them as allies
  • Specify enemy faces
  • Specify enemy class names
  • Specify enemy character sprites
  • Recruit enemies using event calls
  • Compatible with Skill Select: just setup your enemies the same way you would with actors. This script must be placed above it.
  • Use a summon system to call captured enemies
Usage

Tag your items/skills/enemies with

<capture: x>

To give it x% chance of capturing. Integers only.

If an enemy can't be captured, tag it with

<no-capture>

When you defeat the monster, you will be brought to a results window with the monsters you captured.

Posted Image

Pressing OK will accept that monster as a new ally.
Pressing cancel will ignore it.

You can press left and right to scroll through your captures.

Configuration settings at the top.
Default capture skill is "attack" skill. Can specify multiple skills with capture effect.
This is hardcoded as an array right now, but eventually it will be an actual feature that you can assig n with note-tags and other things.

The window is a little plain right now, but eventually it will look like a proper recruiting window.

The following image shows that enemies can be set up right in the enemies tab, and (eventually) all of the stats/features will be transferred over to the actor.

Posted Image

As part of my experimental features I decided to add support for custom enemy faces and classes.
Just tag the enemies with

<class: custom_class_name> 
<face: FaceImage, index>
<char: CharImage, index> # character sprite

Right now I'm letting you specify a custom class name, but I'm thinking of forcing you to choose a valid class from the list of classes. Either way, all of the features will be transferred from the Enemy feature list to the new actor's feature list so you can just treat the enemy as your actor setup.

The face image is the one stored in the Graphics/Face folder and the index is the index on that image.

Downloads

Script: http://db.tt/YU0tVncr
Required: Custom Database

Edited by Tsukihime, 24 May 2012 - 12:25 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#2 Galv

Galv

    Forum Defender

  • Staff Manager/Global Mod
  • 4,944 posts
  • LocationAustralia
  • RM Skill - Jack of All Trades

Awards Bar:

Users Awards

Posted 18 May 2012 - 04:13 AM

This makes me want to make a monster game... it so doesn't fit into the game I am making now but I want to use it! haha

From the look of it, it could be good for those people who wanted to make pokemon games... Yanfly's party scripts mixed with this (assuming there's no conflicts) I can see making that work quite easily.

Those who toy with pure hearts
will someday be tried by pure hearts!

xwGfmy9.png


Spoiler

#3 shikami

shikami

    Newbie

  • Ace Member
  • 2 posts
  • Locationin your pant
  • RM Skill - Designer

Posted 18 May 2012 - 06:02 AM

wow monster capture system.. !! :o
agh must..not..use..it.. YET!!

#4 rgangsta

rgangsta

    The Handyman

  • + Premium Members
  • 400 posts
  • LocationBrooklyn, New York
  • RM Skill - Designer

Posted 18 May 2012 - 06:10 AM

Wow, that's real cool. Since I'm at school usong a MAC and I can't play the demo, I have some questions.
What is the process for catching a monster? Can it happen on the map or through battle? Both?

245j75u.jpg


#5 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 18 May 2012 - 10:18 AM

Both.
The process is very flexible

1: do you have battle captures?
2: if so, go to capture scene to resolve captures

"battle captures" is named poorly. Instead, it should be just "captures" in general, since you could obtain captures via events (eg: you complete a quest and someone gives you a monster).

For event captures, you just need to say "add_capture(enemy_id)" and it will automatically take you to the capture scene.

I'm planning on extending this so that you get a notification and you can choose to go to it if you want.

Edited by Tsukihime, 18 May 2012 - 10:23 AM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#6 Syndicate

Syndicate

    Omnomnom

  • Ace Member
  • 106 posts
  • LocationUnited Kingdom
  • RM Skill - Writer

Posted 18 May 2012 - 10:59 AM

Great work. Potential features to add:

Capture rates / chances (if health is higher than 50% then you have less chance to catch and it'll not be caught, stuff like that). Can also have states influencing it, like sleep, poison etc; increasing the success rate.

Random parameters when caught (so it's not like the database)

Different skills/items have a higher rate (again like great ball, ultra ball, master ball etc)

Yep, I'm basically linking this script directly for a pokemon game XD though it does have many other uses.

Epic stuff as always!

If some of these have been noted already then just ignore them :P

Posted Image


Posted Image


#7 Sly

Sly

    Advanced Member

  • Ace Member
  • 128 posts
  • LocationChicago
  • RM Skill - Writer

Posted 18 May 2012 - 02:06 PM

Nice one.

Maybe add an "egg" feature to hatch monsters too? Just thinking. Nice script.

#8 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 18 May 2012 - 02:19 PM

Script updated. I've made the recruit window a little more interactive.

I'm planning on cloning an instance of the Enemy object and modifying its parameters before I add them to the capture list. This allows you to customize details about the enemy.

Posted Image

This makes me want to make a monster game... it so doesn't fit into the game I am making now but I want to use it! haha


Obviously pirates capture other pirates and use them as hostages.
Though I imagine you could use a pirate recruiting system where you arbitrarily hire new crew.

Since custom data is now possible I can go ahead and work on my actor creation system.

Capture rates / chances (if health is higher than 50% then you have less chance to catch and it'll not be caught, stuff like that). Can also have states influencing it, like sleep, poison etc; increasing the success rate.


The capture rate will use a formula based on both the user's params/state (eg: luk), the skill/item's capture rate, and enemy parameters and states as well as capture rate.

Though, anyone want to come up with the formula?

Random parameters when caught (so it's not like the database)


The enemy parameters in the database will serve as "base stats".
Though there may be scripts that alter an enemy's stats, so I'm not sure what I'll do with this.

Different skills/items have a higher rate (again like great ball, ultra ball, master ball etc)


Notetags will specify the "capture rate" of the skill/item. By default it is 0, meaning you can't capture with it

Nice one.

Maybe add an "egg" feature to hatch monsters too? Just thinking. Nice script.


I don't think I'll be adding an egg feature to this script cause this script provides generic "capture" and enemy-->actor creation.

Eggs are kind of something else entirely, even though you could technically receive an egg after capturing a monster.

Edited by Tsukihime, 18 May 2012 - 04:14 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#9 fgfgfdg

fgfgfdg

    >.>

  • Ace Member
  • 47 posts
  • RM Skill - Pixel Artist

Posted 18 May 2012 - 08:29 PM

Anyway there can be a spell, that summons the monster you recruited, then it goes away after x turns.

#10 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 19 May 2012 - 02:50 PM

Anyway there can be a spell, that summons the monster you recruited, then it goes away after x turns.


I've implemented it in my Battle Summon script.

It provides an extension to Monster Hunter by adding all captured monsters to the Summon list. Then you can call them using summon skills.

Posted Image

Edited by Tsukihime, 19 May 2012 - 02:51 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#11 Ouendan

Ouendan

    はい、そうです。

  • Ace Member
  • 16 posts
  • LocationGermany and then again USA
  • RM Skill - Writer

Posted 19 May 2012 - 03:04 PM

SWEEEEET... sadly I cant use it right now -.-

#12 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 24 May 2012 - 12:26 PM

I've updated it with capture rates.
Items, skills, and enemies can be tagged with

<capture: x>

Where x is some integer >= 0. this is the percent chance of capturing the enemy. No support for percent signs.

If an enemy can't be captured, tag it with

<no-capture>

Note that an enemy must *die* in order to be captured, which is pretty bad design.
The last skill that was used to defeat the enemy is used to resolve capture.

Edited by Tsukihime, 24 May 2012 - 12:29 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#13 MachRiderZ

MachRiderZ

    Newbie

  • Ace Member
  • 9 posts
  • RM Skill - Jack of All Trades

Posted 28 May 2012 - 02:43 PM

Wow, and I was just thinking about a few concepts with something like this!
Thanks a ton! I'll be playing around with this!
Posted Image

#14 Ventwig

Ventwig

    Advanced Member

  • Ace Member
  • 358 posts
  • RM Skill - Coder

Posted 29 May 2012 - 04:29 PM

can you capture the same monster more than once at a time like in pokemon?
Or do you need to release that monster before you get a new one?

Also, does it count as a new actor so you might go over 999?

VTS- Ventwig's Turquoise Symphony

(VTS- Because everyone needs an obnoxious acronym to go with them!)

Spoiler

 

And my other scripts:

Spoiler

#15 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 29 May 2012 - 05:01 PM

There is no dupe check, though there probably should be an option to prevent dupes.

There shouldn't be an issue with going over 999 actors.
The database limit only applies when you're using the editor.

Edited by Tsukihime, 29 May 2012 - 05:05 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#16 Rain

Rain

    The Guy Who's Over There

  • Ace Member
  • 32 posts
  • LocationOver There
  • RM Skill - Writer

Posted 03 June 2012 - 07:25 AM

Is there a way to make it work with Yanfly's Victory Aftermath (maybe a patch or something)? I don't know much about programming, but I think that the Aftermath script needs to read this part: <face: FaceImage, index>
I got bored again, so made my first sig with a real-life picture. This one is of my cat when he was younger. Since I don't know how to render, it looks kind of weird... Anyway, I'm still experimenting with the cloud/text effects, so w/e.

Spoiler

#17 Lanechology

Lanechology

    Member

  • Ace Member
  • 23 posts
  • LocationViet Nam
  • RM Skill - Writer

Posted 03 June 2012 - 09:34 AM

Damn This's so cool O_O~! Thanks you very much Tsuki :lol:

Edited by Lanechology, 03 June 2012 - 09:34 AM.


#18 Terra

Terra

    Newbie

  • Ace Member
  • 4 posts

Posted 03 June 2012 - 09:18 PM

I'm having a problem. I have tried modifying the script, but no matter what I try it always has a 100% capture rate.
I tried changing the hard coded capture setting to 5 yet it still is 100% rate when ingame.

#19 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 03 June 2012 - 11:07 PM

def is_captured?
    return false unless @last_hit_item
    return false if @no_capture
    @last_hit_item.capture_rate + @capture_rate - rand(100) > 0
  end

The last line is the formula I used for calculating whether an enemy was captured or not.
I'm not sure what a good default capture rate would be.

By default it is 100 and is initialized in RPG::Enemy

Edited by Tsukihime, 03 June 2012 - 11:18 PM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks

#20 Tsukihime

Tsukihime

    Advanced Member

  • Ace Member
  • 6,245 posts
  • LocationToronto
  • RM Skill - Coder

Awards Bar:

Users Awards

Posted 04 June 2012 - 11:07 AM

Is there a way to make it work with Yanfly's Victory Aftermath (maybe a patch or something)? I don't know much about programming, but I think that the Aftermath script needs to read this part: <face: FaceImage, index>


The issue is that yanfly isn't initializing any of his RPG objects so when I create a new actor, none of those variables are there. It is simple to overlook, especially when you assume no new objects are being created.

Just add this to the end of the the script

if $imported["Tsuki_MonsterHunter"]
  class RPG::BaseItem    
    alias :th_monster_hunter_init_baseitem :initialize
    def initialize
      th_monster_hunter_init_baseitem
      load_notetags_va
    end
  end
end

This issue exists with all of his scripts that modify RPG objects,

Edited by Tsukihime, 04 June 2012 - 11:14 AM.

My Scripts. Go here for Bugs and Requests.

himeworks011.png

Like on Facebook: HimeWorks
Follow on Twitter: @HimeWorks




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users