Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

How to use RGSS2 or RGSS3 with RPG Maker XP

How to use RGSS2 or RGSS3 with RPG Maker XP
By Dargor

This tutorial will guide you step by step and show you how to implement RGSS2 or RGSS3 and all its cool features into RPG Maker XP.

Requirements

The only thing you need is RPG Maker VX (or VX Ace for RGSS3).
In this tutorial, we will need the following files located in RPG Maker VX/Ace game directories:
- VX: Game.exe and RGSS202E.dll
- Ace: Game.exe and RGSS300.dll

Conversion Table

RPG Maker XP, VX and Ace all share the same structure. Most of the time the only diferrence is the name of the files. This table is here to help you understant which files you need to use depending on the version of RPG Maker you are using.
RPG Maker XP:
- Game Executable: Game.exe
- RGSS Library: RGSS1xxE.dll (replace 1xx by the version you are using. I.E.: 1.04 would be RGSS104E.dll)
- Game Archive: Game.rgssad

RPG Maker VX:
- Game Executable: Game.exe
- RGSS Library: RGSS2xxE.dll (replace 2xx by the version you are using. I.E.: 2.02 would be RGSS202E.dll)
- Game Archive: Game.rgss2a

RPG Maker VX Ace:
- Game Executable: Game.exe
- RGSS Library: RGSS3xx.dll (replace 3xx by the version you are using. I.E.: 3.01 would be RGSS301.dll. Ace does not have a different library depending on the language, so the E or J at the end is not needed anymore)
- Game Archive: Game.rgss3a

Step 1 - RTP

If you are using the default RTP, copy/paste all of them into your game folder

Step 2 - RGSS Library, Game.exe and Encrypted Archive

A) The first thing we want is the RGSS Library used by the target RPG Maker (VX or Ace). Copy/paste the dll mentioned above in your game folder and rename it RGSS102E.dll. Note that the name of the DLL might change depending on the version of RPG Maker XP you are using. At the time this tutorial was written, I was using version 1.02 so I had to rename the DLL to RGSS102E. But if you're running version 1.04, then rename the DLL RGSS104E.dll. RMXP will first check your game folder for the needed libraries before checking the folder where you installed the software. Each time you save with RPG Maker, it rewrites Game.ini and changes the Library name (RGSS102E.dll in the case of RMXP. Don't forget, the name of the DLL difers depending on the version opr RPG Maker XP!). So by doing this, you don't need to change the name of the library in Game.ini each time you save your game. However, if you want to replace/move/do whatever with the DLL, make sure it's really the one you want.

B) RPG Maker needs to initialize the right process in order to run the game. (in this case it's Game.exe) Using Game.exe from XP obviously won't work because it was designed for RGSS1. So, all you need to do is replace XP Game.exe with VX/Ace Game.exe.

C) If you try to compile your game and then run the compiled game, you will encounter an error saying "Failed to load scripts". This is because the encrypted games using RGSS2/RGSS3 are looking for the file Game.rgss2a/Game.rgss3a. With XP, the file extension is *.rgssad. Simply rename Game.rgssad to Game.rgss2a or Game.rgss3a if you want RGSS3.

Step 3 - Scripts

A) Open RMXP
B) Open the Help Manual (F1)
C) Open the Script Editor (F11)
D) Copy all RPG objects from the Help Manual into the Script Editor. Make sure to put all of these scripts ABOVE everything else.
Note that RPG::MoveCommand has an error.

Here's how it looks in the manual:
Code:
module RPG

  class MoveCommand(code = 0, parameters = [])

    def initialize

      @code = code

      @parameters = parameters

    end

    attr_accessor :code

    attr_accessor :parameters

  end

end

Here's how it should look like:
Code:
module RPG

  class MoveCommand

    def initialize(code = 0, parameters = [])

      @code = code

      @parameters = parameters

    end

    attr_accessor :code

    attr_accessor :parameters

  end

end

E) Some hidden classes such as Tilemap or Window have changed in VX and probably won't work anymore. The most important thing to update here is the Tilemap.
There's already a couple of Tilemap class rewrites here so pick the one that suites you best. I personally recommend you Poccil's Tilemap rewrite.
This Tilemap class is faster and allow to have maps larger than 64x64. See RMXP + RGSS2 Bitmap bug for more information. Note that RGSS3 does not have this limitation.

Optionally, you can also use a Window class rewrite. The format of windowskins has changed so if you want to use XP's format, you can use Sewlyn's Window class or any other. If you want to keep it simple, adapt your windowskin to the VX format.

Step 4 - $DEBUG/$TEST Flags

In RPGVX/Ace, $DEBUG changed to $TEST. In the Main script, Right below "begin", add the following line:

$DEBUG = $TEST = true

If you don't want to be in debug mode, set these variables to false.
Don't forget to remove this line when publishing your game!


Known Bugs and Issues
It seems that RGSS2 cannot handle bitmaps larger than 2048x2048. However, RGSS3 does not have this issue.
If you are using SephirothSpawn's Tilemap class (the most recent one), you will not be able to make maps larger than 64x64.

Demo
http://rapidshare.com/files/76211589/rpgxp_rgss2.rar.html

Enjoy it!
-Dargor
 
Thanks, although... based upon the RMXP license, are we actually allowed to do that with the RTP? I'm under the impression that we're not, though I may be mistaken, as I don't have the RMVX legal documents before me right now...
 
