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.
Related Posts with Thumbnails
Template Design "Perfect World" by SkinCorner