30 March 2009

Resource Converting

Because of the different formats used by the RPG Maker programs, it isn't possible to port resources over from RMXP to RMVX without first tweaking them. Otherwise, there will be some very strange side-effects. So, if you've created some really cool character sets for RMXP, they wouldn't automatically work in RMVX.

Thankfully, there are some nice utilities that make conversion easy.

  • RMVX Characterset Converter (RMVX): This awesome utility makes it possible to convert RMXP character sets to RMVX format, which can then be saved as BMP, JPG or PNG formats. You can even convert those old RM2K/3 charsets to RMVX formats. It can be downloaded here (download not available).
  • RM2K/3-To-RMXP Resource Converter (RMXP): As the title suggests, this utility converts those old RPG Maker 2000/3 resources to RMXP. I've used this on numerous occasions to make games compatible with RMXP. Note: When using this program, be sure to select the GAME folder for the resources to convert, NOT the resource folder itself. The utility can be downloaded from Kobra's Realm (download not available).
  • Charas.EX (RM2K/3): This utility allows you to create charsets from scratch or modify existing charsets. Although the utility is specifically for RM2K/3, charsets can be converted using the two utilities above. The program can be downloaded from Kobra's Realm (website not available) or charsets can be developed online at Charas Project.
  • RMXP Resource Wizard (RMXP): This program, in my opinion, is the definitive RM2K/3 to RMXP converter. With it, you can convert any RM2K/3 resource into a compatible RMXP format. You can download it from RPG Crisis (you will need a membership to access the file).

These are the only good resource converters I know about, but if I find (and test) any more I'll add them.
26 February 2009

Create Your Own Resources Online

If you're not a great graphic artist, like me, there are several websites that allow you to create your own, thus:

  • Character Sprite Generator (RMXP) - No longer available! This is an effective character creator, but is extremely limited on extras. I don't think it's been updated for a while either.
  • Chibi KYARATSUKURU (RMXP) - This is a more comprehensive character maker, Google-translated into English from its original Japanese version. I love creating characters here, even if none of them ever make it into games!
  • RPG Material - Character Generation (RMVX) - This is the ultimate RMVX character creator (and the only one as far as I know). Not only can you create your own characters by setting a series of options, but you can randomize characters. The output even has the appropriate facesets to use too!
  • RPG Material - Roof Chipset Maker (RMXP/RMVX) - No longer available! With this nifty resource tool, you can create your own rooftops for the main chipsets by manipulating a few options or randomizing them. The roof outputs can become part of the map chipsets.

While these are the best resources for creating RMXP/RMVX chipsets conveniently online, there are several methods for character sets and chipsets from older versions of RPG Maker compatible with RMXP/RMVX. I'll cover that in a future entry.
18 January 2009

RMXP Compatibility with Vista

One of the commonest questions I'm asked is whether RMXP is compatible with Windows Vista. The simple answer is "Yes and No". Rather than attempting to use RMXP on Vista (better in my opinion though it is), it's better to use RMVX for Vista machines.

One of the problems with Vista is that it is extremely buggy and is known for its incompatibility issues. Running RMXP on Vista machines is possible, but not without endless hours tweaking certain system settings so that it can at least work half the time.

A common problem is that RMXP seems to work, but then suddenly freezes at any point (usually when playtesting games) or it will produce some obscure error message. Usually when this happens, it's due to compatibility issues (either with the system itself or hardware conflicts).

One workaround is to make sure you have full Admin rights and change its permission to "Run compatibility mode for XP SP2". To set these options, this link will help. If there are any messages for updates, it's probably prudent to download and install them.

To determine whether RMXP will be compatible with your Vista system, you can check at the Microsoft Compatibility Check. Hopefully this should help run RMXP on Vista machines.

Create Your Own Characters

If you've ever wanted to create your own charsets for RM2K/3, but (like me) are not an artist, there are several resources available for doing just that. These are the best ones I've found:

  • Chara.EX - This is probably the best known site in the RM2K/3 community. Not only can you design characters online and save them onto your hard drive, you can also download an offline version too. Creating charsets with either method is quick, easy and fun.
  • Character Maker 1999 - With this neat program, you can edit any resource for RM2K/3, including adding status effects (if you know about transparencies). This program can also be used for producing resources for RMXP and RMVX.