I don't really see a point of doing this, because mostly what RGSS2 is doing is to accustom for RPG Maker VX's new features and changes if I am not mistaken (correct me if I am wrong). If you use this then I believe it will cause some serious compatibility issues.
 
@SephirothSpawn, RPG Wizard
I'm sure there will be a couple of problems but so far, I got no errors. I tried it with my FFVI SDK and its working great.
I'm using the RMXP SDK 2.3, MACL 2.0 and a lot more. I'm still experimenting a few things but as I said, so far, nothing went wrong.

What errors are you expecting?

@Atemu
Try to use Sewlyn's Rewritten Window script, it should solve the problem.

@King Moogle
As far as I know, it's not illegal. I might be wrong though.
If it is, then I will ask a mod to delete this topic.
 
I just found something odd with that. You can't make a map bigger than 64x64 with RGSS2 if you are using Seph's tilemap class (the most recent one).
I tried a couple of thing in VX and it seems that VX bitmap class cannot create bitmaps larger than 2048x2048. However, RPGXP can.
So, the reason why you can't make maps larger than 64x64 is because Seph's tilemap class creates 3 bitmaps for the 3 map layers. That means if your map size is 500x500, 3 bitmaps of 16000x16000 will be drawn and RGSS2 cannot handle that.

*Updating the first post*
 
I don't know where the RPG objects are in the help manual.
And can you upload the demo to a reliable host. Rapidshare will delete your files rapidly.
 
I can't upload the file right now but I should be able to upload it on my website tonight.
To find the RPG objects, simply go in the help manual in the research tab and type RPG.
RPG::Cache
RPG::Sprite
RPG::Weather
RPG::Map
RPG::MapInfo
RPG::Event
RPG::Event::Page
RPG::Event::Page::Condition
RPG::Event::Page::Graphic
RPG::EventCommand
RPG::MoveRoute
RPG::MoveCommand
RPG::Actor
RPG::Class
RPG::Class::Learning
RPG::Skill
RPG::Item
RPG::Weapon
RPG::Armor
RPG::Enemy
RPG::Enemy::Action
RPG::Troop
RPG::Troop::Member
RPG::Troop::Page
RPG::Troop::Page::Condition
RPG::State
RPG::Animation
RPG::Animation::Frame
RPG::Animation::Timing
RPG::Tileset
RPG::CommonEvent
RPG::System
RPG::System::Words
RPG::AudioFile
 
Hey, just been playing around with it and wanted to ask a couple of questions.

1. How do I change the screen resolution at startup?
2. Does this mean that RMXP scripts (such as CBSs, Mode07, etc) won't work?

EDIT: 3. How would I go about changing the map scrolling to suit the different resolutions (so it doesn't stop too early or too late)?


EDIT2: RMVX Style Menu Blurring

Quite simply comment out both the Player Time and Player Steps (including update and dispose), move the Gold window up to where the Player Time used to be, then copy and past this under def main:
    @spriteset = Spriteset_Map.new
    b = Graphics.snap_to_bitmap
    sprite = Sprite.new
    b.blur
    sprite.bitmap = b
EDIT2b: Actually, DON'T move the gold window. After looking at VX screenshots again, the gold window seems to stay at the bottom.

Yes, all I did was copy and paste the event (changing "radial_blur" to just "blur" with no numbers after it) into the menu, but it's still a nifty effect.

EDIT3:
http://img89.imageshack.us/img89/4455/b ... uxphp8.png[/img]
 
Ok, so I followed the instructions and got it to work but there's a problem.

http://i199.photobucket.com/albums/aa165/zenometal/anim007.jpg[/img]

http://i199.photobucket.com/albums/aa16 ... nim053.jpg[/img]

The game window became 544x416 pixels like in VX but it seems the viewport is still 640x480. I tried different custom resolution scripts but it didn't fix the problem. Also, I noticed in the Final Fantasy VI SDK II demo that the window was resized upon starting the game, so how would I go about doing that?
 
What does this exactly DO?
Make XP more like VX? Will it ruin the sprites and graphics into those little dots that VX has?
 
No, all it does it give RMXP RGSS2 capabilities.

Just look at the above screenshot I posted. Here, you can see RMXP using RMVX's screen blurring. Other features you can use include the 60fps rate (it really does work) and the custom resolution.

A side effect to doing this, as stated in the first post, is that the window skin system is replaced by VX's. To solve this you can either use a VX window skin (like I have done in my screenshot, which I think looks nicer than RMXP windowskins anyway) or use a script that will fix it (i'm sure one is provided in the first post).
EDIT: Something else I noticed is that it also seems to replace the default font with VX's, which again I think looks better than XP's.

Just download the demo and try it. It's seriously really cool. When it comes to graphics the only thing that will change is the windowskin (which I explained above); everything else stays completely intact.


With that said, how do you change the starting screensize at loadup?
 
I totally forgot about this thread >.<
Sorry guys.

As I previously said, as long as you follow the instructions above, RGSS2 won't ruin everything. If you're using a resolution lower than 640x480, the player won't be centered and the scrolling effect will work as if the resolution was 640x480.

To change the resolution at the begining of the game, go in Main and just below 'begin' add
Code:
Graphics.resize_screen(640,480)
 
This is great! It takes everything thats good from vx into xp which is the perfect maker. But I got a question, when in fullscreen there are black borders. And I think that looks cool but when you wanna explore more of the map the character just dissapear into the black frame. Any script fixes to that?
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top