Other programs that are useful for creating resources are:

  • Irfanview - This program is useful for cropping images and correcting transparency issues. In some games, it is possible to take snapshots, pasting and cropping them in Irfanview, then copying the cropped image and pasting the result in Character Maker 1999 to be further modified.
  • Paint Shop Pro - Now owned by Corel, Paint Shop Pro is the editor to use for more complex designs, but I'd recommend using version 7.04 (if you can find it) rather than the latest version, as it is cumbersome and unnecessarily complex. I usually use this program to design the Title and Game Over screens, then use Irfanview for final size modification.
17 January 2009

Create Your Own Resources

Sometimes the resources that come with RMXP are not enough and you might want to create your own. There are several websites and programs that allow such customization, thus:


Utilities

  • Dan's RMXP Tool - A useful tool for inspiration, which allows you to create names, titles, items, etc.
  • Move Event - This utility helps with programming complex character movements, which can otherwise be very tedious.
  • Character Maker - Allows the creation of sprites and character sets. (While this program is limited on features, some cool character sets can still be made from it.)
  • Face Maker - What's a character set without a matching face? This helps in creating such facesets for message boxes. (To download, you'll have to become a member of the forum, but it's well worth it!)

Online Creators

  • Character Sprite Generator - A good sprite/character maker for RMXP, but with limited resources. You can change the hair, eyes, clothing, etc.

8-Directional Movement (2K3)

This is a simple method for moving in 8 directions, rather than the standard 4 (up, down, left and right). This is not the best method, but it is workable, using the keypad, which means that Numlock must be on.

Knowledge Base

  • Common Events
  • Forks/Branch Conditions
  • Variables


Variables

We'll only need one variable for the movement system, 0001:Dir Move.

Common Events

Open the Database (F9) and create a new Common Event, 8-Dir Movement and set the "Trigger" to "Parallel Process". This means that it will run in the background until one of the movement keys is pressed. Leave the "Switch" blank.

In the "Event Commands" section, place the following commands:

  • First create a "Loop" (Tab 3), into which everything will be placed.
    <>Loop
    <>
    : <>End Loop
  • Next, we'll need to define the "Key Input Processing" (Tab 3), which will be stored in our variable 0001:Dir Move. Make sure the "Wait Until Key Pressed" option is checked and only the "Number Keys 0-9 (10-19)" is checked as well.

    <>Key Input Proc: [0001:Dir Move]

  • This is where things could become rather confusing, but it's not really that hard. Create 8 "Branch Conditions" with the "Else" option checked for each.

    Set the first condition to "Variable 0001:Dir Move, Number Equal To 11 (the numerical value for 1, i.e. down/left).
    <>Branch if Var [0001:Dir Move] is 11
    <>
    : Else Handler
    <>
    : End

    Under the "Branch if" create a "Move Event" (Tab 2) and set the movement to down/left using the "Move Down/Left", setting the "Move Event" to "Hero" (usually selected by default).

    <>Branch if Var [0001:Dir Move] is 11
    <>Move Event: Hero, Move Down/Left
    : Else Handler
    <>
    : End

    Under the "Else Handler", repeat the process, but change the variable number and movement in the "Move Event" command to correspond with the direction (i.e. with the second fork, the "Variable" would be set to 12 and the direction to "Down", but ignoring number 15. Continue all the way up to 19.
  • Finally, in the last "Else Handler" insert a "Break Loop" command (Tab 3).

Complete Code

<>Loop
<>Key Input Proc: [0001:Dir Move]
<>Branch if Var [0001:Dir Move] is 11
<>Move Event: Hero, Move Down/Left
: Else Handler
<>Branch if Var [0001:Dir Move] is 12
<>Move Event: Hero, Move Down
: Else Handler
<>Branch if Var [0001:Dir Move] is 13
<>Move Event: Hero, Move Down/Right
: Else Handler
<>Branch if Var [0001:Dir Move] is 14
<>Move Event: Hero, Move Left
: Else Handler
<>Branch if Var [0001:Dir Move] is 16
<>Move Event: Hero, Move Right
: Else Handler
<>Branch if Var [0001:Dir Move] is 17
<>Move Event: Hero, Move Up/Left
: Else Handler
<>Branch if Var [0001:Dir Move] is 18
<>Move Event: Hero, Move Up
: Else Handler
<>Branch if Var [0001:Dir Move] is 19
<>Move Event: Hero, Move Up/Right
: Else Handler
<>Break Loop
: End
: End
: End
: End
: End
: End
: End
: End
: End Loop

Notes

The downside to this method is that only the default movement keys (up, down, left and right) will repeat if they are held down. The other keys will need to be continuously pressed in order to move in that direction.
30 December 2008

Final Fantasy Mystic Quest Battlefield System Tutorial

FFMQ Battlefield Demo
Notice: As of 12 November 2009, this entry has been modified for use with RM2K3 (v1.08). It should be easy to adapt for earlier versions or RM2K. A demo is also available (as requested by Drake) from the panel on the right.

This tutorial teaches how to set up a multi battle system similar to the one used in Final Fantasy Mystic Quest, where you can clear out certain areas (represented by crossed swords in the game). It's a simple method that can easily be adapted for your game.

Knowledge Base

  • Common Events
  • Switches
  • Variables

Variables

Set up 3 Variables: Randomize, Num Battles and Battles Left. In this example, the variables are set to 1, 2 and 3 respectively.

Common Events

We will only need one Common Event for this (set up in the Database). Let's call it "Battle Check" and set its "Trigger" to "Call".

In the "Events Conditions":
  • Create a Conditional Branch (with an Else Handler) to check if the variable "Battles Left" is set to zero.
  • Under the Conditional Branch, create a message stating that the monsters have been cleared out.
  • Change the Switch "Cleared Out 1" to ON.
  • Then, under the Else Handler, create another message to display how many battles are remaining. We do this by adding the variable switch, \V[x], where x is the number of the "Battles Left" variable (in this case set to 3).
<>Branch if Var [0003:Battles Left] is 0
  <>Message:Monsters cleared out!
  <>Switch Operation:[0001:Cleared Out 1] ON
  <>
: Else Handler
  <>Message:Only \V[3] more battles left.
  <>
:End
<>

The Map

On the map (where you'd like the multi battles) to take place, we'll need to create several events. For this tutorial we'll only use one battlefield event, but you can modify it for more than one battlefield event.

Events


Inn Event
The first is called "Inn" for this tutorial. This is so that you can save or restore HP in between battles. Set the "Trigger Condition" to "Action Key" and the "Event Layer" to "Below".

  • Create a message saying, "What would you like to do?" or something similar.
  • Show Choices, with the options set as "Restore", "Save" and "Exit".
  • Under the "Rest Handler", set the screen tone to all zeroes with a wait time of 0.3s, Complete Healing, create a message that all HP and MP have been restored, and set the screen tone back to normal with a wait time of 0.3s.
  • Under the "Save Handler", open the Save Menu.
  • For the "Exit Handler", just leave blank.
<>Message:What would you like to do?
<>Show Choices: Rest/Save/Exit
: [Rest] Handler
  <>Tint Screen:[R000,G000,B000,S000],0.3 Sec (Wait)
  <>Full Heal: Entire Party
  <>Message:HP and MP Restored.
  <>Tint Screen[R100,G100,B100,S100],0.3 Sec(Wait)
  <>
:[Save] Handler
  <>Open Save Menu
  <>
:[Exit] Case
  <>
:END Case
<>

Battle Event
The next event is "Battle 1" (or something else to your liking), which is where the battles will take place until the monsters are cleared out. Set the "Trigger Condition" to "Touched By Hero" and the "Event Layer" to "Below Hero".

  • Change the variable "Randomize" to a random number between 1 and 3.
  • Next we will create 3 Condition Branch, each with a different number from 1 through 3. This is to make random monster parties. For this tutorial, we'll use the default Monster Groups: Plains 1, Forest 1 and Desert 1.
  • In the first Conditional Branch, which is based on the variable "Randomize" being set to the "same" as 1, start a combat with Plains 1 being set, with the "Defeat Handler" set to "Execute Custom Handler".
  • Under the "Victory" condition, set the variable "Battles Left" to subtract 1, then call "Battle Check".
  • Under the "Defeat" condition, set a message to display the final score, using the \V commands for the values stored in the "Battles Fought" and "Battles Left" variables. Also create a "Game Over" command here.
  • Finally, create a new page and make the &quout;Event Conditions" so that the Switch &quout;Cleared Out 1" is ON. This way, once all the monsters have been defeated there won't be any more.

Do the same thing with the other two Conditional Branches, changing the monster party and increasing the value of Randomize each time. The full code should look something like this:
<>Variable Oper: [0001:Randomize] Set, Rnd [1-3]
<>Branch if Var [0001:Randomize] is 1
  <>Enemy Encounter: Normal, Plains 1
    : Victory Handler
      <>Variable Oper:[0003:Battles Left] - , 1
      <>Call Event: Battle Check
      <>
    : Defeat Handler
      <>Message: Final Score
      :       \V[3] left out of \V[2]
      <>Game Over
      <>
    :END Case
    <>
  : ELSE Case
    <>Branch if Var [0001:Randomize] is 2
      <>Enemy Encounter: Normal, Forest 1
      : Victory Handler
        <>Variable Oper:[0003:Battles Left] - , 1
        <>Call Event: Battle Check
        <>
      : Defeat Handler
        <>Message: Final Score
        :       \V[3] left out of \V[2]
        <>Game Over
        <>
      :END Case
      <>
    : ELSE Case
      <>Branch if Var [0001:Randomize] is 3
        <>Enemy Encounter: Normal, Desert 1
        : Victory Handler
        <>Variable Ch:[xxxx:Battles Left] - , 1
        <>Call Event: Battle Check
        <>
      : DEFEAT
        <>Messg:Final Score
        :  :\V[3] left out of \V[2]
        <>Game Over
        <>
      :END Case
      <>
    :END Case
    <>
  :END Case
  <>
:END Case
<>

Set the "Event Graphics" to whatever you want for the Inn and Battlefield.


Pre-Define Event
The final event is to pre-define the starting variables.

Make a blank event in one corner with 2 pages. Set the "Trigger Condition" to "Auto-Start".

Page 1
In the "Event Commands":
  • Change the "Num Battles" variable to "Other" then the number of battles.
  • Change the "Battles Left" variable set to 5 (although you can increase or decrease this amount according to your preference).
  • Change the Switch "Battle Setup" to ON.

Page 2
Change the Switch (under "Preconditions") to "Battle Setup" and make sure the "Trigger Condition" is set to "Action Key". That way it won't keep repeating the event.


Modifications

Since this is only a one multi-battle event, you could easily add more by adding more variables (Battle 2, Battle 3, etc.) and changing the command preferences for each.

Rather than having an autostarting event that predefines the variables, you could make it a "Call Event" instead. That way, you can call it after a victory rather than having to rely on a switch to toggle it on/off.

You could also add a reward after all the monsters have been defeated, such as gold or a "special" item.
23 November 2008

Resource Templates

Here are some resource templates to make it much easier to design your own graphics for RPG Maker 2000 and 2003.

Character Set Template

Character Set TemplateEach charset comprises 12 squares, divided into 4 rows of 3 columns, representing the 3 animation frames for each direction.

The top row is where the character is moving upwards (north), the second row is moving right (east), the third is moving down (south), and the bottom row is moving left (west).

Charsets must be 288x256 in size and can contain up to 8 characters.


Chipset Template

Chipset Template -- Missing - No thanks to Image Sh**!Chipsets must be 480x256, comprising all of the components for maps.

The dark blue and black squares are where the water autotile animations go (an example of which is already present).

The orange and gray squares are used for additional animations, such as a flickering torch or lamp. Each row is one set of animations.

The blue and black squares are where the autotiles go, as for things like forest, grass, desert or carpet. Each individual autotile set comprises a 3x4 grid.

The red and dark blue squares are where the background tiles go, such as bushes and cities on a world map or furniture and decorations on an interior map.

Finally, the pink and blue squares are for the transparent foreground tiles go, such as windows, doors or pictures, which are also used for events. Note that the first pink square on the left must be kept as this is used for blank events.


Faceset Template

Faceset TemplateFacesets must be 192x192 in size. They are for providing a graphical "face" for message box conversations or items found.

Each square contains a single face, which can also be expressions representing surprise, anger, etc. This adds an extra dimension to the game.




These are the basic templates for RPG Maker, which are intended as a rough guide for creating your own templates. They are compatible with RM2K and RM2K3.
22 November 2008

RM2K3 Character Sets #1

These are a few charsets I created for RPG Maker 2000/3 using Character Maker 1999.

Click on the charset image (opens in a new window), then right-click and "Save Image As" to the hard drive. Do NOT save the images into your Project Charset folder. Import them instead.



Chara 1a
Chara 1a - RM2K3 Charset
Chara 1b
Chara 1b - RM2K3 Charset
Chara 1c
Chara 1c - RM2K3 Charset
Chara 1d
Chara 1d - RM2K3 Charset
Chara 1e
Chara 1e - RM2K3 Charset
Lunacy 1
Lunacy 1 - RM2K3 Charset
From a game I was working on.
Lunacy 2
Lunacy 2 - RM2K3 Charset
From a game I was working on.
Lunacy Chars
Lunacy Chars - RM2K3 Charset
From a game I was working on.



These are free to use. Credit would be appreciated, but it's really not necessary. No credit is required, though you can if you want to if you use any of these.

Blue Mage Skill -- Random Target

This is an expansion of the Blue Magic tutorial, but instead of targeting monsters in sequence (i.e. starting with the first monster then going onto the next after that monster is slain) we can create a routine where the target is randomly chosen.

Knowledge Base

  • Switches
  • Forks
  • Skills
  • Events Commands


Setting Up

  • Create the Blue Magic system as normal.
  • Create a suitable Battle Animation (optional).
  • Set up 2 variables: Mon1 HP and Mon2 HP.
  • Set up 2 switches: Mon1 and Mon2.


Random Target Setup

For this tutorial, there will need be two monsters in the Monster Party, preferably two different ones. We'll be using one Slime and one Spider for the purposes of this tutorial. Create 3 pages in the Battle Events commands.

Page 1

Trigger: Switch Learning ON

<>Variable Ch:[V[0041]] Set, 1:Tangle Weed HP
<>Variable Ch:[V[0042]] Set, 2:Wyrd Vine HP
<>Variable Ch:[0001:Randomizer] Set, Randm[1*2]
<>FORK Optn:Varbl[0001:Randomizer]-1
<>Change Switch : [0041:Mon1]-ON Set
<>
: ELSE Case
<>Change Switch : [0042:Mon2]-ON Set
<>
:END Case
<>

This places the Slime's HP into one variable and the Spider's HP into another variable, and also sets up a random number between 1 and two. Then, if the random number is 1, set the switch for the first monster (the Slime) to ON, otherwise set the switch for the second monster (the Spider) to ON.

Page 2

Trigger: Switch Mon1 ON, Learning ON

<>FORK Optn:Varbl[0041:Mon1 HP]-0
<>
Messg:Learning failed...
<>
: ELSE Case
<>FORK Optn:1:Slime-ActionPsb
<>Select Face Graphic: Eras
<>Show Battle Anim.:Scan, 1:Slime(W)
<>Messg:Slime has no learnable skills...
<>
:END Case
<>Change Switch:[0041:Mon1]-OFF Set
<>Change Switch:[0021:Learning]-OFF Set
<>Variable Ch:[0001:Randomizer] Set, 0
:END Case

The first FORK Option checks to see whether the monster is dead, i.e. that its HP (from the variable) is zero, and give a "failure" message. Otherwise, scan for any learnable skills, using the pre-determined battle animation targeted on the Slime. After the scan, the the switches and "randomizer" variable are reset.

Page 3

Trigger: Switch Mon2 ON, Learning ON

<>FORK Optn:Varbl[0042:Mon2 HP]-0
<>
<>Messg:Learning failed...
: ELSE Case
<>FORK Optn:2:Spider-ActionPsb
<>Select Face Graphic: Eras
<>Show Battle Anim.:Scan, 2:Spider
<>Variable Ch:[xxxx:Randomizer] Set, Randm[1*3]
<>FORK Optn:Switch[0023:BodyBlow] - ON
<>Messg:\C[6]Body Blow\C[0] already learned.
<>Change Skill: Hero-Body Blow-> Forget
:ELSE Case
<>FORK Optn:Varbl[xxxx:Randomizer]-2
<>Messg:New skill learned...
<>Change Skill: Hero-Body Blow-> Memory
<>Change Switch: [0023:BodyBlow]-ON Set
<>
:END Case
<>
:END Case
<>
:END Case
<>Change Switch:[0042:Mon2]-OFF Set
<>Change Switch:[0021:Learning]-OFF Set
<>Variable Ch:[0001:Randomizer] Set, 0

The same principle applies here as on Page 2. The only difference is that the Spider has a learnable skill, in this case "Body Blow".


Final Note

This can be very time-consuming, as each monster in the monster party requires a separate page. To add more monsters, set up additional variables and switches for the additional monsters, add another FORK Option (with an ELSE Case), and follow the same procedures above.
Related Posts with Thumbnails
Template Design "Perfect World" by SkinCorner